modernc.org/xrender@v1.0.9/lib/xrender_linux_arm.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_arm.go -pkgname xrender -trace-translation-units /tmp/go-generate-633162370/cdb.json libXrender.a', DO NOT EDIT. 2 3 package xrender 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 11 "modernc.org/libc" 12 "modernc.org/libc/sys/types" 13 "modernc.org/x11/lib" 14 ) 15 16 var _ = math.Pi 17 var _ reflect.Kind 18 var _ atomic.Value 19 var _ unsafe.Pointer 20 var _ *libc.TLS 21 var _ types.Size_t 22 23 const ( 24 Above = 0 25 AllHints = 127 26 AllTemporary = 0 27 AllValues = 0x000F 28 AllocAll = 1 29 AllocNone = 0 30 AllowExposures = 1 31 AlreadyGrabbed = 1 32 Always = 2 33 AnyButton = 0 34 AnyKey = 0 35 AnyModifier = 32768 36 AnyPropertyType = 0 37 ArcChord = 0 38 ArcPieSlice = 1 39 AsyncBoth = 6 40 AsyncKeyboard = 3 41 AsyncPointer = 0 42 AutoRepeatModeDefault = 2 43 AutoRepeatModeOff = 0 44 AutoRepeatModeOn = 1 45 B16 = 0 46 B32 = 0 47 BIG_ENDIAN = 4321 48 BUFSIZE = 2048 49 BYTE_ORDER = 1234 50 BadAccess = 10 51 BadAlloc = 11 52 BadAtom = 5 53 BadColor = 12 54 BadCursor = 6 55 BadDrawable = 9 56 BadFont = 7 57 BadGC = 13 58 BadGlyph = 4 59 BadGlyphSet = 3 60 BadIDChoice = 14 61 BadImplementation = 17 62 BadLength = 16 63 BadMatch = 8 64 BadName = 15 65 BadPictFormat = 0 66 BadPictOp = 2 67 BadPicture = 1 68 BadPixmap = 4 69 BadRequest = 1 70 BadValue = 2 71 BadWindow = 3 72 Below = 1 73 BitmapFileInvalid = 2 74 BitmapNoMemory = 3 75 BitmapOpenFailed = 1 76 BitmapSuccess = 0 77 BottomIf = 3 78 Button1 = 1 79 Button1Mask = 256 80 Button1MotionMask = 256 81 Button2 = 2 82 Button2Mask = 512 83 Button2MotionMask = 512 84 Button3 = 3 85 Button3Mask = 1024 86 Button3MotionMask = 1024 87 Button4 = 4 88 Button4Mask = 2048 89 Button4MotionMask = 2048 90 Button5 = 5 91 Button5Mask = 4096 92 Button5MotionMask = 4096 93 ButtonMotionMask = 8192 94 ButtonPress = 4 95 ButtonPressMask = 4 96 ButtonRelease = 5 97 ButtonReleaseMask = 8 98 CPAlphaMap = 2 99 CPAlphaXOrigin = 4 100 CPAlphaYOrigin = 8 101 CPClipMask = 64 102 CPClipXOrigin = 16 103 CPClipYOrigin = 32 104 CPComponentAlpha = 4096 105 CPDither = 2048 106 CPGraphicsExposure = 128 107 CPLastBit = 12 108 CPPolyEdge = 512 109 CPPolyMode = 1024 110 CPRepeat = 1 111 CPSubwindowMode = 256 112 CURSORFONT = "cursor" 113 CWBackPixel = 2 114 CWBackPixmap = 1 115 CWBackingPixel = 256 116 CWBackingPlanes = 128 117 CWBackingStore = 64 118 CWBitGravity = 16 119 CWBorderPixel = 8 120 CWBorderPixmap = 4 121 CWBorderWidth = 16 122 CWColormap = 8192 123 CWCursor = 16384 124 CWDontPropagate = 4096 125 CWEventMask = 2048 126 CWHeight = 8 127 CWOverrideRedirect = 512 128 CWSaveUnder = 1024 129 CWSibling = 32 130 CWStackMode = 64 131 CWWidth = 4 132 CWWinGravity = 32 133 CWX = 1 134 CWY = 2 135 CapButt = 1 136 CapNotLast = 0 137 CapProjecting = 3 138 CapRound = 2 139 CenterGravity = 5 140 CirculateNotify = 26 141 CirculateRequest = 27 142 ClientMessage = 33 143 ClipByChildren = 0 144 ColormapChangeMask = 8388608 145 ColormapInstalled = 1 146 ColormapNotify = 32 147 ColormapUninstalled = 0 148 Complex = 0 149 ConfigureNotify = 22 150 ConfigureRequest = 23 151 ControlMapIndex = 2 152 ControlMask = 4 153 Convex = 2 154 CoordModeOrigin = 0 155 CoordModePrevious = 1 156 CopyFromParent = 0 157 CreateNotify = 16 158 CurrentTime = 0 159 CursorShape = 0 160 DefaultBlanking = 2 161 DefaultExposures = 2 162 DestroyAll = 0 163 DestroyNotify = 17 164 DirectColor = 5 165 DisableAccess = 0 166 DisableScreenInterval = 0 167 DisableScreenSaver = 0 168 DoBlue = 4 169 DoGreen = 2 170 DoRed = 1 171 DontAllowExposures = 0 172 DontCareState = 0 173 DontPreferBlanking = 0 174 E2BIG = 7 175 EACCES = 13 176 EADDRINUSE = 98 177 EADDRNOTAVAIL = 99 178 EADV = 68 179 EAFNOSUPPORT = 97 180 EAGAIN = 11 181 EALREADY = 114 182 EBADE = 52 183 EBADF = 9 184 EBADFD = 77 185 EBADMSG = 74 186 EBADR = 53 187 EBADRQC = 56 188 EBADSLT = 57 189 EBFONT = 59 190 EBUSY = 16 191 ECANCELED = 125 192 ECHILD = 10 193 ECHRNG = 44 194 ECOMM = 70 195 ECONNABORTED = 103 196 ECONNREFUSED = 111 197 ECONNRESET = 104 198 EDEADLK = 35 199 EDEADLOCK = 35 200 EDESTADDRREQ = 89 201 EDOM = 33 202 EDOTDOT = 73 203 EDQUOT = 122 204 EEXIST = 17 205 EFAULT = 14 206 EFBIG = 27 207 EHOSTDOWN = 112 208 EHOSTUNREACH = 113 209 EHWPOISON = 133 210 EIDRM = 43 211 EILSEQ = 84 212 EINPROGRESS = 115 213 EINTR = 4 214 EINVAL = 22 215 EIO = 5 216 EISCONN = 106 217 EISDIR = 21 218 EISNAM = 120 219 EKEYEXPIRED = 127 220 EKEYREJECTED = 129 221 EKEYREVOKED = 128 222 EL2HLT = 51 223 EL2NSYNC = 45 224 EL3HLT = 46 225 EL3RST = 47 226 ELFlagFocus = 1 227 ELFlagSameScreen = 2 228 ELIBACC = 79 229 ELIBBAD = 80 230 ELIBEXEC = 83 231 ELIBMAX = 82 232 ELIBSCN = 81 233 ELNRNG = 48 234 ELOOP = 40 235 EMEDIUMTYPE = 124 236 EMFILE = 24 237 EMLINK = 31 238 EMSGSIZE = 90 239 EMULTIHOP = 72 240 ENAMETOOLONG = 36 241 ENAVAIL = 119 242 ENETDOWN = 100 243 ENETRESET = 102 244 ENETUNREACH = 101 245 ENFILE = 23 246 ENOANO = 55 247 ENOBUFS = 105 248 ENOCSI = 50 249 ENODATA = 61 250 ENODEV = 19 251 ENOENT = 2 252 ENOEXEC = 8 253 ENOKEY = 126 254 ENOLCK = 37 255 ENOLINK = 67 256 ENOMEDIUM = 123 257 ENOMEM = 12 258 ENOMSG = 42 259 ENONET = 64 260 ENOPKG = 65 261 ENOPROTOOPT = 92 262 ENOSPC = 28 263 ENOSR = 63 264 ENOSTR = 60 265 ENOSYS = 38 266 ENOTBLK = 15 267 ENOTCONN = 107 268 ENOTDIR = 20 269 ENOTEMPTY = 39 270 ENOTNAM = 118 271 ENOTRECOVERABLE = 131 272 ENOTSOCK = 88 273 ENOTSUP = 95 274 ENOTTY = 25 275 ENOTUNIQ = 76 276 ENXIO = 6 277 EOPNOTSUPP = 95 278 EOVERFLOW = 75 279 EOWNERDEAD = 130 280 EPERM = 1 281 EPFNOSUPPORT = 96 282 EPIPE = 32 283 EPROTO = 71 284 EPROTONOSUPPORT = 93 285 EPROTOTYPE = 91 286 ERANGE = 34 287 EREMCHG = 78 288 EREMOTE = 66 289 EREMOTEIO = 121 290 ERESTART = 85 291 ERFKILL = 132 292 EROFS = 30 293 ESHUTDOWN = 108 294 ESOCKTNOSUPPORT = 94 295 ESPIPE = 29 296 ESRCH = 3 297 ESRMNT = 69 298 ESTALE = 116 299 ESTRPIPE = 86 300 ETIME = 62 301 ETIMEDOUT = 110 302 ETOOMANYREFS = 109 303 ETXTBSY = 26 304 EUCLEAN = 117 305 EUNATCH = 49 306 EUSERS = 87 307 EWOULDBLOCK = 11 308 EXDEV = 18 309 EXFULL = 54 310 EXIT_FAILURE = 1 311 EXIT_SUCCESS = 0 312 EastGravity = 6 313 EnableAccess = 1 314 EnterNotify = 7 315 EnterWindowMask = 16 316 EvenOddRule = 0 317 Expose = 12 318 ExposureMask = 32768 319 FARCSPERBATCH = 256 320 FD_SETSIZE = 1024 321 FRCTSPERBATCH = 256 322 FUNCPROTO = 15 323 False = 0 324 FamilyChaos = 2 325 FamilyDECnet = 1 326 FamilyInternet = 0 327 FamilyInternet6 = 6 328 FamilyServerInterpreted = 5 329 FillOpaqueStippled = 3 330 FillSolid = 0 331 FillStippled = 2 332 FillTiled = 1 333 FilterAliasNone = -1 334 FilterBest = "best" 335 FilterBilinear = "bilinear" 336 FilterConvolution = "convolution" 337 FilterFast = "fast" 338 FilterGood = "good" 339 FilterNearest = "nearest" 340 FirstExtensionError = 128 341 FocusChangeMask = 2097152 342 FocusIn = 9 343 FocusOut = 10 344 FontChange = 255 345 FontLeftToRight = 0 346 FontRightToLeft = 1 347 ForgetGravity = 0 348 GCArcMode = 4194304 349 GCBackground = 8 350 GCCapStyle = 64 351 GCClipMask = 524288 352 GCClipXOrigin = 131072 353 GCClipYOrigin = 262144 354 GCDashList = 2097152 355 GCDashOffset = 1048576 356 GCFillRule = 512 357 GCFillStyle = 256 358 GCFont = 16384 359 GCForeground = 4 360 GCFunction = 1 361 GCGraphicsExposures = 65536 362 GCJoinStyle = 128 363 GCLastBit = 22 364 GCLineStyle = 32 365 GCLineWidth = 16 366 GCPlaneMask = 2 367 GCStipple = 2048 368 GCSubwindowMode = 32768 369 GCTile = 1024 370 GCTileStipXOrigin = 4096 371 GCTileStipYOrigin = 8192 372 GXand = 0x1 373 GXandInverted = 0x4 374 GXandReverse = 0x2 375 GXclear = 0x0 376 GXcopy = 0x3 377 GXcopyInverted = 0xc 378 GXequiv = 0x9 379 GXinvert = 0xa 380 GXnand = 0xe 381 GXnoop = 0x5 382 GXnor = 0x8 383 GXor = 0x7 384 GXorInverted = 0xd 385 GXorReverse = 0xb 386 GXset = 0xf 387 GXxor = 0x6 388 GenericEvent = 35 389 GrabFrozen = 4 390 GrabInvalidTime = 2 391 GrabModeAsync = 1 392 GrabModeSync = 0 393 GrabNotViewable = 3 394 GrabSuccess = 0 395 GraphicsExpose = 13 396 GravityNotify = 24 397 GrayScale = 1 398 HAVE_CONFIG_H = 1 399 HAVE_DLFCN_H = 1 400 HAVE_INTTYPES_H = 1 401 HAVE_MEMORY_H = 1 402 HAVE_STDINT_H = 1 403 HAVE_STDLIB_H = 1 404 HAVE_STRINGS_H = 1 405 HAVE_STRING_H = 1 406 HAVE_SYS_STAT_H = 1 407 HAVE_SYS_TYPES_H = 1 408 HAVE_UNISTD_H = 1 409 HeightValue = 0x0008 410 HostDelete = 1 411 HostInsert = 0 412 INT16_MAX = 32767 413 INT16_MIN = -32768 414 INT32_MAX = 2147483647 415 INT32_MIN = -2147483648 416 INT64_MAX = 9223372036854775807 417 INT64_MIN = -9223372036854775808 418 INT8_MAX = 127 419 INT8_MIN = -128 420 INTMAX_MAX = 9223372036854775807 421 INTMAX_MIN = -9223372036854775808 422 INTPTR_MAX = 2147483647 423 INTPTR_MIN = -2147483648 424 INT_FAST16_MAX = 2147483647 425 INT_FAST16_MIN = -2147483648 426 INT_FAST32_MAX = 2147483647 427 INT_FAST32_MIN = -2147483648 428 INT_FAST64_MAX = 9223372036854775807 429 INT_FAST64_MIN = -9223372036854775808 430 INT_FAST8_MAX = 127 431 INT_FAST8_MIN = -128 432 INT_LEAST16_MAX = 32767 433 INT_LEAST16_MIN = -32768 434 INT_LEAST32_MAX = 2147483647 435 INT_LEAST32_MIN = -2147483648 436 INT_LEAST64_MAX = 9223372036854775807 437 INT_LEAST64_MIN = -9223372036854775808 438 INT_LEAST8_MAX = 127 439 INT_LEAST8_MIN = -128 440 IconMaskHint = 32 441 IconPixmapHint = 4 442 IconPositionHint = 16 443 IconWindowHint = 8 444 IconicState = 3 445 InactiveState = 4 446 IncludeInferiors = 1 447 InputFocus = 1 448 InputHint = 1 449 InputOnly = 2 450 InputOutput = 1 451 IsUnmapped = 0 452 IsUnviewable = 1 453 IsViewable = 2 454 JoinBevel = 2 455 JoinMiter = 0 456 JoinRound = 1 457 KBAutoRepeatMode = 128 458 KBBellDuration = 8 459 KBBellPercent = 2 460 KBBellPitch = 4 461 KBKey = 64 462 KBKeyClickPercent = 1 463 KBLed = 16 464 KBLedMode = 32 465 KeyPress = 2 466 KeyPressMask = 1 467 KeyRelease = 3 468 KeyReleaseMask = 2 469 KeymapNotify = 11 470 KeymapStateMask = 16384 471 LASTEvent = 36 472 LITTLE_ENDIAN = 1234 473 LOCKED = 1 474 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 = 2147483647 561 PTRDIFF_MIN = -2147483648 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 = 4294967295 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 = 4294967295 734 UINT_FAST16_MAX = 4294967295 735 UINT_FAST32_MAX = 4294967295 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 = 4294967295 766 WCHAR_MIN = 0 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_PTHREADTYPES_ARCH_H = 1 3003 X_BITS_PTHREADTYPES_COMMON_H = 1 3004 X_BITS_STDINT_INTN_H = 1 3005 X_BITS_STDINT_UINTN_H = 1 3006 X_BITS_TIME64_H = 1 3007 X_BITS_TYPESIZES_H = 1 3008 X_BITS_TYPES_H = 1 3009 X_BITS_TYPES_LOCALE_T_H = 1 3010 X_BITS_TYPES___LOCALE_T_H = 1 3011 X_BITS_UINTN_IDENTITY_H = 1 3012 X_BITS_WCHAR_H = 1 3013 X_BSD_PTRDIFF_T_ = 0 3014 X_BSD_SIZE_T_ = 0 3015 X_BSD_SIZE_T_DEFINED_ = 0 3016 X_DEFAULT_SOURCE = 1 3017 X_ENDIAN_H = 1 3018 X_ERRNO_H = 1 3019 X_FEATURES_H = 1 3020 X_FILE_OFFSET_BITS = 64 3021 X_GCC_MAX_ALIGN_T = 0 3022 X_GCC_PTRDIFF_T = 0 3023 X_GCC_SIZE_T = 0 3024 X_GCC_WCHAR_T = 0 3025 X_GCC_WRAP_STDINT_H = 0 3026 X_POSIX_C_SOURCE = 200809 3027 X_POSIX_SOURCE = 1 3028 X_PTRDIFF_T = 0 3029 X_PTRDIFF_T_ = 0 3030 X_PTRDIFF_T_DECLARED = 0 3031 X_RENDER_H_ = 0 3032 X_SIZET_ = 0 3033 X_SIZE_T = 0 3034 X_SIZE_T_ = 0 3035 X_SIZE_T_DECLARED = 0 3036 X_SIZE_T_DEFINED = 0 3037 X_SIZE_T_DEFINED_ = 0 3038 X_STDC_PREDEF_H = 1 3039 X_STDDEF_H = 0 3040 X_STDDEF_H_ = 0 3041 X_STDINT_H = 1 3042 X_STDLIB_H = 1 3043 X_STRINGS_H = 1 3044 X_STRING_H = 1 3045 X_STRUCT_TIMESPEC = 1 3046 X_SYS_CDEFS_H = 1 3047 X_SYS_SELECT_H = 1 3048 X_SYS_SIZE_T_H = 0 3049 X_SYS_TYPES_H = 1 3050 X_THREAD_MUTEX_INTERNAL_H = 1 3051 X_THREAD_SHARED_TYPES_H = 1 3052 X_T_PTRDIFF = 0 3053 X_T_PTRDIFF_ = 0 3054 X_T_SIZE = 0 3055 X_T_SIZE_ = 0 3056 X_T_WCHAR = 0 3057 X_T_WCHAR_ = 0 3058 X_WCHAR_T = 0 3059 X_WCHAR_T_ = 0 3060 X_WCHAR_T_DECLARED = 0 3061 X_WCHAR_T_DEFINED = 0 3062 X_WCHAR_T_DEFINED_ = 0 3063 X_WCHAR_T_H = 0 3064 X_X11_XLIBINT_H_ = 1 3065 X_X11_XLIB_H_ = 0 3066 X_X11_XUTIL_H_ = 0 3067 X_XDEFS_H = 0 3068 X_XFUNCPROTOBEGIN = 0 3069 X_XFUNCPROTOEND = 0 3070 X_XFUNCPROTO_H_ = 0 3071 X_XFUNCS_H_ = 0 3072 X_XFUNCS_H_INCLUDED_STRING_H = 0 3073 X_XLIBCONF_H_ = 0 3074 X_XOSDEFS_H_ = 0 3075 X_XRENDERINT_H_ = 0 3076 X_XRENDERP_H_ = 0 3077 X_XRENDER_H_ = 0 3078 X_XTYPEDEF_ATOM = 0 3079 X_XTYPEDEF_CLIENTPTR = 0 3080 X_XTYPEDEF_FONT = 0 3081 X_XTYPEDEF_FONTPTR = 0 3082 X_XTYPEDEF_MASK = 0 3083 X_XTYPEDEF_POINTER = 0 3084 X_XTYPEDEF_XID = 0 3085 X_X_NOTSAN = 0 3086 Linux = 1 3087 Sz_xAllocColorCellsReply = 32 3088 Sz_xAllocColorCellsReq = 12 3089 Sz_xAllocColorPlanesReply = 32 3090 Sz_xAllocColorPlanesReq = 16 3091 Sz_xAllocColorReply = 32 3092 Sz_xAllocColorReq = 16 3093 Sz_xAllocNamedColorReply = 32 3094 Sz_xAllocNamedColorReq = 12 3095 Sz_xAllowEventsReq = 8 3096 Sz_xAnimCursorElt = 8 3097 Sz_xArc = 12 3098 Sz_xBellReq = 4 3099 Sz_xChangeActivePointerGrabReq = 16 3100 Sz_xChangeGCReq = 12 3101 Sz_xChangeHostsReq = 8 3102 Sz_xChangeKeyboardControlReq = 8 3103 Sz_xChangeKeyboardMappingReq = 8 3104 Sz_xChangeModeReq = 4 3105 Sz_xChangePointerControlReq = 12 3106 Sz_xChangePropertyReq = 24 3107 Sz_xChangeSaveSetReq = 8 3108 Sz_xChangeWindowAttributesReq = 12 3109 Sz_xCharInfo = 12 3110 Sz_xCirculateWindowReq = 8 3111 Sz_xClearAreaReq = 16 3112 Sz_xColorItem = 12 3113 Sz_xConfigureWindowReq = 12 3114 Sz_xConnClientPrefix = 12 3115 Sz_xConnSetup = 32 3116 Sz_xConnSetupPrefix = 8 3117 Sz_xConvertSelectionReq = 24 3118 Sz_xCopyAreaReq = 28 3119 Sz_xCopyColormapAndFreeReq = 12 3120 Sz_xCopyGCReq = 16 3121 Sz_xCopyPlaneReq = 32 3122 Sz_xCreateColormapReq = 16 3123 Sz_xCreateCursorReq = 32 3124 Sz_xCreateGCReq = 16 3125 Sz_xCreateGlyphCursorReq = 32 3126 Sz_xCreatePixmapReq = 16 3127 Sz_xCreateWindowReq = 32 3128 Sz_xDeletePropertyReq = 12 3129 Sz_xDepth = 8 3130 Sz_xDirectFormat = 16 3131 Sz_xError = 32 3132 Sz_xEvent = 32 3133 Sz_xFillPolyReq = 16 3134 Sz_xFontProp = 8 3135 Sz_xForceScreenSaverReq = 4 3136 Sz_xFreeColorsReq = 12 3137 Sz_xGenericReply = 32 3138 Sz_xGetAtomNameReply = 32 3139 Sz_xGetFontPathReply = 32 3140 Sz_xGetGeometryReply = 32 3141 Sz_xGetImageReply = 32 3142 Sz_xGetImageReq = 20 3143 Sz_xGetInputFocusReply = 32 3144 Sz_xGetKeyboardControlReply = 52 3145 Sz_xGetKeyboardMappingReply = 32 3146 Sz_xGetKeyboardMappingReq = 8 3147 Sz_xGetModifierMappingReply = 32 3148 Sz_xGetMotionEventsReply = 32 3149 Sz_xGetMotionEventsReq = 16 3150 Sz_xGetPointerControlReply = 32 3151 Sz_xGetPointerMappingReply = 32 3152 Sz_xGetPropertyReply = 32 3153 Sz_xGetPropertyReq = 24 3154 Sz_xGetScreenSaverReply = 32 3155 Sz_xGetSelectionOwnerReply = 32 3156 Sz_xGetWindowAttributesReply = 44 3157 Sz_xGlyphElt = 8 3158 Sz_xGlyphInfo = 12 3159 Sz_xGrabButtonReq = 24 3160 Sz_xGrabKeyReq = 16 3161 Sz_xGrabKeyboardReply = 32 3162 Sz_xGrabKeyboardReq = 16 3163 Sz_xGrabPointerReply = 32 3164 Sz_xGrabPointerReq = 24 3165 Sz_xHostEntry = 4 3166 Sz_xImageText16Req = 16 3167 Sz_xImageText8Req = 16 3168 Sz_xImageTextReq = 16 3169 Sz_xIndexValue = 12 3170 Sz_xInternAtomReply = 32 3171 Sz_xInternAtomReq = 8 3172 Sz_xKeymapEvent = 32 3173 Sz_xLineFixed = 16 3174 Sz_xListExtensionsReply = 32 3175 Sz_xListFontsReply = 32 3176 Sz_xListFontsReq = 8 3177 Sz_xListFontsWithInfoReply = 60 3178 Sz_xListFontsWithInfoReq = 8 3179 Sz_xListHostsReply = 32 3180 Sz_xListHostsReq = 4 3181 Sz_xListInstalledColormapsReply = 32 3182 Sz_xListPropertiesReply = 32 3183 Sz_xLookupColorReply = 32 3184 Sz_xLookupColorReq = 12 3185 Sz_xOpenFontReq = 12 3186 Sz_xPictDepth = 8 3187 Sz_xPictFormInfo = 28 3188 Sz_xPictScreen = 8 3189 Sz_xPictVisual = 8 3190 Sz_xPixmapFormat = 8 3191 Sz_xPoint = 4 3192 Sz_xPointFixed = 8 3193 Sz_xPolyArcReq = 12 3194 Sz_xPolyFillArcReq = 12 3195 Sz_xPolyFillRectangleReq = 12 3196 Sz_xPolyLineReq = 12 3197 Sz_xPolyPointReq = 12 3198 Sz_xPolyRectangleReq = 12 3199 Sz_xPolySegmentReq = 12 3200 Sz_xPolyText16Req = 16 3201 Sz_xPolyText8Req = 16 3202 Sz_xPolyTextReq = 16 3203 Sz_xPropIconSize = 24 3204 Sz_xPutImageReq = 24 3205 Sz_xQueryBestSizeReply = 32 3206 Sz_xQueryBestSizeReq = 12 3207 Sz_xQueryColorsReply = 32 3208 Sz_xQueryColorsReq = 8 3209 Sz_xQueryExtensionReply = 32 3210 Sz_xQueryExtensionReq = 8 3211 Sz_xQueryFontReply = 60 3212 Sz_xQueryKeymapReply = 40 3213 Sz_xQueryPointerReply = 32 3214 Sz_xQueryTextExtentsReply = 32 3215 Sz_xQueryTextExtentsReq = 8 3216 Sz_xQueryTreeReply = 32 3217 Sz_xRecolorCursorReq = 20 3218 Sz_xRectangle = 8 3219 Sz_xRenderAddGlyphsReq = 12 3220 Sz_xRenderAddTrapsReq = 12 3221 Sz_xRenderChangePictureReq = 12 3222 Sz_xRenderColor = 8 3223 Sz_xRenderCompositeGlyphs16Req = 28 3224 Sz_xRenderCompositeGlyphs32Req = 28 3225 Sz_xRenderCompositeGlyphs8Req = 28 3226 Sz_xRenderCompositeReq = 36 3227 Sz_xRenderCreateAnimCursorReq = 8 3228 Sz_xRenderCreateConicalGradientReq = 24 3229 Sz_xRenderCreateCursorReq = 16 3230 Sz_xRenderCreateGlyphSetReq = 12 3231 Sz_xRenderCreateLinearGradientReq = 28 3232 Sz_xRenderCreatePictureReq = 20 3233 Sz_xRenderCreateRadialGradientReq = 36 3234 Sz_xRenderCreateSolidFillReq = 16 3235 Sz_xRenderFillRectanglesReq = 20 3236 Sz_xRenderFreeGlyphSetReq = 8 3237 Sz_xRenderFreeGlyphsReq = 8 3238 Sz_xRenderFreePictureReq = 8 3239 Sz_xRenderQueryFiltersReply = 32 3240 Sz_xRenderQueryFiltersReq = 8 3241 Sz_xRenderQueryPictFormatsReply = 32 3242 Sz_xRenderQueryPictFormatsReq = 4 3243 Sz_xRenderQueryPictIndexValuesReply = 32 3244 Sz_xRenderQueryPictIndexValuesReq = 8 3245 Sz_xRenderQueryVersionReply = 32 3246 Sz_xRenderQueryVersionReq = 12 3247 Sz_xRenderReferenceGlyphSetReq = 24 3248 Sz_xRenderScaleReq = 32 3249 Sz_xRenderSetPictureClipRectanglesReq = 12 3250 Sz_xRenderSetPictureFilterReq = 12 3251 Sz_xRenderSetPictureTransformReq = 44 3252 Sz_xRenderTransform = 36 3253 Sz_xRenderTrapezoidsReq = 24 3254 Sz_xRenderTriFanReq = 24 3255 Sz_xRenderTriStripReq = 24 3256 Sz_xRenderTrianglesReq = 24 3257 Sz_xReparentWindowReq = 16 3258 Sz_xReply = 32 3259 Sz_xReq = 4 3260 Sz_xResourceReq = 8 3261 Sz_xRotatePropertiesReq = 12 3262 Sz_xSegment = 8 3263 Sz_xSendEventReq = 44 3264 Sz_xSetAccessControlReq = 4 3265 Sz_xSetClipRectanglesReq = 12 3266 Sz_xSetCloseDownModeReq = 4 3267 Sz_xSetDashesReq = 12 3268 Sz_xSetFontPathReq = 8 3269 Sz_xSetInputFocusReq = 12 3270 Sz_xSetMappingReply = 32 3271 Sz_xSetModifierMappingReply = 32 3272 Sz_xSetModifierMappingReq = 4 3273 Sz_xSetPointerMappingReply = 32 3274 Sz_xSetPointerMappingReq = 4 3275 Sz_xSetScreenSaverReq = 12 3276 Sz_xSetSelectionOwnerReq = 16 3277 Sz_xSpanFix = 12 3278 Sz_xStoreColorsReq = 8 3279 Sz_xStoreNamedColorReq = 16 3280 Sz_xTextElt = 2 3281 Sz_xTimecoord = 8 3282 Sz_xTranslateCoordsReply = 32 3283 Sz_xTranslateCoordsReq = 16 3284 Sz_xTrap = 24 3285 Sz_xTrapezoid = 40 3286 Sz_xTriangle = 24 3287 Sz_xUngrabButtonReq = 12 3288 Sz_xUngrabKeyReq = 12 3289 Sz_xVisualType = 24 3290 Sz_xWarpPointerReq = 24 3291 Sz_xWindowRoot = 40 3292 Sz_xrgb = 8 3293 Unix = 1 3294 XFalse = 0 3295 XTrue = 1 3296 Size = 2068 3297 AIO_PRIO_DELTA_MAX = 20 3298 BC_BASE_MAX = 99 3299 BC_DIM_MAX = 2048 3300 BC_SCALE_MAX = 99 3301 BC_STRING_MAX = 1000 3302 CHARCLASS_NAME_MAX = 2048 3303 CHAR_BIT = 8 3304 CHAR_MAX = 255 3305 CHAR_MIN = 0 3306 COLL_WEIGHTS_MAX = 255 3307 DELAYTIMER_MAX = 2147483647 3308 EXPR_NEST_MAX = 32 3309 HOST_NAME_MAX = 64 3310 INT_MAX = 2147483647 3311 INT_MIN = -2147483648 3312 LINE_MAX = 2048 3313 LLONG_MAX = 9223372036854775807 3314 LLONG_MIN = -9223372036854775808 3315 LOGIN_NAME_MAX = 256 3316 LONG_MAX = 2147483647 3317 LONG_MIN = -2147483648 3318 MAX_CANON = 255 3319 MAX_INPUT = 255 3320 MB_LEN_MAX = 16 3321 MQ_PRIO_MAX = 32768 3322 NAME_MAX = 255 3323 NGROUPS_MAX = 65536 3324 PATH_MAX = 4096 3325 PIPE_BUF = 4096 3326 PTHREAD_DESTRUCTOR_ITERATIONS = 4 3327 PTHREAD_KEYS_MAX = 1024 3328 PTHREAD_STACK_MIN = 16384 3329 RE_DUP_MAX = 32767 3330 RTSIG_MAX = 32 3331 SCHAR_MAX = 127 3332 SCHAR_MIN = -128 3333 SEM_VALUE_MAX = 2147483647 3334 SHRT_MAX = 32767 3335 SHRT_MIN = -32768 3336 SSIZE_MAX = 2147483647 3337 TTY_NAME_MAX = 32 3338 UCHAR_MAX = 255 3339 UINT_MAX = 4294967295 3340 ULLONG_MAX = 18446744073709551615 3341 ULONG_MAX = 4294967295 3342 USHRT_MAX = 65535 3343 XATTR_LIST_MAX = 65536 3344 XATTR_NAME_MAX = 255 3345 XATTR_SIZE_MAX = 65536 3346 X_BITS_POSIX1_LIM_H = 1 3347 X_BITS_POSIX2_LIM_H = 1 3348 X_GCC_LIMITS_H_ = 0 3349 X_LIBC_LIMITS_H_ = 1 3350 X_LIMITS_H___ = 0 3351 X_LINUX_LIMITS_H = 0 3352 X_POSIX2_BC_BASE_MAX = 99 3353 X_POSIX2_BC_DIM_MAX = 2048 3354 X_POSIX2_BC_SCALE_MAX = 99 3355 X_POSIX2_BC_STRING_MAX = 1000 3356 X_POSIX2_CHARCLASS_NAME_MAX = 14 3357 X_POSIX2_COLL_WEIGHTS_MAX = 2 3358 X_POSIX2_EXPR_NEST_MAX = 32 3359 X_POSIX2_LINE_MAX = 2048 3360 X_POSIX2_RE_DUP_MAX = 255 3361 X_POSIX_AIO_LISTIO_MAX = 2 3362 X_POSIX_AIO_MAX = 1 3363 X_POSIX_ARG_MAX = 4096 3364 X_POSIX_CHILD_MAX = 25 3365 X_POSIX_CLOCKRES_MIN = 20000000 3366 X_POSIX_DELAYTIMER_MAX = 32 3367 X_POSIX_HOST_NAME_MAX = 255 3368 X_POSIX_LINK_MAX = 8 3369 X_POSIX_LOGIN_NAME_MAX = 9 3370 X_POSIX_MAX_CANON = 255 3371 X_POSIX_MAX_INPUT = 255 3372 X_POSIX_MQ_OPEN_MAX = 8 3373 X_POSIX_MQ_PRIO_MAX = 32 3374 X_POSIX_NAME_MAX = 14 3375 X_POSIX_NGROUPS_MAX = 8 3376 X_POSIX_OPEN_MAX = 20 3377 X_POSIX_PATH_MAX = 256 3378 X_POSIX_PIPE_BUF = 512 3379 X_POSIX_RE_DUP_MAX = 255 3380 X_POSIX_RTSIG_MAX = 8 3381 X_POSIX_SEM_NSEMS_MAX = 256 3382 X_POSIX_SEM_VALUE_MAX = 32767 3383 X_POSIX_SIGQUEUE_MAX = 32 3384 X_POSIX_SSIZE_MAX = 32767 3385 X_POSIX_STREAM_MAX = 8 3386 X_POSIX_SYMLINK_MAX = 255 3387 X_POSIX_SYMLOOP_MAX = 8 3388 X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4 3389 X_POSIX_THREAD_KEYS_MAX = 128 3390 X_POSIX_THREAD_THREADS_MAX = 64 3391 X_POSIX_TIMER_MAX = 32 3392 X_POSIX_TTY_NAME_MAX = 9 3393 X_POSIX_TZNAME_MAX = 6 3394 FALSE = 0 3395 MAXSHORT = 32767 3396 MINSHORT = -32767 3397 NUMPTSTOBUFFER = 200 3398 TRUE = 1 3399 X_X11_XREGION_H_ = 0 3400 REQUIRED_DEPTHS = 2155872393 3401 ) 3402 3403 const ( /* Xlib.h:1126:1: */ 3404 XOMOrientation_LTR_TTB = 0 3405 XOMOrientation_RTL_TTB = 1 3406 XOMOrientation_TTB_LTR = 2 3407 XOMOrientation_TTB_RTL = 3 3408 XOMOrientation_Context = 4 3409 ) 3410 3411 const ( /* Xlib.h:1315:1: */ 3412 XIMForwardChar = 0 3413 XIMBackwardChar = 1 3414 XIMForwardWord = 2 3415 XIMBackwardWord = 3 3416 XIMCaretUp = 4 3417 XIMCaretDown = 5 3418 XIMNextLine = 6 3419 XIMPreviousLine = 7 3420 XIMLineStart = 8 3421 XIMLineEnd = 9 3422 XIMAbsolutePosition = 10 3423 XIMDontChange = 11 3424 ) 3425 3426 const ( /* Xlib.h:1340:1: */ 3427 XIMIsInvisible = 0 // Disable caret feedback 3428 XIMIsPrimary = 1 // UI defined caret feedback 3429 XIMIsSecondary = 2 3430 ) 3431 3432 const ( /* Xlib.h:1352:1: */ 3433 XIMTextType = 0 3434 XIMBitmapType = 1 3435 ) 3436 3437 const ( /* Xutil.h:174:1: */ 3438 XStringStyle = 0 // STRING 3439 XCompoundTextStyle = 1 // COMPOUND_TEXT 3440 XTextStyle = 2 // text in owner's encoding (current locale) 3441 XStdICCTextStyle = 3 // STRING, else COMPOUND_TEXT 3442 // The following is an XFree86 extension, introduced in November 2000 3443 XUTF8StringStyle = 4 3444 ) 3445 3446 // the new Xfuncs.h 3447 3448 // the ANSI C way 3449 3450 // 3451 // O/S-dependent (mis)feature macro definitions 3452 // 3453 // Copyright 1991, 1998 The Open Group 3454 // 3455 // Permission to use, copy, modify, distribute, and sell this software and its 3456 // documentation for any purpose is hereby granted without fee, provided that 3457 // the above copyright notice appear in all copies and that both that 3458 // copyright notice and this permission notice appear in supporting 3459 // documentation. 3460 // 3461 // The above copyright notice and this permission notice shall be included in 3462 // all copies or substantial portions of the Software. 3463 // 3464 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 3465 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 3466 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 3467 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 3468 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 3469 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 3470 // 3471 // Except as contained in this notice, the name of The Open Group shall not be 3472 // used in advertising or otherwise to promote the sale, use or other dealings 3473 // in this Software without prior written authorization from The Open Group. 3474 // 3475 3476 // Utek leaves kernel macros around in include files (bleah) 3477 3478 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 3479 // This file is part of the GNU C Library. 3480 // 3481 // The GNU C Library is free software; you can redistribute it and/or 3482 // modify it under the terms of the GNU Lesser General Public 3483 // License as published by the Free Software Foundation; either 3484 // version 2.1 of the License, or (at your option) any later version. 3485 // 3486 // The GNU C Library is distributed in the hope that it will be useful, 3487 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3488 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3489 // Lesser General Public License for more details. 3490 // 3491 // You should have received a copy of the GNU Lesser General Public 3492 // License along with the GNU C Library; if not, see 3493 // <https://www.gnu.org/licenses/>. 3494 3495 // ISO C99 Standard: 7.20 General utilities <stdlib.h> 3496 3497 // Handle feature test macros at the start of a header. 3498 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 3499 // This file is part of the GNU C Library. 3500 // 3501 // The GNU C Library is free software; you can redistribute it and/or 3502 // modify it under the terms of the GNU Lesser General Public 3503 // License as published by the Free Software Foundation; either 3504 // version 2.1 of the License, or (at your option) any later version. 3505 // 3506 // The GNU C Library is distributed in the hope that it will be useful, 3507 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3508 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3509 // Lesser General Public License for more details. 3510 // 3511 // You should have received a copy of the GNU Lesser General Public 3512 // License along with the GNU C Library; if not, see 3513 // <https://www.gnu.org/licenses/>. 3514 3515 // This header is internal to glibc and should not be included outside 3516 // of glibc headers. Headers including it must define 3517 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 3518 // cannot have multiple include guards because ISO C feature test 3519 // macros depend on the definition of the macro when an affected 3520 // header is included, not when the first system header is 3521 // included. 3522 3523 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 3524 // This file is part of the GNU C Library. 3525 // 3526 // The GNU C Library is free software; you can redistribute it and/or 3527 // modify it under the terms of the GNU Lesser General Public 3528 // License as published by the Free Software Foundation; either 3529 // version 2.1 of the License, or (at your option) any later version. 3530 // 3531 // The GNU C Library is distributed in the hope that it will be useful, 3532 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3533 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3534 // Lesser General Public License for more details. 3535 // 3536 // You should have received a copy of the GNU Lesser General Public 3537 // License along with the GNU C Library; if not, see 3538 // <https://www.gnu.org/licenses/>. 3539 3540 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 3541 // macro. 3542 3543 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 3544 // macro. Most but not all symbols enabled by that macro in TS 3545 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 3546 // still require that macro in C2X. 3547 3548 // ISO/IEC TS 18661-4:2015 defines the 3549 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 3550 // functions, the symbols from this TS are enabled unconditionally in 3551 // C2X. 3552 3553 // ISO/IEC TS 18661-3:2015 defines the 3554 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 3555 3556 // Get size_t, wchar_t and NULL from <stddef.h>. 3557 // Copyright (C) 1989-2020 Free Software Foundation, Inc. 3558 // 3559 // This file is part of GCC. 3560 // 3561 // GCC is free software; you can redistribute it and/or modify 3562 // it under the terms of the GNU General Public License as published by 3563 // the Free Software Foundation; either version 3, or (at your option) 3564 // any later version. 3565 // 3566 // GCC is distributed in the hope that it will be useful, 3567 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3568 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 3569 // GNU General Public License for more details. 3570 // 3571 // Under Section 7 of GPL version 3, you are granted additional 3572 // permissions described in the GCC Runtime Library Exception, version 3573 // 3.1, as published by the Free Software Foundation. 3574 // 3575 // You should have received a copy of the GNU General Public License and 3576 // a copy of the GCC Runtime Library Exception along with this program; 3577 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 3578 // <http://www.gnu.org/licenses/>. 3579 3580 // ISO C Standard: 7.17 Common definitions <stddef.h> 3581 3582 // Any one of these symbols __need_* means that GNU libc 3583 // wants us just to define one data type. So don't define 3584 // the symbols that indicate this file's entire job has been done. 3585 3586 // This avoids lossage on SunOS but only if stdtypes.h comes first. 3587 // There's no way to win with the other order! Sun lossage. 3588 3589 // Sequent's header files use _PTRDIFF_T_ in some conflicting way. 3590 // Just ignore it. 3591 3592 // On VxWorks, <type/vxTypesBase.h> may have defined macros like 3593 // _TYPE_size_t which will typedef size_t. fixincludes patched the 3594 // vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is 3595 // not defined, and so that defining this macro defines _GCC_SIZE_T. 3596 // If we find that the macros are still defined at this point, we must 3597 // invoke them so that the type is defined as expected. 3598 3599 // In case nobody has defined these types, but we aren't running under 3600 // GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and 3601 // __WCHAR_TYPE__ have reasonable values. This can happen if the 3602 // parts of GCC is compiled by an older compiler, that actually 3603 // include gstddef.h, such as collect2. 3604 3605 // Signed type of difference of two pointers. 3606 3607 // Define this type if we are doing the whole job, 3608 // or if we want this type in particular. 3609 3610 // If this symbol has done its job, get rid of it. 3611 3612 // Unsigned type of `sizeof' something. 3613 3614 // Define this type if we are doing the whole job, 3615 // or if we want this type in particular. 3616 3617 // Wide character type. 3618 // Locale-writers should change this as necessary to 3619 // be big enough to hold unique values not between 0 and 127, 3620 // and not (wchar_t) -1, for each defined multibyte character. 3621 3622 // Define this type if we are doing the whole job, 3623 // or if we want this type in particular. 3624 3625 // A null pointer constant. 3626 3627 // Offset of member MEMBER in a struct of type TYPE. 3628 3629 // XPG requires a few symbols from <sys/wait.h> being defined. 3630 // Definitions of flag bits for `waitpid' et al. 3631 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 3632 // This file is part of the GNU C Library. 3633 // 3634 // The GNU C Library is free software; you can redistribute it and/or 3635 // modify it under the terms of the GNU Lesser General Public 3636 // License as published by the Free Software Foundation; either 3637 // version 2.1 of the License, or (at your option) any later version. 3638 // 3639 // The GNU C Library is distributed in the hope that it will be useful, 3640 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3641 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3642 // Lesser General Public License for more details. 3643 // 3644 // You should have received a copy of the GNU Lesser General Public 3645 // License along with the GNU C Library; if not, see 3646 // <https://www.gnu.org/licenses/>. 3647 3648 // Bits in the third argument to `waitpid'. 3649 3650 // Bits in the fourth argument to `waitid'. 3651 3652 // The following values are used by the `waitid' function. 3653 3654 // The Linux kernel defines these bare, rather than an enum, 3655 // which causes a conflict if the include order is reversed. 3656 3657 const ( /* waitflags.h:52:1: */ 3658 P_ALL = 0 // Wait for any child. 3659 P_PID = 1 // Wait for specified process. 3660 P_PGID = 2 3661 ) 3662 3663 type Ptrdiff_t = int32 /* <builtin>:3:26 */ 3664 3665 type Size_t = uint32 /* <builtin>:9:23 */ 3666 3667 type Wchar_t = uint32 /* <builtin>:15:24 */ 3668 3669 type X__builtin_va_list = uintptr /* <builtin>:46:14 */ 3670 type X__float128 = float64 /* <builtin>:47:21 */ 3671 3672 // Copyright © 2004 Keith Packard 3673 // 3674 // Permission to use, copy, modify, distribute, and sell this software and its 3675 // documentation for any purpose is hereby granted without fee, provided that 3676 // the above copyright notice appear in all copies and that both that 3677 // copyright notice and this permission notice appear in supporting 3678 // documentation, and that the name of Keith Packard not be used in 3679 // advertising or publicity pertaining to distribution of the software without 3680 // specific, written prior permission. Keith Packard makes no 3681 // representations about the suitability of this software for any purpose. It 3682 // is provided "as is" without express or implied warranty. 3683 // 3684 // KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 3685 // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 3686 // EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 3687 // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 3688 // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 3689 // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 3690 // PERFORMANCE OF THIS SOFTWARE. 3691 3692 // config.h. Generated from config.h.in by configure. 3693 // config.h.in. Generated from configure.ac by autoheader. 3694 3695 // Define to 1 if you have the <dlfcn.h> header file. 3696 3697 // Define to 1 if you have the <inttypes.h> header file. 3698 3699 // Define to 1 if you have the <memory.h> header file. 3700 3701 // Define to 1 if you have the <stdint.h> header file. 3702 3703 // Define to 1 if you have the <stdlib.h> header file. 3704 3705 // Define to 1 if you have the <strings.h> header file. 3706 3707 // Define to 1 if you have the <string.h> header file. 3708 3709 // Define to 1 if you have the <sys/stat.h> header file. 3710 3711 // Define to 1 if you have the <sys/types.h> header file. 3712 3713 // Define to 1 if you have the <unistd.h> header file. 3714 3715 // Define to the sub-directory in which libtool stores uninstalled libraries. 3716 3717 // Name of package 3718 3719 // Define to the address where bug reports for this package should be sent. 3720 3721 // Define to the full name of this package. 3722 3723 // Define to the full name and version of this package. 3724 3725 // Define to the one symbol short name of this package. 3726 3727 // Define to the home page for this package. 3728 3729 // Define to the version of this package. 3730 3731 // Major version of this package 3732 3733 // Minor version of this package 3734 3735 // Patch version of this package 3736 3737 // Define to 1 if you have the ANSI C header files. 3738 3739 // Version number of package 3740 // 3741 // Copyright © 2000 SuSE, Inc. 3742 // 3743 // Permission to use, copy, modify, distribute, and sell this software and its 3744 // documentation for any purpose is hereby granted without fee, provided that 3745 // the above copyright notice appear in all copies and that both that 3746 // copyright notice and this permission notice appear in supporting 3747 // documentation, and that the name of SuSE not be used in advertising or 3748 // publicity pertaining to distribution of the software without specific, 3749 // written prior permission. SuSE makes no representations about the 3750 // suitability of this software for any purpose. It is provided "as is" 3751 // without express or implied warranty. 3752 // 3753 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 3754 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 3755 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 3756 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 3757 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 3758 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 3759 // 3760 // Author: Keith Packard, SuSE, Inc. 3761 3762 // config.h. Generated from config.h.in by configure. 3763 // config.h.in. Generated from configure.ac by autoheader. 3764 3765 // Define to 1 if you have the <dlfcn.h> header file. 3766 3767 // Define to 1 if you have the <inttypes.h> header file. 3768 3769 // Define to 1 if you have the <memory.h> header file. 3770 3771 // Define to 1 if you have the <stdint.h> header file. 3772 3773 // Define to 1 if you have the <stdlib.h> header file. 3774 3775 // Define to 1 if you have the <strings.h> header file. 3776 3777 // Define to 1 if you have the <string.h> header file. 3778 3779 // Define to 1 if you have the <sys/stat.h> header file. 3780 3781 // Define to 1 if you have the <sys/types.h> header file. 3782 3783 // Define to 1 if you have the <unistd.h> header file. 3784 3785 // Define to the sub-directory in which libtool stores uninstalled libraries. 3786 3787 // Name of package 3788 3789 // Define to the address where bug reports for this package should be sent. 3790 3791 // Define to the full name of this package. 3792 3793 // Define to the full name and version of this package. 3794 3795 // Define to the one symbol short name of this package. 3796 3797 // Define to the home page for this package. 3798 3799 // Define to the version of this package. 3800 3801 // Major version of this package 3802 3803 // Minor version of this package 3804 3805 // Patch version of this package 3806 3807 // Define to 1 if you have the ANSI C header files. 3808 3809 // Version number of package 3810 3811 // 3812 // 3813 // Copyright 1984, 1985, 1987, 1989, 1998 The Open Group 3814 // 3815 // Permission to use, copy, modify, distribute, and sell this software and its 3816 // documentation for any purpose is hereby granted without fee, provided that 3817 // the above copyright notice appear in all copies and that both that 3818 // copyright notice and this permission notice appear in supporting 3819 // documentation. 3820 // 3821 // The above copyright notice and this permission notice shall be included 3822 // in all copies or substantial portions of the Software. 3823 // 3824 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 3825 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 3826 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 3827 // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR 3828 // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 3829 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 3830 // OTHER DEALINGS IN THE SOFTWARE. 3831 // 3832 // Except as contained in this notice, the name of The Open Group shall 3833 // not be used in advertising or otherwise to promote the sale, use or 3834 // other dealings in this Software without prior written authorization 3835 // from The Open Group. 3836 // 3837 3838 // Xlibint.h - Header definition and support file for the internal 3839 // support routines used by the C subroutine interface 3840 // library (Xlib) to the X Window System. 3841 // 3842 // Warning, there be dragons here.... 3843 3844 // Copyright (C) 1997-2020 Free Software Foundation, Inc. 3845 // This file is part of the GNU C Library. 3846 // 3847 // The GNU C Library is free software; you can redistribute it and/or 3848 // modify it under the terms of the GNU Lesser General Public 3849 // License as published by the Free Software Foundation; either 3850 // version 2.1 of the License, or (at your option) any later version. 3851 // 3852 // The GNU C Library is distributed in the hope that it will be useful, 3853 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3854 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3855 // Lesser General Public License for more details. 3856 // 3857 // You should have received a copy of the GNU Lesser General Public 3858 // License along with the GNU C Library; if not, see 3859 // <https://www.gnu.org/licenses/>. 3860 3861 // ISO C99: 7.18 Integer types <stdint.h> 3862 3863 // Handle feature test macros at the start of a header. 3864 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 3865 // This file is part of the GNU C Library. 3866 // 3867 // The GNU C Library is free software; you can redistribute it and/or 3868 // modify it under the terms of the GNU Lesser General Public 3869 // License as published by the Free Software Foundation; either 3870 // version 2.1 of the License, or (at your option) any later version. 3871 // 3872 // The GNU C Library is distributed in the hope that it will be useful, 3873 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3874 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3875 // Lesser General Public License for more details. 3876 // 3877 // You should have received a copy of the GNU Lesser General Public 3878 // License along with the GNU C Library; if not, see 3879 // <https://www.gnu.org/licenses/>. 3880 3881 // This header is internal to glibc and should not be included outside 3882 // of glibc headers. Headers including it must define 3883 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 3884 // cannot have multiple include guards because ISO C feature test 3885 // macros depend on the definition of the macro when an affected 3886 // header is included, not when the first system header is 3887 // included. 3888 3889 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 3890 // This file is part of the GNU C Library. 3891 // 3892 // The GNU C Library is free software; you can redistribute it and/or 3893 // modify it under the terms of the GNU Lesser General Public 3894 // License as published by the Free Software Foundation; either 3895 // version 2.1 of the License, or (at your option) any later version. 3896 // 3897 // The GNU C Library is distributed in the hope that it will be useful, 3898 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3899 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3900 // Lesser General Public License for more details. 3901 // 3902 // You should have received a copy of the GNU Lesser General Public 3903 // License along with the GNU C Library; if not, see 3904 // <https://www.gnu.org/licenses/>. 3905 3906 // These are defined by the user (or the compiler) 3907 // to specify the desired environment: 3908 // 3909 // __STRICT_ANSI__ ISO Standard C. 3910 // _ISOC99_SOURCE Extensions to ISO C89 from ISO C99. 3911 // _ISOC11_SOURCE Extensions to ISO C99 from ISO C11. 3912 // _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X. 3913 // __STDC_WANT_LIB_EXT2__ 3914 // Extensions to ISO C99 from TR 27431-2:2010. 3915 // __STDC_WANT_IEC_60559_BFP_EXT__ 3916 // Extensions to ISO C11 from TS 18661-1:2014. 3917 // __STDC_WANT_IEC_60559_FUNCS_EXT__ 3918 // Extensions to ISO C11 from TS 18661-4:2015. 3919 // __STDC_WANT_IEC_60559_TYPES_EXT__ 3920 // Extensions to ISO C11 from TS 18661-3:2015. 3921 // 3922 // _POSIX_SOURCE IEEE Std 1003.1. 3923 // _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2; 3924 // if >=199309L, add IEEE Std 1003.1b-1993; 3925 // if >=199506L, add IEEE Std 1003.1c-1995; 3926 // if >=200112L, all of IEEE 1003.1-2004 3927 // if >=200809L, all of IEEE 1003.1-2008 3928 // _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if 3929 // Single Unix conformance is wanted, to 600 for the 3930 // sixth revision, to 700 for the seventh revision. 3931 // _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions. 3932 // _LARGEFILE_SOURCE Some more functions for correct standard I/O. 3933 // _LARGEFILE64_SOURCE Additional functionality from LFS for large files. 3934 // _FILE_OFFSET_BITS=N Select default filesystem interface. 3935 // _ATFILE_SOURCE Additional *at interfaces. 3936 // _GNU_SOURCE All of the above, plus GNU extensions. 3937 // _DEFAULT_SOURCE The default set of features (taking precedence over 3938 // __STRICT_ANSI__). 3939 // 3940 // _FORTIFY_SOURCE Add security hardening to many library functions. 3941 // Set to 1 or 2; 2 performs stricter checks than 1. 3942 // 3943 // _REENTRANT, _THREAD_SAFE 3944 // Obsolete; equivalent to _POSIX_C_SOURCE=199506L. 3945 // 3946 // The `-ansi' switch to the GNU C compiler, and standards conformance 3947 // options such as `-std=c99', define __STRICT_ANSI__. If none of 3948 // these are defined, or if _DEFAULT_SOURCE is defined, the default is 3949 // to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to 3950 // 200809L, as well as enabling miscellaneous functions from BSD and 3951 // SVID. If more than one of these are defined, they accumulate. For 3952 // example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together 3953 // give you ISO C, 1003.1, and 1003.2, but nothing else. 3954 // 3955 // These are defined by this file and are used by the 3956 // header files to decide what to declare or define: 3957 // 3958 // __GLIBC_USE (F) Define things from feature set F. This is defined 3959 // to 1 or 0; the subsequent macros are either defined 3960 // or undefined, and those tests should be moved to 3961 // __GLIBC_USE. 3962 // __USE_ISOC11 Define ISO C11 things. 3963 // __USE_ISOC99 Define ISO C99 things. 3964 // __USE_ISOC95 Define ISO C90 AMD1 (C95) things. 3965 // __USE_ISOCXX11 Define ISO C++11 things. 3966 // __USE_POSIX Define IEEE Std 1003.1 things. 3967 // __USE_POSIX2 Define IEEE Std 1003.2 things. 3968 // __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things. 3969 // __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things. 3970 // __USE_XOPEN Define XPG things. 3971 // __USE_XOPEN_EXTENDED Define X/Open Unix things. 3972 // __USE_UNIX98 Define Single Unix V2 things. 3973 // __USE_XOPEN2K Define XPG6 things. 3974 // __USE_XOPEN2KXSI Define XPG6 XSI things. 3975 // __USE_XOPEN2K8 Define XPG7 things. 3976 // __USE_XOPEN2K8XSI Define XPG7 XSI things. 3977 // __USE_LARGEFILE Define correct standard I/O things. 3978 // __USE_LARGEFILE64 Define LFS things with separate names. 3979 // __USE_FILE_OFFSET64 Define 64bit interface as default. 3980 // __USE_MISC Define things from 4.3BSD or System V Unix. 3981 // __USE_ATFILE Define *at interfaces and AT_* constants for them. 3982 // __USE_GNU Define GNU extensions. 3983 // __USE_FORTIFY_LEVEL Additional security measures used, according to level. 3984 // 3985 // The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are 3986 // defined by this file unconditionally. `__GNU_LIBRARY__' is provided 3987 // only for compatibility. All new code should use the other symbols 3988 // to test for features. 3989 // 3990 // All macros listed above as possibly being defined by this file are 3991 // explicitly undefined if they are not explicitly defined. 3992 // Feature-test macros that are not defined by the user or compiler 3993 // but are implied by the other feature-test macros defined (or by the 3994 // lack of any definitions) are defined by the file. 3995 // 3996 // ISO C feature test macros depend on the definition of the macro 3997 // when an affected header is included, not when the first system 3998 // header is included, and so they are handled in 3999 // <bits/libc-header-start.h>, which does not have a multiple include 4000 // guard. Feature test macros that can be handled from the first 4001 // system header included are handled here. 4002 4003 // Undefine everything, so we get a clean slate. 4004 4005 // Suppress kernel-name space pollution unless user expressedly asks 4006 // for it. 4007 4008 // Convenience macro to test the version of gcc. 4009 // Use like this: 4010 // #if __GNUC_PREREQ (2,8) 4011 // ... code requiring gcc 2.8 or later ... 4012 // #endif 4013 // Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was 4014 // added in 2.0. 4015 4016 // Similarly for clang. Features added to GCC after version 4.2 may 4017 // or may not also be available in clang, and clang's definitions of 4018 // __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such 4019 // features can be queried via __has_extension/__has_feature. 4020 4021 // Whether to use feature set F. 4022 4023 // _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for 4024 // _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not 4025 // issue a warning; the expectation is that the source is being 4026 // transitioned to use the new macro. 4027 4028 // If _GNU_SOURCE was defined by the user, turn on all the other features. 4029 4030 // If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, 4031 // define _DEFAULT_SOURCE. 4032 4033 // This is to enable the ISO C2X extension. 4034 4035 // This is to enable the ISO C11 extension. 4036 4037 // This is to enable the ISO C99 extension. 4038 4039 // This is to enable the ISO C90 Amendment 1:1995 extension. 4040 4041 // If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE 4042 // is defined, use POSIX.1-2008 (or another version depending on 4043 // _XOPEN_SOURCE). 4044 4045 // Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be 4046 // defined in all multithreaded code. GNU libc has not required this 4047 // for many years. We now treat them as compatibility synonyms for 4048 // _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with 4049 // comprehensive support for multithreaded code. Using them never 4050 // lowers the selected level of POSIX conformance, only raises it. 4051 4052 // The function 'gets' existed in C89, but is impossible to use 4053 // safely. It has been removed from ISO C11 and ISO C++14. Note: for 4054 // compatibility with various implementations of <cstdio>, this test 4055 // must consider only the value of __cplusplus when compiling C++. 4056 4057 // GNU formerly extended the scanf functions with modified format 4058 // specifiers %as, %aS, and %a[...] that allocate a buffer for the 4059 // input using malloc. This extension conflicts with ISO C99, which 4060 // defines %a as a standalone format specifier that reads a floating- 4061 // point number; moreover, POSIX.1-2008 provides the same feature 4062 // using the modifier letter 'm' instead (%ms, %mS, %m[...]). 4063 // 4064 // We now follow C99 unless GNU extensions are active and the compiler 4065 // is specifically in C89 or C++98 mode (strict or not). For 4066 // instance, with GCC, -std=gnu11 will have C99-compliant scanf with 4067 // or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the 4068 // old extension. 4069 4070 // Get definitions of __STDC_* predefined macros, if the compiler has 4071 // not preincluded this header automatically. 4072 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4073 // This file is part of the GNU C Library. 4074 // 4075 // The GNU C Library is free software; you can redistribute it and/or 4076 // modify it under the terms of the GNU Lesser General Public 4077 // License as published by the Free Software Foundation; either 4078 // version 2.1 of the License, or (at your option) any later version. 4079 // 4080 // The GNU C Library is distributed in the hope that it will be useful, 4081 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4082 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4083 // Lesser General Public License for more details. 4084 // 4085 // You should have received a copy of the GNU Lesser General Public 4086 // License along with the GNU C Library; if not, see 4087 // <https://www.gnu.org/licenses/>. 4088 4089 // This macro indicates that the installed library is the GNU C Library. 4090 // For historic reasons the value now is 6 and this will stay from now 4091 // on. The use of this variable is deprecated. Use __GLIBC__ and 4092 // __GLIBC_MINOR__ now (see below) when you want to test for a specific 4093 // GNU C library version and use the values in <gnu/lib-names.h> to get 4094 // the sonames of the shared libraries. 4095 4096 // Major and minor version number of the GNU C library package. Use 4097 // these macros to test for features in specific releases. 4098 4099 // This is here only because every header file already includes this one. 4100 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 4101 // This file is part of the GNU C Library. 4102 // 4103 // The GNU C Library is free software; you can redistribute it and/or 4104 // modify it under the terms of the GNU Lesser General Public 4105 // License as published by the Free Software Foundation; either 4106 // version 2.1 of the License, or (at your option) any later version. 4107 // 4108 // The GNU C Library is distributed in the hope that it will be useful, 4109 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4110 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4111 // Lesser General Public License for more details. 4112 // 4113 // You should have received a copy of the GNU Lesser General Public 4114 // License along with the GNU C Library; if not, see 4115 // <https://www.gnu.org/licenses/>. 4116 4117 // We are almost always included from features.h. 4118 4119 // The GNU libc does not support any K&R compilers or the traditional mode 4120 // of ISO C compilers anymore. Check for some of the combinations not 4121 // anymore supported. 4122 4123 // Some user header file might have defined this before. 4124 4125 // All functions, except those with callbacks or those that 4126 // synchronize memory, are leaf functions. 4127 4128 // GCC can always grok prototypes. For C++ programs we add throw() 4129 // to help it optimize the function calls. But this works only with 4130 // gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions 4131 // as non-throwing using a function attribute since programs can use 4132 // the -fexceptions options for C code as well. 4133 4134 // Compilers that are not clang may object to 4135 // #if defined __clang__ && __has_extension(...) 4136 // even though they do not need to evaluate the right-hand side of the &&. 4137 4138 // These two macros are not used in glibc anymore. They are kept here 4139 // only because some other projects expect the macros to be defined. 4140 4141 // For these things, GCC behaves the ANSI way normally, 4142 // and the non-ANSI way under -traditional. 4143 4144 // This is not a typedef so `const __ptr_t' does the right thing. 4145 4146 // C++ needs to know that types and declarations are C, not C++. 4147 4148 // Fortify support. 4149 4150 // Support for flexible arrays. 4151 // Headers that should use flexible arrays only if they're "real" 4152 // (e.g. only if they won't affect sizeof()) should test 4153 // #if __glibc_c99_flexarr_available. 4154 4155 // __asm__ ("xyz") is used throughout the headers to rename functions 4156 // at the assembly language level. This is wrapped by the __REDIRECT 4157 // macro, in order to support compilers that can do this some other 4158 // way. When compilers don't support asm-names at all, we have to do 4159 // preprocessor tricks instead (which don't have exactly the right 4160 // semantics, but it's the best we can do). 4161 // 4162 // Example: 4163 // int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); 4164 4165 // 4166 // #elif __SOME_OTHER_COMPILER__ 4167 // 4168 // # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias) 4169 4170 // GCC has various useful declarations that can be made with the 4171 // `__attribute__' syntax. All of the ways we use this do fine if 4172 // they are omitted for compilers that don't understand it. 4173 4174 // At some point during the gcc 2.96 development the `malloc' attribute 4175 // for functions was introduced. We don't want to use it unconditionally 4176 // (although this would be possible) since it generates warnings. 4177 4178 // Tell the compiler which arguments to an allocation function 4179 // indicate the size of the allocation. 4180 4181 // At some point during the gcc 2.96 development the `pure' attribute 4182 // for functions was introduced. We don't want to use it unconditionally 4183 // (although this would be possible) since it generates warnings. 4184 4185 // This declaration tells the compiler that the value is constant. 4186 4187 // At some point during the gcc 3.1 development the `used' attribute 4188 // for functions was introduced. We don't want to use it unconditionally 4189 // (although this would be possible) since it generates warnings. 4190 4191 // Since version 3.2, gcc allows marking deprecated functions. 4192 4193 // Since version 4.5, gcc also allows one to specify the message printed 4194 // when a deprecated function is used. clang claims to be gcc 4.2, but 4195 // may also support this feature. 4196 4197 // At some point during the gcc 2.8 development the `format_arg' attribute 4198 // for functions was introduced. We don't want to use it unconditionally 4199 // (although this would be possible) since it generates warnings. 4200 // If several `format_arg' attributes are given for the same function, in 4201 // gcc-3.0 and older, all but the last one are ignored. In newer gccs, 4202 // all designated arguments are considered. 4203 4204 // At some point during the gcc 2.97 development the `strfmon' format 4205 // attribute for functions was introduced. We don't want to use it 4206 // unconditionally (although this would be possible) since it 4207 // generates warnings. 4208 4209 // The nonull function attribute allows to mark pointer parameters which 4210 // must not be NULL. 4211 4212 // If fortification mode, we warn about unused results of certain 4213 // function calls which can lead to problems. 4214 4215 // Forces a function to be always inlined. 4216 // The Linux kernel defines __always_inline in stddef.h (283d7573), and 4217 // it conflicts with this definition. Therefore undefine it first to 4218 // allow either header to be included first. 4219 4220 // Associate error messages with the source location of the call site rather 4221 // than with the source location inside the function. 4222 4223 // GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 4224 // inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__ 4225 // or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions 4226 // older than 4.3 may define these macros and still not guarantee GNU inlining 4227 // semantics. 4228 // 4229 // clang++ identifies itself as gcc-4.2, but has support for GNU inlining 4230 // semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and 4231 // __GNUC_GNU_INLINE__ macro definitions. 4232 4233 // GCC 4.3 and above allow passing all anonymous arguments of an 4234 // __extern_always_inline function to some other vararg function. 4235 4236 // It is possible to compile containing GCC extensions even if GCC is 4237 // run in pedantic mode if the uses are carefully marked using the 4238 // `__extension__' keyword. But this is not generally available before 4239 // version 2.8. 4240 4241 // __restrict is known in EGCS 1.2 and above. 4242 4243 // ISO C99 also allows to declare arrays as non-overlapping. The syntax is 4244 // array_name[restrict] 4245 // GCC 3.1 supports this. 4246 4247 // Describes a char array whose address can safely be passed as the first 4248 // argument to strncpy and strncat, as the char array is not necessarily 4249 // a NUL-terminated string. 4250 4251 // Undefine (also defined in libc-symbols.h). 4252 // Copies attributes from the declaration or type referenced by 4253 // the argument. 4254 4255 // Copyright (C) 1999-2020 Free Software Foundation, Inc. 4256 // This file is part of the GNU C Library. 4257 // 4258 // The GNU C Library is free software; you can redistribute it and/or 4259 // modify it under the terms of the GNU Lesser General Public 4260 // License as published by the Free Software Foundation; either 4261 // version 2.1 of the License, or (at your option) any later version. 4262 // 4263 // The GNU C Library is distributed in the hope that it will be useful, 4264 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4265 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4266 // Lesser General Public License for more details. 4267 // 4268 // You should have received a copy of the GNU Lesser General Public 4269 // License along with the GNU C Library; if not, see 4270 // <https://www.gnu.org/licenses/>. 4271 4272 // Properties of long double type. 4273 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 4274 // This file is part of the GNU C Library. 4275 // 4276 // The GNU C Library is free software; you can redistribute it and/or 4277 // modify it under the terms of the GNU Lesser General Public 4278 // License published by the Free Software Foundation; either 4279 // version 2.1 of the License, or (at your option) any later version. 4280 // 4281 // The GNU C Library is distributed in the hope that it will be useful, 4282 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4283 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4284 // Lesser General Public License for more details. 4285 // 4286 // You should have received a copy of the GNU Lesser General Public 4287 // License along with the GNU C Library; if not, see 4288 // <https://www.gnu.org/licenses/>. 4289 4290 // This header is included by <sys/cdefs.h>. 4291 // 4292 // If long double is ABI-compatible with double, it should define 4293 // __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave 4294 // __NO_LONG_DOUBLE_MATH undefined. 4295 // 4296 // If this build of the GNU C Library supports both long double 4297 // ABI-compatible with double and some other long double format not 4298 // ABI-compatible with double, it should define 4299 // __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave 4300 // __LONG_DOUBLE_MATH_OPTIONAL undefined. 4301 // 4302 // If __NO_LONG_DOUBLE_MATH is already defined, this header must not 4303 // define anything; this is needed to work with the definition of 4304 // __NO_LONG_DOUBLE_MATH in nldbl-compat.h. 4305 4306 // In the default version of this header, long double is 4307 // ABI-compatible with double. 4308 4309 // __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is 4310 // intended for use in preprocessor macros. 4311 // 4312 // Note: MESSAGE must be a _single_ string; concatenation of string 4313 // literals is not supported. 4314 4315 // Generic selection (ISO C11) is a C-only feature, available in GCC 4316 // since version 4.9. Previous versions do not provide generic 4317 // selection, even though they might set __STDC_VERSION__ to 201112L, 4318 // when in -std=c11 mode. Thus, we must check for !defined __GNUC__ 4319 // when testing __STDC_VERSION__ for generic selection support. 4320 // On the other hand, Clang also defines __GNUC__, so a clang-specific 4321 // check is required to enable the use of generic selection. 4322 4323 // If we don't have __REDIRECT, prototypes will be missing if 4324 // __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. 4325 4326 // Decide whether we can define 'extern inline' functions in headers. 4327 4328 // This is here only because every header file already includes this one. 4329 // Get the definitions of all the appropriate `__stub_FUNCTION' symbols. 4330 // <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub 4331 // that will always return failure (and set errno to ENOSYS). 4332 // This file is automatically generated. 4333 // This file selects the right generated file of `__stub_FUNCTION' macros 4334 // based on the architecture being compiled for. 4335 4336 // This file is automatically generated. 4337 // It defines a symbol `__stub_FUNCTION' for each function 4338 // in the C library which is a stub, meaning it will fail 4339 // every time called, usually setting errno to ENOSYS. 4340 4341 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 4342 // macro. 4343 4344 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 4345 // macro. Most but not all symbols enabled by that macro in TS 4346 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 4347 // still require that macro in C2X. 4348 4349 // ISO/IEC TS 18661-4:2015 defines the 4350 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 4351 // functions, the symbols from this TS are enabled unconditionally in 4352 // C2X. 4353 4354 // ISO/IEC TS 18661-3:2015 defines the 4355 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 4356 // bits/types.h -- definitions of __*_t types underlying *_t types. 4357 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4358 // This file is part of the GNU C Library. 4359 // 4360 // The GNU C Library is free software; you can redistribute it and/or 4361 // modify it under the terms of the GNU Lesser General Public 4362 // License as published by the Free Software Foundation; either 4363 // version 2.1 of the License, or (at your option) any later version. 4364 // 4365 // The GNU C Library is distributed in the hope that it will be useful, 4366 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4367 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4368 // Lesser General Public License for more details. 4369 // 4370 // You should have received a copy of the GNU Lesser General Public 4371 // License along with the GNU C Library; if not, see 4372 // <https://www.gnu.org/licenses/>. 4373 4374 // Never include this file directly; use <sys/types.h> instead. 4375 4376 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4377 // This file is part of the GNU C Library. 4378 // 4379 // The GNU C Library is free software; you can redistribute it and/or 4380 // modify it under the terms of the GNU Lesser General Public 4381 // License as published by the Free Software Foundation; either 4382 // version 2.1 of the License, or (at your option) any later version. 4383 // 4384 // The GNU C Library is distributed in the hope that it will be useful, 4385 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4386 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4387 // Lesser General Public License for more details. 4388 // 4389 // You should have received a copy of the GNU Lesser General Public 4390 // License along with the GNU C Library; if not, see 4391 // <https://www.gnu.org/licenses/>. 4392 4393 // Copyright (C) 1999-2020 Free Software Foundation, Inc. 4394 // This file is part of the GNU C Library. 4395 // 4396 // The GNU C Library is free software; you can redistribute it and/or 4397 // modify it under the terms of the GNU Lesser General Public 4398 // License as published by the Free Software Foundation; either 4399 // version 2.1 of the License, or (at your option) any later version. 4400 // 4401 // The GNU C Library is distributed in the hope that it will be useful, 4402 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4403 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4404 // Lesser General Public License for more details. 4405 // 4406 // You should have received a copy of the GNU Lesser General Public 4407 // License along with the GNU C Library; if not, see 4408 // <https://www.gnu.org/licenses/>. 4409 4410 // Bit size of the time_t type at glibc build time, general case. 4411 // Copyright (C) 2018-2020 Free Software Foundation, Inc. 4412 // This file is part of the GNU C Library. 4413 // 4414 // The GNU C Library is free software; you can redistribute it and/or 4415 // modify it under the terms of the GNU Lesser General Public 4416 // License as published by the Free Software Foundation; either 4417 // version 2.1 of the License, or (at your option) any later version. 4418 // 4419 // The GNU C Library is distributed in the hope that it will be useful, 4420 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4421 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4422 // Lesser General Public License for more details. 4423 // 4424 // You should have received a copy of the GNU Lesser General Public 4425 // License along with the GNU C Library; if not, see 4426 // <https://www.gnu.org/licenses/>. 4427 4428 // Copyright (C) 1999-2020 Free Software Foundation, Inc. 4429 // This file is part of the GNU C Library. 4430 // 4431 // The GNU C Library is free software; you can redistribute it and/or 4432 // modify it under the terms of the GNU Lesser General Public 4433 // License as published by the Free Software Foundation; either 4434 // version 2.1 of the License, or (at your option) any later version. 4435 // 4436 // The GNU C Library is distributed in the hope that it will be useful, 4437 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4438 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4439 // Lesser General Public License for more details. 4440 // 4441 // You should have received a copy of the GNU Lesser General Public 4442 // License along with the GNU C Library; if not, see 4443 // <https://www.gnu.org/licenses/>. 4444 4445 // Size in bits of the 'time_t' type of the default ABI. 4446 4447 // Convenience types. 4448 type X__u_char = uint8 /* types.h:31:23 */ 4449 type X__u_short = uint16 /* types.h:32:28 */ 4450 type X__u_int = uint32 /* types.h:33:22 */ 4451 type X__u_long = uint32 /* types.h:34:27 */ 4452 4453 // Fixed-size types, underlying types depend on word size and compiler. 4454 type X__int8_t = int8 /* types.h:37:21 */ 4455 type X__uint8_t = uint8 /* types.h:38:23 */ 4456 type X__int16_t = int16 /* types.h:39:26 */ 4457 type X__uint16_t = uint16 /* types.h:40:28 */ 4458 type X__int32_t = int32 /* types.h:41:20 */ 4459 type X__uint32_t = uint32 /* types.h:42:22 */ 4460 type X__int64_t = int64 /* types.h:47:44 */ 4461 type X__uint64_t = uint64 /* types.h:48:46 */ 4462 4463 // Smallest types with at least a given width. 4464 type X__int_least8_t = X__int8_t /* types.h:52:18 */ 4465 type X__uint_least8_t = X__uint8_t /* types.h:53:19 */ 4466 type X__int_least16_t = X__int16_t /* types.h:54:19 */ 4467 type X__uint_least16_t = X__uint16_t /* types.h:55:20 */ 4468 type X__int_least32_t = X__int32_t /* types.h:56:19 */ 4469 type X__uint_least32_t = X__uint32_t /* types.h:57:20 */ 4470 type X__int_least64_t = X__int64_t /* types.h:58:19 */ 4471 type X__uint_least64_t = X__uint64_t /* types.h:59:20 */ 4472 4473 // quad_t is also 64 bits. 4474 type X__quad_t = int64 /* types.h:66:37 */ 4475 type X__u_quad_t = uint64 /* types.h:67:46 */ 4476 4477 // Largest integral types. 4478 type X__intmax_t = int64 /* types.h:75:37 */ 4479 type X__uintmax_t = uint64 /* types.h:76:46 */ 4480 4481 // The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE 4482 // macros for each of the OS types we define below. The definitions 4483 // of those macros must use the following macros for underlying types. 4484 // We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned 4485 // variants of each of the following integer types on this machine. 4486 // 4487 // 16 -- "natural" 16-bit type (always short) 4488 // 32 -- "natural" 32-bit type (always int) 4489 // 64 -- "natural" 64-bit type (long or long long) 4490 // LONG32 -- 32-bit type, traditionally long 4491 // QUAD -- 64-bit type, traditionally long long 4492 // WORD -- natural type of __WORDSIZE bits (int or long) 4493 // LONGWORD -- type of __WORDSIZE bits, traditionally long 4494 // 4495 // We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the 4496 // conventional uses of `long' or `long long' type modifiers match the 4497 // types we define, even when a less-adorned type would be the same size. 4498 // This matters for (somewhat) portably writing printf/scanf formats for 4499 // these types, where using the appropriate l or ll format modifiers can 4500 // make the typedefs and the formats match up across all GNU platforms. If 4501 // we used `long' when it's 64 bits where `long long' is expected, then the 4502 // compiler would warn about the formats not matching the argument types, 4503 // and the programmer changing them to shut up the compiler would break the 4504 // program's portability. 4505 // 4506 // Here we assume what is presently the case in all the GCC configurations 4507 // we support: long long is always 64 bits, long is always word/address size, 4508 // and int is always 32 bits. 4509 4510 // We want __extension__ before typedef's that use nonstandard base types 4511 // such as `long long' in C89 mode. 4512 // bits/typesizes.h -- underlying types for *_t. Generic version. 4513 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4514 // This file is part of the GNU C Library. 4515 // 4516 // The GNU C Library is free software; you can redistribute it and/or 4517 // modify it under the terms of the GNU Lesser General Public 4518 // License as published by the Free Software Foundation; either 4519 // version 2.1 of the License, or (at your option) any later version. 4520 // 4521 // The GNU C Library is distributed in the hope that it will be useful, 4522 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4523 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4524 // Lesser General Public License for more details. 4525 // 4526 // You should have received a copy of the GNU Lesser General Public 4527 // License along with the GNU C Library; if not, see 4528 // <https://www.gnu.org/licenses/>. 4529 4530 // See <bits/types.h> for the meaning of these macros. This file exists so 4531 // that <bits/types.h> need not vary across different GNU platforms. 4532 4533 // Number of descriptors that can fit in an `fd_set'. 4534 4535 // bits/time64.h -- underlying types for __time64_t. Generic version. 4536 // Copyright (C) 2018-2020 Free Software Foundation, Inc. 4537 // This file is part of the GNU C Library. 4538 // 4539 // The GNU C Library is free software; you can redistribute it and/or 4540 // modify it under the terms of the GNU Lesser General Public 4541 // License as published by the Free Software Foundation; either 4542 // version 2.1 of the License, or (at your option) any later version. 4543 // 4544 // The GNU C Library is distributed in the hope that it will be useful, 4545 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4546 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4547 // Lesser General Public License for more details. 4548 // 4549 // You should have received a copy of the GNU Lesser General Public 4550 // License along with the GNU C Library; if not, see 4551 // <https://www.gnu.org/licenses/>. 4552 4553 // Define __TIME64_T_TYPE so that it is always a 64-bit type. 4554 4555 // Define a 64-bit time type alongsize the 32-bit one. 4556 4557 type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers. 4558 type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications. 4559 type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications. 4560 type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers. 4561 type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS). 4562 type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks. 4563 type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts. 4564 type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets. 4565 type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS). 4566 type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications. 4567 type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs. 4568 type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts. 4569 type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement. 4570 type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS). 4571 type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs. 4572 type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch. 4573 type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds. 4574 type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds. 4575 4576 type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address. 4577 type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key. 4578 4579 // Clock ID used in clock and timer functions. 4580 type X__clockid_t = int32 /* types.h:168:29 */ 4581 4582 // Timer ID returned by `timer_create'. 4583 type X__timer_t = uintptr /* types.h:171:12 */ 4584 4585 // Type to represent block size. 4586 type X__blksize_t = int32 /* types.h:174:29 */ 4587 4588 // Types from the Large File Support interface. 4589 4590 // Type to count number of disk blocks. 4591 type X__blkcnt_t = int32 /* types.h:179:28 */ 4592 type X__blkcnt64_t = X__int64_t /* types.h:180:30 */ 4593 4594 // Type to count file system blocks. 4595 type X__fsblkcnt_t = uint32 /* types.h:183:30 */ 4596 type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */ 4597 4598 // Type to count file system nodes. 4599 type X__fsfilcnt_t = uint32 /* types.h:187:30 */ 4600 type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */ 4601 4602 // Type of miscellaneous file system fields. 4603 type X__fsword_t = int32 /* types.h:191:28 */ 4604 4605 type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error. 4606 4607 // Signed long type used in system calls. 4608 type X__syscall_slong_t = int32 /* types.h:196:33 */ 4609 // Unsigned long type used in system calls. 4610 type X__syscall_ulong_t = uint32 /* types.h:198:33 */ 4611 4612 // These few don't really vary by system, they always correspond 4613 // to one of the other defined types. 4614 type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS). 4615 type X__caddr_t = uintptr /* types.h:203:14 */ 4616 4617 // Duplicates info from stdint.h but this is used in unistd.h. 4618 type X__intptr_t = int32 /* types.h:206:25 */ 4619 4620 // Duplicate info from sys/socket.h. 4621 type X__socklen_t = uint32 /* types.h:209:23 */ 4622 4623 // C99: An integer type that can be accessed as an atomic entity, 4624 // even in the presence of asynchronous interrupts. 4625 // It is not currently necessary for this to be machine-specific. 4626 type X__sig_atomic_t = int32 /* types.h:214:13 */ 4627 4628 // Seconds since the Epoch, visible to user code when time_t is too 4629 // narrow only for consistency with the old way of widening too-narrow 4630 // types. User code should never use __time64_t. 4631 type X__time64_t = X__int64_t /* types.h:222:28 */ 4632 4633 // wchar_t type related definitions. 4634 // Copyright (C) 2000-2020 Free Software Foundation, Inc. 4635 // This file is part of the GNU C Library. 4636 // 4637 // The GNU C Library is free software; you can redistribute it and/or 4638 // modify it under the terms of the GNU Lesser General Public 4639 // License as published by the Free Software Foundation; either 4640 // version 2.1 of the License, or (at your option) any later version. 4641 // 4642 // The GNU C Library is distributed in the hope that it will be useful, 4643 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4644 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4645 // Lesser General Public License for more details. 4646 // 4647 // You should have received a copy of the GNU Lesser General Public 4648 // License along with the GNU C Library; if not, see 4649 // <https://www.gnu.org/licenses/>. 4650 4651 // The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__ 4652 // are not defined, give the right value and type as long as both int 4653 // and wchar_t are 32-bit types. Adding L'\0' to a constant value 4654 // ensures that the type is correct; it is necessary to use (L'\0' + 4655 // 0) rather than just L'\0' so that the type in C++ is the promoted 4656 // version of wchar_t rather than the distinct wchar_t type itself. 4657 // Because wchar_t in preprocessor #if expressions is treated as 4658 // intmax_t or uintmax_t, the expression (L'\0' - 1) would have the 4659 // wrong value for WCHAR_MAX in such expressions and so cannot be used 4660 // to define __WCHAR_MAX in the unsigned case. 4661 4662 // Copyright (C) 1999-2020 Free Software Foundation, Inc. 4663 // This file is part of the GNU C Library. 4664 // 4665 // The GNU C Library is free software; you can redistribute it and/or 4666 // modify it under the terms of the GNU Lesser General Public 4667 // License as published by the Free Software Foundation; either 4668 // version 2.1 of the License, or (at your option) any later version. 4669 // 4670 // The GNU C Library is distributed in the hope that it will be useful, 4671 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4672 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4673 // Lesser General Public License for more details. 4674 // 4675 // You should have received a copy of the GNU Lesser General Public 4676 // License along with the GNU C Library; if not, see 4677 // <https://www.gnu.org/licenses/>. 4678 4679 // Exact integral types. 4680 4681 // Signed. 4682 // Define intN_t types. 4683 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 4684 // This file is part of the GNU C Library. 4685 // 4686 // The GNU C Library is free software; you can redistribute it and/or 4687 // modify it under the terms of the GNU Lesser General Public 4688 // License as published by the Free Software Foundation; either 4689 // version 2.1 of the License, or (at your option) any later version. 4690 // 4691 // The GNU C Library is distributed in the hope that it will be useful, 4692 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4693 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4694 // Lesser General Public License for more details. 4695 // 4696 // You should have received a copy of the GNU Lesser General Public 4697 // License along with the GNU C Library; if not, see 4698 // <https://www.gnu.org/licenses/>. 4699 4700 // bits/types.h -- definitions of __*_t types underlying *_t types. 4701 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4702 // This file is part of the GNU C Library. 4703 // 4704 // The GNU C Library is free software; you can redistribute it and/or 4705 // modify it under the terms of the GNU Lesser General Public 4706 // License as published by the Free Software Foundation; either 4707 // version 2.1 of the License, or (at your option) any later version. 4708 // 4709 // The GNU C Library is distributed in the hope that it will be useful, 4710 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4711 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4712 // Lesser General Public License for more details. 4713 // 4714 // You should have received a copy of the GNU Lesser General Public 4715 // License along with the GNU C Library; if not, see 4716 // <https://www.gnu.org/licenses/>. 4717 4718 // Never include this file directly; use <sys/types.h> instead. 4719 4720 type Int8_t = X__int8_t /* stdint-intn.h:24:18 */ 4721 type Int16_t = X__int16_t /* stdint-intn.h:25:19 */ 4722 type Int32_t = X__int32_t /* stdint-intn.h:26:19 */ 4723 type Int64_t = X__int64_t /* stdint-intn.h:27:19 */ 4724 4725 // Unsigned. 4726 // Define uintN_t types. 4727 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 4728 // This file is part of the GNU C Library. 4729 // 4730 // The GNU C Library is free software; you can redistribute it and/or 4731 // modify it under the terms of the GNU Lesser General Public 4732 // License as published by the Free Software Foundation; either 4733 // version 2.1 of the License, or (at your option) any later version. 4734 // 4735 // The GNU C Library is distributed in the hope that it will be useful, 4736 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4737 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4738 // Lesser General Public License for more details. 4739 // 4740 // You should have received a copy of the GNU Lesser General Public 4741 // License along with the GNU C Library; if not, see 4742 // <https://www.gnu.org/licenses/>. 4743 4744 // bits/types.h -- definitions of __*_t types underlying *_t types. 4745 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4746 // This file is part of the GNU C Library. 4747 // 4748 // The GNU C Library is free software; you can redistribute it and/or 4749 // modify it under the terms of the GNU Lesser General Public 4750 // License as published by the Free Software Foundation; either 4751 // version 2.1 of the License, or (at your option) any later version. 4752 // 4753 // The GNU C Library is distributed in the hope that it will be useful, 4754 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4755 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4756 // Lesser General Public License for more details. 4757 // 4758 // You should have received a copy of the GNU Lesser General Public 4759 // License along with the GNU C Library; if not, see 4760 // <https://www.gnu.org/licenses/>. 4761 4762 // Never include this file directly; use <sys/types.h> instead. 4763 4764 type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */ 4765 type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */ 4766 type Uint32_t = X__uint32_t /* stdint-uintn.h:26:20 */ 4767 type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */ 4768 4769 // Small types. 4770 4771 // Signed. 4772 type Int_least8_t = X__int_least8_t /* stdint.h:43:24 */ 4773 type Int_least16_t = X__int_least16_t /* stdint.h:44:25 */ 4774 type Int_least32_t = X__int_least32_t /* stdint.h:45:25 */ 4775 type Int_least64_t = X__int_least64_t /* stdint.h:46:25 */ 4776 4777 // Unsigned. 4778 type Uint_least8_t = X__uint_least8_t /* stdint.h:49:25 */ 4779 type Uint_least16_t = X__uint_least16_t /* stdint.h:50:26 */ 4780 type Uint_least32_t = X__uint_least32_t /* stdint.h:51:26 */ 4781 type Uint_least64_t = X__uint_least64_t /* stdint.h:52:26 */ 4782 4783 // Fast types. 4784 4785 // Signed. 4786 type Int_fast8_t = int8 /* stdint.h:58:22 */ 4787 type Int_fast16_t = int32 /* stdint.h:64:15 */ 4788 type Int_fast32_t = int32 /* stdint.h:65:15 */ 4789 4790 type Int_fast64_t = int64 /* stdint.h:67:24 */ 4791 4792 // Unsigned. 4793 type Uint_fast8_t = uint8 /* stdint.h:71:24 */ 4794 type Uint_fast16_t = uint32 /* stdint.h:77:23 */ 4795 type Uint_fast32_t = uint32 /* stdint.h:78:23 */ 4796 4797 type Uint_fast64_t = uint64 /* stdint.h:80:32 */ 4798 4799 // Types for `void *' pointers. 4800 type Intptr_t = int32 /* stdint.h:93:15 */ 4801 type Uintptr_t = uint32 /* stdint.h:96:23 */ 4802 4803 // Largest integral types. 4804 type Intmax_t = X__intmax_t /* stdint.h:101:21 */ 4805 type Uintmax_t = X__uintmax_t /* stdint.h:102:22 */ 4806 4807 // Limits of integral types. 4808 4809 // Minimum of signed integral types. 4810 // Maximum of signed integral types. 4811 4812 // Maximum of unsigned integral types. 4813 4814 // Minimum of signed integral types having a minimum size. 4815 // Maximum of signed integral types having a minimum size. 4816 4817 // Maximum of unsigned integral types having a minimum size. 4818 4819 // Minimum of fast signed integral types having a minimum size. 4820 // Maximum of fast signed integral types having a minimum size. 4821 4822 // Maximum of fast unsigned integral types having a minimum size. 4823 4824 // Values to test for integral types holding `void *' pointer. 4825 4826 // Minimum for largest signed integral type. 4827 // Maximum for largest signed integral type. 4828 4829 // Maximum for largest unsigned integral type. 4830 4831 // Limits of other integer types. 4832 4833 // Limits of `ptrdiff_t' type. 4834 4835 // Limits of `sig_atomic_t'. 4836 4837 // Limit of `size_t' type. 4838 4839 // Limits of `wchar_t'. 4840 // These constants might also be defined in <wchar.h>. 4841 4842 // Limits of `wint_t'. 4843 4844 // Signed. 4845 4846 // Unsigned. 4847 4848 // Maximal type. 4849 4850 // 4851 // 4852 // Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 4853 // 4854 // Permission to use, copy, modify, distribute, and sell this software and its 4855 // documentation for any purpose is hereby granted without fee, provided that 4856 // the above copyright notice appear in all copies and that both that 4857 // copyright notice and this permission notice appear in supporting 4858 // documentation. 4859 // 4860 // The above copyright notice and this permission notice shall be included in 4861 // all copies or substantial portions of the Software. 4862 // 4863 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 4864 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 4865 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 4866 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 4867 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 4868 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 4869 // 4870 // Except as contained in this notice, the name of The Open Group shall not be 4871 // used in advertising or otherwise to promote the sale, use or other dealings 4872 // in this Software without prior written authorization from The Open Group. 4873 // 4874 4875 // Xlib.h - Header definition and support file for the C subroutine 4876 // interface library (Xlib) to the X Window System Protocol (V11). 4877 // Structures and symbols starting with "_" are private to the library. 4878 4879 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4880 // This file is part of the GNU C Library. 4881 // 4882 // The GNU C Library is free software; you can redistribute it and/or 4883 // modify it under the terms of the GNU Lesser General Public 4884 // License as published by the Free Software Foundation; either 4885 // version 2.1 of the License, or (at your option) any later version. 4886 // 4887 // The GNU C Library is distributed in the hope that it will be useful, 4888 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4889 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4890 // Lesser General Public License for more details. 4891 // 4892 // You should have received a copy of the GNU Lesser General Public 4893 // License along with the GNU C Library; if not, see 4894 // <https://www.gnu.org/licenses/>. 4895 4896 // POSIX Standard: 2.6 Primitive System Data Types <sys/types.h> 4897 4898 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4899 // This file is part of the GNU C Library. 4900 // 4901 // The GNU C Library is free software; you can redistribute it and/or 4902 // modify it under the terms of the GNU Lesser General Public 4903 // License as published by the Free Software Foundation; either 4904 // version 2.1 of the License, or (at your option) any later version. 4905 // 4906 // The GNU C Library is distributed in the hope that it will be useful, 4907 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4908 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4909 // Lesser General Public License for more details. 4910 // 4911 // You should have received a copy of the GNU Lesser General Public 4912 // License along with the GNU C Library; if not, see 4913 // <https://www.gnu.org/licenses/>. 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 type U_char = X__u_char /* types.h:33:18 */ 4936 type U_short = X__u_short /* types.h:34:19 */ 4937 type U_int = X__u_int /* types.h:35:17 */ 4938 type U_long = X__u_long /* types.h:36:18 */ 4939 type Quad_t = X__quad_t /* types.h:37:18 */ 4940 type U_quad_t = X__u_quad_t /* types.h:38:20 */ 4941 type Fsid_t = X__fsid_t /* types.h:39:18 */ 4942 type Loff_t = X__loff_t /* types.h:42:18 */ 4943 4944 type Ino_t = X__ino64_t /* types.h:49:19 */ 4945 4946 type Dev_t = X__dev_t /* types.h:59:17 */ 4947 4948 type Gid_t = X__gid_t /* types.h:64:17 */ 4949 4950 type Mode_t = X__mode_t /* types.h:69:18 */ 4951 4952 type Nlink_t = X__nlink_t /* types.h:74:19 */ 4953 4954 type Uid_t = X__uid_t /* types.h:79:17 */ 4955 4956 type Off_t = X__off64_t /* types.h:87:19 */ 4957 4958 type Pid_t = X__pid_t /* types.h:97:17 */ 4959 4960 type Id_t = X__id_t /* types.h:103:16 */ 4961 4962 type Ssize_t = X__ssize_t /* types.h:108:19 */ 4963 4964 type Daddr_t = X__daddr_t /* types.h:114:19 */ 4965 type Caddr_t = X__caddr_t /* types.h:115:19 */ 4966 4967 type Key_t = X__key_t /* types.h:121:17 */ 4968 4969 // bits/types.h -- definitions of __*_t types underlying *_t types. 4970 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4971 // This file is part of the GNU C Library. 4972 // 4973 // The GNU C Library is free software; you can redistribute it and/or 4974 // modify it under the terms of the GNU Lesser General Public 4975 // License as published by the Free Software Foundation; either 4976 // version 2.1 of the License, or (at your option) any later version. 4977 // 4978 // The GNU C Library is distributed in the hope that it will be useful, 4979 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4980 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4981 // Lesser General Public License for more details. 4982 // 4983 // You should have received a copy of the GNU Lesser General Public 4984 // License along with the GNU C Library; if not, see 4985 // <https://www.gnu.org/licenses/>. 4986 4987 // Never include this file directly; use <sys/types.h> instead. 4988 4989 // Returned by `clock'. 4990 type Clock_t = X__clock_t /* clock_t.h:7:19 */ 4991 4992 // bits/types.h -- definitions of __*_t types underlying *_t types. 4993 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4994 // This file is part of the GNU C Library. 4995 // 4996 // The GNU C Library is free software; you can redistribute it and/or 4997 // modify it under the terms of the GNU Lesser General Public 4998 // License as published by the Free Software Foundation; either 4999 // version 2.1 of the License, or (at your option) any later version. 5000 // 5001 // The GNU C Library is distributed in the hope that it will be useful, 5002 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5003 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5004 // Lesser General Public License for more details. 5005 // 5006 // You should have received a copy of the GNU Lesser General Public 5007 // License along with the GNU C Library; if not, see 5008 // <https://www.gnu.org/licenses/>. 5009 5010 // Never include this file directly; use <sys/types.h> instead. 5011 5012 // Clock ID used in clock and timer functions. 5013 type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */ 5014 5015 // bits/types.h -- definitions of __*_t types underlying *_t types. 5016 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5017 // This file is part of the GNU C Library. 5018 // 5019 // The GNU C Library is free software; you can redistribute it and/or 5020 // modify it under the terms of the GNU Lesser General Public 5021 // License as published by the Free Software Foundation; either 5022 // version 2.1 of the License, or (at your option) any later version. 5023 // 5024 // The GNU C Library is distributed in the hope that it will be useful, 5025 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5026 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5027 // Lesser General Public License for more details. 5028 // 5029 // You should have received a copy of the GNU Lesser General Public 5030 // License along with the GNU C Library; if not, see 5031 // <https://www.gnu.org/licenses/>. 5032 5033 // Never include this file directly; use <sys/types.h> instead. 5034 5035 // Returned by `time'. 5036 type Time_t = X__time_t /* time_t.h:7:18 */ 5037 5038 // bits/types.h -- definitions of __*_t types underlying *_t types. 5039 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5040 // This file is part of the GNU C Library. 5041 // 5042 // The GNU C Library is free software; you can redistribute it and/or 5043 // modify it under the terms of the GNU Lesser General Public 5044 // License as published by the Free Software Foundation; either 5045 // version 2.1 of the License, or (at your option) any later version. 5046 // 5047 // The GNU C Library is distributed in the hope that it will be useful, 5048 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5049 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5050 // Lesser General Public License for more details. 5051 // 5052 // You should have received a copy of the GNU Lesser General Public 5053 // License along with the GNU C Library; if not, see 5054 // <https://www.gnu.org/licenses/>. 5055 5056 // Never include this file directly; use <sys/types.h> instead. 5057 5058 // Timer ID returned by `timer_create'. 5059 type Timer_t = X__timer_t /* timer_t.h:7:19 */ 5060 5061 // Wide character type. 5062 // Locale-writers should change this as necessary to 5063 // be big enough to hold unique values not between 0 and 127, 5064 // and not (wchar_t) -1, for each defined multibyte character. 5065 5066 // Define this type if we are doing the whole job, 5067 // or if we want this type in particular. 5068 5069 // A null pointer constant. 5070 5071 // Old compatibility names for C types. 5072 type Ulong = uint32 /* types.h:148:27 */ 5073 type Ushort = uint16 /* types.h:149:28 */ 5074 type Uint = uint32 /* types.h:150:22 */ 5075 5076 // These size-specific names are used by some of the inet code. 5077 5078 // Define intN_t types. 5079 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5080 // This file is part of the GNU C Library. 5081 // 5082 // The GNU C Library is free software; you can redistribute it and/or 5083 // modify it under the terms of the GNU Lesser General Public 5084 // License as published by the Free Software Foundation; either 5085 // version 2.1 of the License, or (at your option) any later version. 5086 // 5087 // The GNU C Library is distributed in the hope that it will be useful, 5088 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5089 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5090 // Lesser General Public License for more details. 5091 // 5092 // You should have received a copy of the GNU Lesser General Public 5093 // License along with the GNU C Library; if not, see 5094 // <https://www.gnu.org/licenses/>. 5095 5096 // These were defined by ISO C without the first `_'. 5097 type U_int8_t = X__uint8_t /* types.h:158:19 */ 5098 type U_int16_t = X__uint16_t /* types.h:159:20 */ 5099 type U_int32_t = X__uint32_t /* types.h:160:20 */ 5100 type U_int64_t = X__uint64_t /* types.h:161:20 */ 5101 5102 type Register_t = int32 /* types.h:164:13 */ 5103 5104 // It also defines `fd_set' and the FD_* macros for `select'. 5105 // `fd_set' type and related macros, and `select'/`pselect' declarations. 5106 // Copyright (C) 1996-2020 Free Software Foundation, Inc. 5107 // This file is part of the GNU C Library. 5108 // 5109 // The GNU C Library is free software; you can redistribute it and/or 5110 // modify it under the terms of the GNU Lesser General Public 5111 // License as published by the Free Software Foundation; either 5112 // version 2.1 of the License, or (at your option) any later version. 5113 // 5114 // The GNU C Library is distributed in the hope that it will be useful, 5115 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5116 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5117 // Lesser General Public License for more details. 5118 // 5119 // You should have received a copy of the GNU Lesser General Public 5120 // License along with the GNU C Library; if not, see 5121 // <https://www.gnu.org/licenses/>. 5122 5123 // POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h> 5124 5125 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 5126 // This file is part of the GNU C Library. 5127 // 5128 // The GNU C Library is free software; you can redistribute it and/or 5129 // modify it under the terms of the GNU Lesser General Public 5130 // License as published by the Free Software Foundation; either 5131 // version 2.1 of the License, or (at your option) any later version. 5132 // 5133 // The GNU C Library is distributed in the hope that it will be useful, 5134 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5135 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5136 // Lesser General Public License for more details. 5137 // 5138 // You should have received a copy of the GNU Lesser General Public 5139 // License along with the GNU C Library; if not, see 5140 // <https://www.gnu.org/licenses/>. 5141 5142 // Get definition of needed basic types. 5143 // bits/types.h -- definitions of __*_t types underlying *_t types. 5144 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5145 // This file is part of the GNU C Library. 5146 // 5147 // The GNU C Library is free software; you can redistribute it and/or 5148 // modify it under the terms of the GNU Lesser General Public 5149 // License as published by the Free Software Foundation; either 5150 // version 2.1 of the License, or (at your option) any later version. 5151 // 5152 // The GNU C Library is distributed in the hope that it will be useful, 5153 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5154 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5155 // Lesser General Public License for more details. 5156 // 5157 // You should have received a copy of the GNU Lesser General Public 5158 // License along with the GNU C Library; if not, see 5159 // <https://www.gnu.org/licenses/>. 5160 5161 // Never include this file directly; use <sys/types.h> instead. 5162 5163 // Get __FD_* definitions. 5164 // Copyright (C) 1997-2020 Free Software Foundation, Inc. 5165 // This file is part of the GNU C Library. 5166 // 5167 // The GNU C Library is free software; you can redistribute it and/or 5168 // modify it under the terms of the GNU Lesser General Public 5169 // License as published by the Free Software Foundation; either 5170 // version 2.1 of the License, or (at your option) any later version. 5171 // 5172 // The GNU C Library is distributed in the hope that it will be useful, 5173 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5174 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5175 // Lesser General Public License for more details. 5176 // 5177 // You should have received a copy of the GNU Lesser General Public 5178 // License along with the GNU C Library; if not, see 5179 // <https://www.gnu.org/licenses/>. 5180 5181 // We don't use `memset' because this would require a prototype and 5182 // the array isn't too big. 5183 5184 // Get sigset_t. 5185 5186 type X__sigset_t = struct{ F__val [32]uint32 } /* __sigset_t.h:8:3 */ 5187 5188 // A set of signals to be blocked, unblocked, or waited for. 5189 type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */ 5190 5191 // Get definition of timer specification structures. 5192 5193 // bits/types.h -- definitions of __*_t types underlying *_t types. 5194 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5195 // This file is part of the GNU C Library. 5196 // 5197 // The GNU C Library is free software; you can redistribute it and/or 5198 // modify it under the terms of the GNU Lesser General Public 5199 // License as published by the Free Software Foundation; either 5200 // version 2.1 of the License, or (at your option) any later version. 5201 // 5202 // The GNU C Library is distributed in the hope that it will be useful, 5203 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5204 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5205 // Lesser General Public License for more details. 5206 // 5207 // You should have received a copy of the GNU Lesser General Public 5208 // License along with the GNU C Library; if not, see 5209 // <https://www.gnu.org/licenses/>. 5210 5211 // Never include this file directly; use <sys/types.h> instead. 5212 5213 // A time value that is accurate to the nearest 5214 // microsecond but also has a range of years. 5215 type Timeval = struct { 5216 Ftv_sec X__time_t 5217 Ftv_usec X__suseconds_t 5218 } /* struct_timeval.h:8:1 */ 5219 5220 // NB: Include guard matches what <linux/time.h> uses. 5221 5222 // bits/types.h -- definitions of __*_t types underlying *_t types. 5223 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5224 // This file is part of the GNU C Library. 5225 // 5226 // The GNU C Library is free software; you can redistribute it and/or 5227 // modify it under the terms of the GNU Lesser General Public 5228 // License as published by the Free Software Foundation; either 5229 // version 2.1 of the License, or (at your option) any later version. 5230 // 5231 // The GNU C Library is distributed in the hope that it will be useful, 5232 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5233 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5234 // Lesser General Public License for more details. 5235 // 5236 // You should have received a copy of the GNU Lesser General Public 5237 // License along with the GNU C Library; if not, see 5238 // <https://www.gnu.org/licenses/>. 5239 5240 // Never include this file directly; use <sys/types.h> instead. 5241 5242 // Endian macros for string.h functions 5243 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 5244 // This file is part of the GNU C Library. 5245 // 5246 // The GNU C Library is free software; you can redistribute it and/or 5247 // modify it under the terms of the GNU Lesser General Public 5248 // License as published by the Free Software Foundation; either 5249 // version 2.1 of the License, or (at your option) any later version. 5250 // 5251 // The GNU C Library is distributed in the hope that it will be useful, 5252 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5253 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5254 // Lesser General Public License for more details. 5255 // 5256 // You should have received a copy of the GNU Lesser General Public 5257 // License along with the GNU C Library; if not, see 5258 // <http://www.gnu.org/licenses/>. 5259 5260 // POSIX.1b structure for a time value. This is like a `struct timeval' but 5261 // has nanoseconds instead of microseconds. 5262 type Timespec = struct { 5263 Ftv_sec X__time_t 5264 Ftv_nsec X__syscall_slong_t 5265 } /* struct_timespec.h:10:1 */ 5266 5267 type Suseconds_t = X__suseconds_t /* select.h:43:23 */ 5268 5269 // The fd_set member is required to be an array of longs. 5270 type X__fd_mask = int32 /* select.h:49:18 */ 5271 5272 // Some versions of <linux/posix_types.h> define this macros. 5273 // It's easier to assume 8-bit bytes than to get CHAR_BIT. 5274 5275 // fd_set for select and pselect. 5276 type Fd_set = struct{ F__fds_bits [32]X__fd_mask } /* select.h:70:5 */ 5277 5278 // Maximum number of file descriptors in `fd_set'. 5279 5280 // Sometimes the fd_set member is assumed to have this type. 5281 type Fd_mask = X__fd_mask /* select.h:77:19 */ 5282 5283 // Define some inlines helping to catch common problems. 5284 5285 type Blksize_t = X__blksize_t /* types.h:185:21 */ 5286 5287 // Types from the Large File Support interface. 5288 type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks. 5289 type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks. 5290 type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes. 5291 5292 // Now add the thread types. 5293 // Declaration of common pthread types for all architectures. 5294 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5295 // This file is part of the GNU C Library. 5296 // 5297 // The GNU C Library is free software; you can redistribute it and/or 5298 // modify it under the terms of the GNU Lesser General Public 5299 // License as published by the Free Software Foundation; either 5300 // version 2.1 of the License, or (at your option) any later version. 5301 // 5302 // The GNU C Library is distributed in the hope that it will be useful, 5303 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5304 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5305 // Lesser General Public License for more details. 5306 // 5307 // You should have received a copy of the GNU Lesser General Public 5308 // License along with the GNU C Library; if not, see 5309 // <https://www.gnu.org/licenses/>. 5310 5311 // For internal mutex and condition variable definitions. 5312 // Common threading primitives definitions for both POSIX and C11. 5313 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5314 // This file is part of the GNU C Library. 5315 // 5316 // The GNU C Library is free software; you can redistribute it and/or 5317 // modify it under the terms of the GNU Lesser General Public 5318 // License as published by the Free Software Foundation; either 5319 // version 2.1 of the License, or (at your option) any later version. 5320 // 5321 // The GNU C Library is distributed in the hope that it will be useful, 5322 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5323 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5324 // Lesser General Public License for more details. 5325 // 5326 // You should have received a copy of the GNU Lesser General Public 5327 // License along with the GNU C Library; if not, see 5328 // <https://www.gnu.org/licenses/>. 5329 5330 // Arch-specific definitions. Each architecture must define the following 5331 // macros to define the expected sizes of pthread data types: 5332 // 5333 // __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. 5334 // __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. 5335 // __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. 5336 // __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. 5337 // __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. 5338 // __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. 5339 // __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. 5340 // __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. 5341 // __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. 5342 // 5343 // The additional macro defines any constraint for the lock alignment 5344 // inside the thread structures: 5345 // 5346 // __LOCK_ALIGNMENT - for internal lock/futex usage. 5347 // 5348 // Same idea but for the once locking primitive: 5349 // 5350 // __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. 5351 5352 // Machine-specific pthread type layouts. Generic version. 5353 // Copyright (C) 2019-2020 Free Software Foundation, Inc. 5354 // 5355 // This file is part of the GNU C Library. 5356 // 5357 // The GNU C Library is free software; you can redistribute it and/or 5358 // modify it under the terms of the GNU Lesser General Public 5359 // License as published by the Free Software Foundation; either 5360 // version 2.1 of the License, or (at your option) any later version. 5361 // 5362 // The GNU C Library is distributed in the hope that it will be useful, 5363 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5364 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5365 // Lesser General Public License for more details. 5366 // 5367 // You should have received a copy of the GNU Lesser General Public 5368 // License along with the GNU C Library; if not, see 5369 // <http://www.gnu.org/licenses/>. 5370 5371 // Copyright (C) 1999-2020 Free Software Foundation, Inc. 5372 // This file is part of the GNU C Library. 5373 // 5374 // The GNU C Library is free software; you can redistribute it and/or 5375 // modify it under the terms of the GNU Lesser General Public 5376 // License as published by the Free Software Foundation; either 5377 // version 2.1 of the License, or (at your option) any later version. 5378 // 5379 // The GNU C Library is distributed in the hope that it will be useful, 5380 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5381 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5382 // Lesser General Public License for more details. 5383 // 5384 // You should have received a copy of the GNU Lesser General Public 5385 // License along with the GNU C Library; if not, see 5386 // <https://www.gnu.org/licenses/>. 5387 5388 // Common definition of pthread_mutex_t. 5389 5390 type X__pthread_internal_list = struct { 5391 F__prev uintptr 5392 F__next uintptr 5393 } /* thread-shared-types.h:49:9 */ 5394 5395 // Type to count file system inodes. 5396 5397 // Now add the thread types. 5398 // Declaration of common pthread types for all architectures. 5399 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5400 // This file is part of the GNU C Library. 5401 // 5402 // The GNU C Library is free software; you can redistribute it and/or 5403 // modify it under the terms of the GNU Lesser General Public 5404 // License as published by the Free Software Foundation; either 5405 // version 2.1 of the License, or (at your option) any later version. 5406 // 5407 // The GNU C Library is distributed in the hope that it will be useful, 5408 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5409 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5410 // Lesser General Public License for more details. 5411 // 5412 // You should have received a copy of the GNU Lesser General Public 5413 // License along with the GNU C Library; if not, see 5414 // <https://www.gnu.org/licenses/>. 5415 5416 // For internal mutex and condition variable definitions. 5417 // Common threading primitives definitions for both POSIX and C11. 5418 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5419 // This file is part of the GNU C Library. 5420 // 5421 // The GNU C Library is free software; you can redistribute it and/or 5422 // modify it under the terms of the GNU Lesser General Public 5423 // License as published by the Free Software Foundation; either 5424 // version 2.1 of the License, or (at your option) any later version. 5425 // 5426 // The GNU C Library is distributed in the hope that it will be useful, 5427 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5428 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5429 // Lesser General Public License for more details. 5430 // 5431 // You should have received a copy of the GNU Lesser General Public 5432 // License along with the GNU C Library; if not, see 5433 // <https://www.gnu.org/licenses/>. 5434 5435 // Arch-specific definitions. Each architecture must define the following 5436 // macros to define the expected sizes of pthread data types: 5437 // 5438 // __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. 5439 // __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. 5440 // __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. 5441 // __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. 5442 // __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. 5443 // __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. 5444 // __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. 5445 // __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. 5446 // __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. 5447 // 5448 // The additional macro defines any constraint for the lock alignment 5449 // inside the thread structures: 5450 // 5451 // __LOCK_ALIGNMENT - for internal lock/futex usage. 5452 // 5453 // Same idea but for the once locking primitive: 5454 // 5455 // __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. 5456 5457 // Machine-specific pthread type layouts. Generic version. 5458 // Copyright (C) 2019-2020 Free Software Foundation, Inc. 5459 // 5460 // This file is part of the GNU C Library. 5461 // 5462 // The GNU C Library is free software; you can redistribute it and/or 5463 // modify it under the terms of the GNU Lesser General Public 5464 // License as published by the Free Software Foundation; either 5465 // version 2.1 of the License, or (at your option) any later version. 5466 // 5467 // The GNU C Library is distributed in the hope that it will be useful, 5468 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5469 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5470 // Lesser General Public License for more details. 5471 // 5472 // You should have received a copy of the GNU Lesser General Public 5473 // License along with the GNU C Library; if not, see 5474 // <http://www.gnu.org/licenses/>. 5475 5476 // Copyright (C) 1999-2020 Free Software Foundation, Inc. 5477 // This file is part of the GNU C Library. 5478 // 5479 // The GNU C Library is free software; you can redistribute it and/or 5480 // modify it under the terms of the GNU Lesser General Public 5481 // License as published by the Free Software Foundation; either 5482 // version 2.1 of the License, or (at your option) any later version. 5483 // 5484 // The GNU C Library is distributed in the hope that it will be useful, 5485 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5486 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5487 // Lesser General Public License for more details. 5488 // 5489 // You should have received a copy of the GNU Lesser General Public 5490 // License along with the GNU C Library; if not, see 5491 // <https://www.gnu.org/licenses/>. 5492 5493 // Common definition of pthread_mutex_t. 5494 5495 type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */ 5496 5497 type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */ 5498 5499 type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */ 5500 5501 // Arch-specific mutex definitions. A generic implementation is provided 5502 // by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture 5503 // can override it by defining: 5504 // 5505 // 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t 5506 // definition). It should contains at least the internal members 5507 // defined in the generic version. 5508 // 5509 // 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with 5510 // atomic operations. 5511 // 5512 // 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization. 5513 // It should initialize the mutex internal flag. 5514 5515 // Default mutex implementation struct definitions. 5516 // Copyright (C) 2019-2020 Free Software Foundation, Inc. 5517 // This file is part of the GNU C Library. 5518 // 5519 // The GNU C Library is free software; you can redistribute it and/or 5520 // modify it under the terms of the GNU Lesser General Public 5521 // License as published by the Free Software Foundation; either 5522 // version 2.1 of the License, or (at your option) any later version. 5523 // 5524 // The GNU C Library is distributed in the hope that it will be useful, 5525 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5526 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5527 // Lesser General Public License for more details. 5528 // 5529 // You should have received a copy of the GNU Lesser General Public 5530 // License along with the GNU C Library; if not, see 5531 // <http://www.gnu.org/licenses/>. 5532 5533 // Generic struct for both POSIX and C11 mutexes. New ports are expected 5534 // to use the default layout, however architecture can redefine it to 5535 // add arch-specific extension (such as lock-elision). The struct have 5536 // a size of 32 bytes on LP32 and 40 bytes on LP64 architectures. 5537 5538 type X__pthread_mutex_s = struct { 5539 F__lock int32 5540 F__count uint32 5541 F__owner int32 5542 F__kind int32 5543 F__nusers uint32 5544 F__20 struct{ F__spins int32 } 5545 } /* struct_mutex.h:27:1 */ 5546 5547 // Arch-sepecific read-write lock definitions. A generic implementation is 5548 // provided by struct_rwlock.h. If required, an architecture can override it 5549 // by defining: 5550 // 5551 // 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition). 5552 // It should contain at least the internal members defined in the 5553 // generic version. 5554 // 5555 // 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization. 5556 // It should initialize the rwlock internal type. 5557 5558 // Default read-write lock implementation struct definitions. 5559 // Copyright (C) 2019-2020 Free Software Foundation, Inc. 5560 // This file is part of the GNU C Library. 5561 // 5562 // The GNU C Library is free software; you can redistribute it and/or 5563 // modify it under the terms of the GNU Lesser General Public 5564 // License as published by the Free Software Foundation; either 5565 // version 2.1 of the License, or (at your option) any later version. 5566 // 5567 // The GNU C Library is distributed in the hope that it will be useful, 5568 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5569 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5570 // Lesser General Public License for more details. 5571 // 5572 // You should have received a copy of the GNU Lesser General Public 5573 // License along with the GNU C Library; if not, see 5574 // <http://www.gnu.org/licenses/>. 5575 5576 // Endian macros for string.h functions 5577 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 5578 // This file is part of the GNU C Library. 5579 // 5580 // The GNU C Library is free software; you can redistribute it and/or 5581 // modify it under the terms of the GNU Lesser General Public 5582 // License as published by the Free Software Foundation; either 5583 // version 2.1 of the License, or (at your option) any later version. 5584 // 5585 // The GNU C Library is distributed in the hope that it will be useful, 5586 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5587 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5588 // Lesser General Public License for more details. 5589 // 5590 // You should have received a copy of the GNU Lesser General Public 5591 // License along with the GNU C Library; if not, see 5592 // <http://www.gnu.org/licenses/>. 5593 5594 // Generic struct for both POSIX read-write lock. New ports are expected 5595 // to use the default layout, however archictetures can redefine it to add 5596 // arch-specific extensions (such as lock-elision). The struct have a size 5597 // of 32 bytes on both LP32 and LP64 architectures. 5598 5599 type X__pthread_rwlock_arch_t = struct { 5600 F__readers uint32 5601 F__writers uint32 5602 F__wrphase_futex uint32 5603 F__writers_futex uint32 5604 F__pad3 uint32 5605 F__pad4 uint32 5606 F__flags uint8 5607 F__shared uint8 5608 F__pad1 uint8 5609 F__pad2 uint8 5610 F__cur_writer int32 5611 } /* struct_rwlock.h:29:1 */ 5612 5613 // Common definition of pthread_cond_t. 5614 5615 type X__pthread_cond_s = struct { 5616 F__0 struct{ F__wseq uint64 } 5617 F__8 struct{ F__g1_start uint64 } 5618 F__g_refs [2]uint32 5619 F__g_size [2]uint32 5620 F__g1_orig_size uint32 5621 F__wrefs uint32 5622 F__g_signals [2]uint32 5623 } /* thread-shared-types.h:92:1 */ 5624 5625 // Thread identifiers. The structure of the attribute type is not 5626 // exposed on purpose. 5627 type Pthread_t = uint32 /* pthreadtypes.h:27:27 */ 5628 5629 // Data structures for mutex handling. The structure of the attribute 5630 // type is not exposed on purpose. 5631 type Pthread_mutexattr_t = struct { 5632 F__ccgo_pad1 [0]uint32 5633 F__size [4]uint8 5634 } /* pthreadtypes.h:36:3 */ 5635 5636 // Data structure for condition variable handling. The structure of 5637 // the attribute type is not exposed on purpose. 5638 type Pthread_condattr_t = struct { 5639 F__ccgo_pad1 [0]uint32 5640 F__size [4]uint8 5641 } /* pthreadtypes.h:45:3 */ 5642 5643 // Keys for thread-specific data 5644 type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */ 5645 5646 // Once-only execution 5647 type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */ 5648 5649 type Pthread_attr_t1 = struct { 5650 F__ccgo_pad1 [0]uint32 5651 F__size [36]uint8 5652 } /* pthreadtypes.h:56:1 */ 5653 5654 type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */ 5655 5656 type Pthread_mutex_t = struct{ F__data X__pthread_mutex_s } /* pthreadtypes.h:72:3 */ 5657 5658 type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */ 5659 5660 // Data structure for reader-writer lock variable handling. The 5661 // structure of the attribute type is deliberately not exposed. 5662 type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */ 5663 5664 type Pthread_rwlockattr_t = struct { 5665 F__ccgo_pad1 [0]uint32 5666 F__size [8]uint8 5667 } /* pthreadtypes.h:97:3 */ 5668 5669 // POSIX spinlock data type. 5670 type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */ 5671 5672 // POSIX barriers data type. The structure of the type is 5673 // deliberately not exposed. 5674 type Pthread_barrier_t = struct { 5675 F__ccgo_pad1 [0]uint32 5676 F__size [20]uint8 5677 } /* pthreadtypes.h:112:3 */ 5678 5679 type Pthread_barrierattr_t = struct { 5680 F__ccgo_pad1 [0]uint32 5681 F__size [4]uint8 5682 } /* pthreadtypes.h:118:3 */ 5683 5684 // Definitions for the X window system likely to be used by applications 5685 5686 //********************************************************** 5687 // 5688 // Copyright 1987, 1998 The Open Group 5689 // 5690 // Permission to use, copy, modify, distribute, and sell this software and its 5691 // documentation for any purpose is hereby granted without fee, provided that 5692 // the above copyright notice appear in all copies and that both that 5693 // copyright notice and this permission notice appear in supporting 5694 // documentation. 5695 // 5696 // The above copyright notice and this permission notice shall be included in 5697 // all copies or substantial portions of the Software. 5698 // 5699 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 5700 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 5701 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 5702 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 5703 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 5704 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 5705 // 5706 // Except as contained in this notice, the name of The Open Group shall not be 5707 // used in advertising or otherwise to promote the sale, use or other dealings 5708 // in this Software without prior written authorization from The Open Group. 5709 // 5710 // 5711 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 5712 // 5713 // All Rights Reserved 5714 // 5715 // Permission to use, copy, modify, and distribute this software and its 5716 // documentation for any purpose and without fee is hereby granted, 5717 // provided that the above copyright notice appear in all copies and that 5718 // both that copyright notice and this permission notice appear in 5719 // supporting documentation, and that the name of Digital not be 5720 // used in advertising or publicity pertaining to distribution of the 5721 // software without specific, written prior permission. 5722 // 5723 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 5724 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 5725 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 5726 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 5727 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 5728 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 5729 // SOFTWARE. 5730 // 5731 // ***************************************************************** 5732 5733 // Resources 5734 5735 // _XSERVER64 must ONLY be defined when compiling X server sources on 5736 // systems where unsigned long is not 32 bits, must NOT be used in 5737 // client or library code. 5738 type XID = uint32 /* X.h:66:23 */ 5739 type Mask = uint32 /* X.h:70:23 */ 5740 type Atom = uint32 /* X.h:74:23 */ // Also in Xdefs.h 5741 type VisualID = uint32 /* X.h:76:23 */ 5742 type Time = uint32 /* X.h:77:23 */ 5743 5744 type Window = XID /* X.h:96:13 */ 5745 type Drawable = XID /* X.h:97:13 */ 5746 type Font = XID /* X.h:100:13 */ 5747 type Pixmap = XID /* X.h:102:13 */ 5748 type Cursor = XID /* X.h:103:13 */ 5749 type Colormap = XID /* X.h:104:13 */ 5750 type GContext = XID /* X.h:105:13 */ 5751 type KeySym = XID /* X.h:106:13 */ 5752 5753 type KeyCode = uint8 /* X.h:108:23 */ 5754 5755 // A null pointer constant. 5756 5757 // Offset of member MEMBER in a struct of type TYPE. 5758 5759 // Type whose alignment is supported in every context and is at least 5760 // as great as that of any standard type not using alignment 5761 // specifiers. 5762 type Max_align_t = struct { 5763 F__max_align_ll int64 5764 F__max_align_ld float64 5765 } /* stddef.h:426:3 */ 5766 5767 // API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in 5768 // November 2000. Its presence is indicated through the following macro. 5769 5770 // The Xlib structs are full of implicit padding to properly align members. 5771 // We can't clean that up without breaking ABI, so tell clang not to bother 5772 // complaining about it. 5773 5774 type XPointer = uintptr /* Xlib.h:80:14 */ 5775 5776 // macros for screen oriented applications (toolkit) 5777 5778 // Extensions need a way to hang private data on some structures. 5779 type X_XExtData = struct { 5780 Fnumber int32 5781 Fnext uintptr 5782 Ffree_private uintptr 5783 Fprivate_data XPointer 5784 } /* Xlib.h:148:9 */ 5785 5786 // macros for screen oriented applications (toolkit) 5787 5788 // Extensions need a way to hang private data on some structures. 5789 type XExtData = X_XExtData /* Xlib.h:155:3 */ 5790 5791 // This file contains structures used by the extension mechanism. 5792 type XExtCodes = struct { 5793 Fextension int32 5794 Fmajor_opcode int32 5795 Ffirst_event int32 5796 Ffirst_error int32 5797 } /* Xlib.h:165:3 */ 5798 5799 // Data structure for retrieving info about pixmap formats. 5800 5801 type XPixmapFormatValues = struct { 5802 Fdepth int32 5803 Fbits_per_pixel int32 5804 Fscanline_pad int32 5805 } /* Xlib.h:175:3 */ 5806 5807 // Data structure for setting graphics context. 5808 type XGCValues = struct { 5809 Ffunction int32 5810 Fplane_mask uint32 5811 Fforeground uint32 5812 Fbackground uint32 5813 Fline_width int32 5814 Fline_style int32 5815 Fcap_style int32 5816 Fjoin_style int32 5817 Ffill_style int32 5818 Ffill_rule int32 5819 Farc_mode int32 5820 Ftile Pixmap 5821 Fstipple Pixmap 5822 Fts_x_origin int32 5823 Fts_y_origin int32 5824 Ffont Font 5825 Fsubwindow_mode int32 5826 Fgraphics_exposures int32 5827 Fclip_x_origin int32 5828 Fclip_y_origin int32 5829 Fclip_mask Pixmap 5830 Fdash_offset int32 5831 Fdashes uint8 5832 F__ccgo_pad1 [3]byte 5833 } /* Xlib.h:207:3 */ 5834 5835 // Graphics context. The contents of this structure are implementation 5836 // dependent. A GC should be treated as opaque by application code. 5837 5838 type X_XGC = struct { 5839 Fext_data uintptr 5840 Fgid GContext 5841 Frects int32 5842 Fdashes int32 5843 Fdirty uint32 5844 Fvalues XGCValues 5845 } /* Xlib.h:214:9 */ 5846 5847 // Graphics context. The contents of this structure are implementation 5848 // dependent. A GC should be treated as opaque by application code. 5849 5850 type GC = uintptr /* Xlib.h:222:1 */ 5851 5852 // Visual structure; contains information about colormapping possible. 5853 type Visual = struct { 5854 Fext_data uintptr 5855 Fvisualid VisualID 5856 Fclass int32 5857 Fred_mask uint32 5858 Fgreen_mask uint32 5859 Fblue_mask uint32 5860 Fbits_per_rgb int32 5861 Fmap_entries int32 5862 } /* Xlib.h:238:3 */ 5863 5864 // Depth structure; contains information for each possible depth. 5865 type Depth = struct { 5866 Fdepth int32 5867 Fnvisuals int32 5868 Fvisuals uintptr 5869 } /* Xlib.h:247:3 */ 5870 5871 // Information about the screen. The contents of this structure are 5872 // implementation dependent. A Screen should be treated as opaque 5873 // by application code. 5874 5875 type X_XDisplay = struct { 5876 Fext_data uintptr 5877 Ffree_funcs uintptr 5878 Ffd int32 5879 Fconn_checker int32 5880 Fproto_major_version int32 5881 Fproto_minor_version int32 5882 Fvendor uintptr 5883 Fresource_base XID 5884 Fresource_mask XID 5885 Fresource_id XID 5886 Fresource_shift int32 5887 Fresource_alloc uintptr 5888 Fbyte_order int32 5889 Fbitmap_unit int32 5890 Fbitmap_pad int32 5891 Fbitmap_bit_order int32 5892 Fnformats int32 5893 Fpixmap_format uintptr 5894 Fvnumber int32 5895 Frelease int32 5896 Fhead uintptr 5897 Ftail uintptr 5898 Fqlen int32 5899 Flast_request_read uint32 5900 Frequest uint32 5901 Flast_req uintptr 5902 Fbuffer uintptr 5903 Fbufptr uintptr 5904 Fbufmax uintptr 5905 Fmax_request_size uint32 5906 Fdb uintptr 5907 Fsynchandler uintptr 5908 Fdisplay_name uintptr 5909 Fdefault_screen int32 5910 Fnscreens int32 5911 Fscreens uintptr 5912 Fmotion_buffer uint32 5913 Fflags uint32 5914 Fmin_keycode int32 5915 Fmax_keycode int32 5916 Fkeysyms uintptr 5917 Fmodifiermap uintptr 5918 Fkeysyms_per_keycode int32 5919 Fxdefaults uintptr 5920 Fscratch_buffer uintptr 5921 Fscratch_length uint32 5922 Fext_number int32 5923 Fext_procs uintptr 5924 Fevent_vec [128]uintptr 5925 Fwire_vec [128]uintptr 5926 Flock_meaning KeySym 5927 Flock uintptr 5928 Fasync_handlers uintptr 5929 Fbigreq_size uint32 5930 Flock_fns uintptr 5931 Fidlist_alloc uintptr 5932 Fkey_bindings uintptr 5933 Fcursor_font Font 5934 Fatoms uintptr 5935 Fmode_switch uint32 5936 Fnum_lock uint32 5937 Fcontext_db uintptr 5938 Ferror_vec uintptr 5939 Fcms struct { 5940 FdefaultCCCs XPointer 5941 FclientCmaps XPointer 5942 FperVisualIntensityMaps XPointer 5943 } 5944 Fim_filters uintptr 5945 Fqfree uintptr 5946 Fnext_event_serial_num uint32 5947 Fflushes uintptr 5948 Fim_fd_info uintptr 5949 Fim_fd_length int32 5950 Fconn_watchers uintptr 5951 Fwatcher_count int32 5952 Ffiledes XPointer 5953 Fsavedsynchandler uintptr 5954 Fresource_max XID 5955 Fxcmisc_opcode int32 5956 Fxkb_info uintptr 5957 Ftrans_conn uintptr 5958 Fxcb uintptr 5959 Fnext_cookie uint32 5960 Fgeneric_event_vec [128]uintptr 5961 Fgeneric_event_copy_vec [128]uintptr 5962 Fcookiejar uintptr 5963 Flast_request_read_upper32bit uint32 5964 Frequest_upper32bit uint32 5965 Ferror_threads uintptr 5966 Fexit_handler XIOErrorExitHandler 5967 Fexit_handler_data uintptr 5968 } /* Xlib.h:255:1 */ 5969 5970 // Forward declare before use for C++ 5971 5972 type Screen = struct { 5973 Fext_data uintptr 5974 Fdisplay uintptr 5975 Froot Window 5976 Fwidth int32 5977 Fheight int32 5978 Fmwidth int32 5979 Fmheight int32 5980 Fndepths int32 5981 Fdepths uintptr 5982 Froot_depth int32 5983 Froot_visual uintptr 5984 Fdefault_gc GC 5985 Fcmap Colormap 5986 Fwhite_pixel uint32 5987 Fblack_pixel uint32 5988 Fmax_maps int32 5989 Fmin_maps int32 5990 Fbacking_store int32 5991 Fsave_unders int32 5992 Froot_input_mask int32 5993 } /* Xlib.h:275:3 */ 5994 5995 // Format structure; describes ZFormat data the screen will understand. 5996 type ScreenFormat = struct { 5997 Fext_data uintptr 5998 Fdepth int32 5999 Fbits_per_pixel int32 6000 Fscanline_pad int32 6001 } /* Xlib.h:285:3 */ 6002 6003 // Data structure for setting window attributes. 6004 type XSetWindowAttributes = struct { 6005 Fbackground_pixmap Pixmap 6006 Fbackground_pixel uint32 6007 Fborder_pixmap Pixmap 6008 Fborder_pixel uint32 6009 Fbit_gravity int32 6010 Fwin_gravity int32 6011 Fbacking_store int32 6012 Fbacking_planes uint32 6013 Fbacking_pixel uint32 6014 Fsave_under int32 6015 Fevent_mask int32 6016 Fdo_not_propagate_mask int32 6017 Foverride_redirect int32 6018 Fcolormap Colormap 6019 Fcursor Cursor 6020 } /* Xlib.h:306:3 */ 6021 6022 type XWindowAttributes = struct { 6023 Fx int32 6024 Fy int32 6025 Fwidth int32 6026 Fheight int32 6027 Fborder_width int32 6028 Fdepth int32 6029 Fvisual uintptr 6030 Froot Window 6031 Fclass int32 6032 Fbit_gravity int32 6033 Fwin_gravity int32 6034 Fbacking_store int32 6035 Fbacking_planes uint32 6036 Fbacking_pixel uint32 6037 Fsave_under int32 6038 Fcolormap Colormap 6039 Fmap_installed int32 6040 Fmap_state int32 6041 Fall_event_masks int32 6042 Fyour_event_mask int32 6043 Fdo_not_propagate_mask int32 6044 Foverride_redirect int32 6045 Fscreen uintptr 6046 } /* Xlib.h:334:3 */ 6047 6048 // Data structure for host setting; getting routines. 6049 // 6050 6051 type XHostAddress = struct { 6052 Ffamily int32 6053 Flength int32 6054 Faddress uintptr 6055 } /* Xlib.h:345:3 */ 6056 6057 // Data structure for ServerFamilyInterpreted addresses in host routines 6058 type XServerInterpretedAddress = struct { 6059 Ftypelength int32 6060 Fvaluelength int32 6061 Ftype uintptr 6062 Fvalue uintptr 6063 } /* Xlib.h:355:3 */ 6064 6065 // Data structure for "image" data, used by image manipulation routines. 6066 type X_XImage = struct { 6067 Fwidth int32 6068 Fheight int32 6069 Fxoffset int32 6070 Fformat int32 6071 Fdata uintptr 6072 Fbyte_order int32 6073 Fbitmap_unit int32 6074 Fbitmap_bit_order int32 6075 Fbitmap_pad int32 6076 Fdepth int32 6077 Fbytes_per_line int32 6078 Fbits_per_pixel int32 6079 Fred_mask uint32 6080 Fgreen_mask uint32 6081 Fblue_mask uint32 6082 Fobdata XPointer 6083 Ff struct { 6084 Fcreate_image uintptr 6085 Fdestroy_image uintptr 6086 Fget_pixel uintptr 6087 Fput_pixel uintptr 6088 Fsub_image uintptr 6089 Fadd_pixel uintptr 6090 } 6091 } /* Xlib.h:360:9 */ 6092 6093 // Data structure for "image" data, used by image manipulation routines. 6094 type Funcs = struct { 6095 Fcreate_image uintptr 6096 Fdestroy_image uintptr 6097 Fget_pixel uintptr 6098 Fput_pixel uintptr 6099 Fsub_image uintptr 6100 Fadd_pixel uintptr 6101 } /* Xlib.h:360:9 */ 6102 6103 // Data structure for "image" data, used by image manipulation routines. 6104 type XImage = X_XImage /* Xlib.h:394:3 */ 6105 6106 // Data structure for XReconfigureWindow 6107 type XWindowChanges = struct { 6108 Fx int32 6109 Fy int32 6110 Fwidth int32 6111 Fheight int32 6112 Fborder_width int32 6113 Fsibling Window 6114 Fstack_mode int32 6115 } /* Xlib.h:405:3 */ 6116 6117 // Data structure used by color operations 6118 type XColor = struct { 6119 Fpixel uint32 6120 Fred uint16 6121 Fgreen uint16 6122 Fblue uint16 6123 Fflags uint8 6124 Fpad uint8 6125 } /* Xlib.h:415:3 */ 6126 6127 // Data structures for graphics operations. On most machines, these are 6128 // congruent with the wire protocol structures, so reformatting the data 6129 // can be avoided on these architectures. 6130 type XSegment = struct { 6131 Fx1 int16 6132 Fy1 int16 6133 Fx2 int16 6134 Fy2 int16 6135 } /* Xlib.h:424:3 */ 6136 6137 type XPoint = struct { 6138 Fx int16 6139 Fy int16 6140 } /* Xlib.h:428:3 */ 6141 6142 type XRectangle = struct { 6143 Fx int16 6144 Fy int16 6145 Fwidth uint16 6146 Fheight uint16 6147 } /* Xlib.h:433:3 */ 6148 6149 type XArc = struct { 6150 Fx int16 6151 Fy int16 6152 Fwidth uint16 6153 Fheight uint16 6154 Fangle1 int16 6155 Fangle2 int16 6156 } /* Xlib.h:439:3 */ 6157 6158 // Data structure for XChangeKeyboardControl 6159 6160 type XKeyboardControl = struct { 6161 Fkey_click_percent int32 6162 Fbell_percent int32 6163 Fbell_pitch int32 6164 Fbell_duration int32 6165 Fled int32 6166 Fled_mode int32 6167 Fkey int32 6168 Fauto_repeat_mode int32 6169 } /* Xlib.h:453:3 */ 6170 6171 // Data structure for XGetKeyboardControl 6172 6173 type XKeyboardState = struct { 6174 Fkey_click_percent int32 6175 Fbell_percent int32 6176 Fbell_pitch uint32 6177 Fbell_duration uint32 6178 Fled_mask uint32 6179 Fglobal_auto_repeat int32 6180 Fauto_repeats [32]uint8 6181 } /* Xlib.h:464:3 */ 6182 6183 // Data structure for XGetMotionEvents. 6184 6185 type XTimeCoord = struct { 6186 Ftime Time 6187 Fx int16 6188 Fy int16 6189 } /* Xlib.h:471:3 */ 6190 6191 // Data structure for X{Set,Get}ModifierMapping 6192 6193 type XModifierKeymap = struct { 6194 Fmax_keypermod int32 6195 Fmodifiermap uintptr 6196 } /* Xlib.h:478:3 */ 6197 6198 // Display datatype maintaining display specific data. 6199 // The contents of this structure are implementation dependent. 6200 // A Display should be treated as opaque by application code. 6201 type Display = X_XDisplay /* Xlib.h:487:26 */ 6202 6203 type X_XPrivDisplay = uintptr /* Xlib.h:550:1 */ 6204 6205 // Definitions of specific events. 6206 type XKeyEvent = struct { 6207 Ftype int32 6208 Fserial uint32 6209 Fsend_event int32 6210 Fdisplay uintptr 6211 Fwindow Window 6212 Froot Window 6213 Fsubwindow Window 6214 Ftime Time 6215 Fx int32 6216 Fy int32 6217 Fx_root int32 6218 Fy_root int32 6219 Fstate uint32 6220 Fkeycode uint32 6221 Fsame_screen int32 6222 } /* Xlib.h:571:3 */ 6223 type XKeyPressedEvent = XKeyEvent /* Xlib.h:572:19 */ 6224 type XKeyReleasedEvent = XKeyEvent /* Xlib.h:573:19 */ 6225 6226 type XButtonEvent = struct { 6227 Ftype int32 6228 Fserial uint32 6229 Fsend_event int32 6230 Fdisplay uintptr 6231 Fwindow Window 6232 Froot Window 6233 Fsubwindow Window 6234 Ftime Time 6235 Fx int32 6236 Fy int32 6237 Fx_root int32 6238 Fy_root int32 6239 Fstate uint32 6240 Fbutton uint32 6241 Fsame_screen int32 6242 } /* Xlib.h:589:3 */ 6243 type XButtonPressedEvent = XButtonEvent /* Xlib.h:590:22 */ 6244 type XButtonReleasedEvent = XButtonEvent /* Xlib.h:591:22 */ 6245 6246 type XMotionEvent = struct { 6247 Ftype int32 6248 Fserial uint32 6249 Fsend_event int32 6250 Fdisplay uintptr 6251 Fwindow Window 6252 Froot Window 6253 Fsubwindow Window 6254 Ftime Time 6255 Fx int32 6256 Fy int32 6257 Fx_root int32 6258 Fy_root int32 6259 Fstate uint32 6260 Fis_hint uint8 6261 F__ccgo_pad1 [3]byte 6262 Fsame_screen int32 6263 } /* Xlib.h:607:3 */ 6264 type XPointerMovedEvent = XMotionEvent /* Xlib.h:608:22 */ 6265 6266 type XCrossingEvent = struct { 6267 Ftype int32 6268 Fserial uint32 6269 Fsend_event int32 6270 Fdisplay uintptr 6271 Fwindow Window 6272 Froot Window 6273 Fsubwindow Window 6274 Ftime Time 6275 Fx int32 6276 Fy int32 6277 Fx_root int32 6278 Fy_root int32 6279 Fmode int32 6280 Fdetail int32 6281 Fsame_screen int32 6282 Ffocus int32 6283 Fstate uint32 6284 } /* Xlib.h:630:3 */ 6285 type XEnterWindowEvent = XCrossingEvent /* Xlib.h:631:24 */ 6286 type XLeaveWindowEvent = XCrossingEvent /* Xlib.h:632:24 */ 6287 6288 type XFocusChangeEvent = struct { 6289 Ftype int32 6290 Fserial uint32 6291 Fsend_event int32 6292 Fdisplay uintptr 6293 Fwindow Window 6294 Fmode int32 6295 Fdetail int32 6296 } /* Xlib.h:648:3 */ 6297 type XFocusInEvent = XFocusChangeEvent /* Xlib.h:649:27 */ 6298 type XFocusOutEvent = XFocusChangeEvent /* Xlib.h:650:27 */ 6299 6300 // generated on EnterWindow and FocusIn when KeyMapState selected 6301 type XKeymapEvent = struct { 6302 Ftype int32 6303 Fserial uint32 6304 Fsend_event int32 6305 Fdisplay uintptr 6306 Fwindow Window 6307 Fkey_vector [32]uint8 6308 } /* Xlib.h:660:3 */ 6309 6310 type XExposeEvent = struct { 6311 Ftype int32 6312 Fserial uint32 6313 Fsend_event int32 6314 Fdisplay uintptr 6315 Fwindow Window 6316 Fx int32 6317 Fy int32 6318 Fwidth int32 6319 Fheight int32 6320 Fcount int32 6321 } /* Xlib.h:671:3 */ 6322 6323 type XGraphicsExposeEvent = struct { 6324 Ftype int32 6325 Fserial uint32 6326 Fsend_event int32 6327 Fdisplay uintptr 6328 Fdrawable Drawable 6329 Fx int32 6330 Fy int32 6331 Fwidth int32 6332 Fheight int32 6333 Fcount int32 6334 Fmajor_code int32 6335 Fminor_code int32 6336 } /* Xlib.h:684:3 */ 6337 6338 type XNoExposeEvent = struct { 6339 Ftype int32 6340 Fserial uint32 6341 Fsend_event int32 6342 Fdisplay uintptr 6343 Fdrawable Drawable 6344 Fmajor_code int32 6345 Fminor_code int32 6346 } /* Xlib.h:694:3 */ 6347 6348 type XVisibilityEvent = struct { 6349 Ftype int32 6350 Fserial uint32 6351 Fsend_event int32 6352 Fdisplay uintptr 6353 Fwindow Window 6354 Fstate int32 6355 } /* Xlib.h:703:3 */ 6356 6357 type XCreateWindowEvent = struct { 6358 Ftype int32 6359 Fserial uint32 6360 Fsend_event int32 6361 Fdisplay uintptr 6362 Fparent Window 6363 Fwindow Window 6364 Fx int32 6365 Fy int32 6366 Fwidth int32 6367 Fheight int32 6368 Fborder_width int32 6369 Foverride_redirect int32 6370 } /* Xlib.h:716:3 */ 6371 6372 type XDestroyWindowEvent = struct { 6373 Ftype int32 6374 Fserial uint32 6375 Fsend_event int32 6376 Fdisplay uintptr 6377 Fevent Window 6378 Fwindow Window 6379 } /* Xlib.h:725:3 */ 6380 6381 type XUnmapEvent = struct { 6382 Ftype int32 6383 Fserial uint32 6384 Fsend_event int32 6385 Fdisplay uintptr 6386 Fevent Window 6387 Fwindow Window 6388 Ffrom_configure int32 6389 } /* Xlib.h:735:3 */ 6390 6391 type XMapEvent = struct { 6392 Ftype int32 6393 Fserial uint32 6394 Fsend_event int32 6395 Fdisplay uintptr 6396 Fevent Window 6397 Fwindow Window 6398 Foverride_redirect int32 6399 } /* Xlib.h:745:3 */ 6400 6401 type XMapRequestEvent = struct { 6402 Ftype int32 6403 Fserial uint32 6404 Fsend_event int32 6405 Fdisplay uintptr 6406 Fparent Window 6407 Fwindow Window 6408 } /* Xlib.h:754:3 */ 6409 6410 type XReparentEvent = struct { 6411 Ftype int32 6412 Fserial uint32 6413 Fsend_event int32 6414 Fdisplay uintptr 6415 Fevent Window 6416 Fwindow Window 6417 Fparent Window 6418 Fx int32 6419 Fy int32 6420 Foverride_redirect int32 6421 } /* Xlib.h:766:3 */ 6422 6423 type XConfigureEvent = struct { 6424 Ftype int32 6425 Fserial uint32 6426 Fsend_event int32 6427 Fdisplay uintptr 6428 Fevent Window 6429 Fwindow Window 6430 Fx int32 6431 Fy int32 6432 Fwidth int32 6433 Fheight int32 6434 Fborder_width int32 6435 Fabove Window 6436 Foverride_redirect int32 6437 } /* Xlib.h:780:3 */ 6438 6439 type XGravityEvent = struct { 6440 Ftype int32 6441 Fserial uint32 6442 Fsend_event int32 6443 Fdisplay uintptr 6444 Fevent Window 6445 Fwindow Window 6446 Fx int32 6447 Fy int32 6448 } /* Xlib.h:790:3 */ 6449 6450 type XResizeRequestEvent = struct { 6451 Ftype int32 6452 Fserial uint32 6453 Fsend_event int32 6454 Fdisplay uintptr 6455 Fwindow Window 6456 Fwidth int32 6457 Fheight int32 6458 } /* Xlib.h:799:3 */ 6459 6460 type XConfigureRequestEvent = struct { 6461 Ftype int32 6462 Fserial uint32 6463 Fsend_event int32 6464 Fdisplay uintptr 6465 Fparent Window 6466 Fwindow Window 6467 Fx int32 6468 Fy int32 6469 Fwidth int32 6470 Fheight int32 6471 Fborder_width int32 6472 Fabove Window 6473 Fdetail int32 6474 Fvalue_mask uint32 6475 } /* Xlib.h:814:3 */ 6476 6477 type XCirculateEvent = struct { 6478 Ftype int32 6479 Fserial uint32 6480 Fsend_event int32 6481 Fdisplay uintptr 6482 Fevent Window 6483 Fwindow Window 6484 Fplace int32 6485 } /* Xlib.h:824:3 */ 6486 6487 type XCirculateRequestEvent = struct { 6488 Ftype int32 6489 Fserial uint32 6490 Fsend_event int32 6491 Fdisplay uintptr 6492 Fparent Window 6493 Fwindow Window 6494 Fplace int32 6495 } /* Xlib.h:834:3 */ 6496 6497 type XPropertyEvent = struct { 6498 Ftype int32 6499 Fserial uint32 6500 Fsend_event int32 6501 Fdisplay uintptr 6502 Fwindow Window 6503 Fatom Atom 6504 Ftime Time 6505 Fstate int32 6506 } /* Xlib.h:845:3 */ 6507 6508 type XSelectionClearEvent = struct { 6509 Ftype int32 6510 Fserial uint32 6511 Fsend_event int32 6512 Fdisplay uintptr 6513 Fwindow Window 6514 Fselection Atom 6515 Ftime Time 6516 } /* Xlib.h:855:3 */ 6517 6518 type XSelectionRequestEvent = struct { 6519 Ftype int32 6520 Fserial uint32 6521 Fsend_event int32 6522 Fdisplay uintptr 6523 Fowner Window 6524 Frequestor Window 6525 Fselection Atom 6526 Ftarget Atom 6527 Fproperty Atom 6528 Ftime Time 6529 } /* Xlib.h:868:3 */ 6530 6531 type XSelectionEvent = struct { 6532 Ftype int32 6533 Fserial uint32 6534 Fsend_event int32 6535 Fdisplay uintptr 6536 Frequestor Window 6537 Fselection Atom 6538 Ftarget Atom 6539 Fproperty Atom 6540 Ftime Time 6541 } /* Xlib.h:880:3 */ 6542 6543 type XColormapEvent = struct { 6544 Ftype int32 6545 Fserial uint32 6546 Fsend_event int32 6547 Fdisplay uintptr 6548 Fwindow Window 6549 Fcolormap Colormap 6550 Fnew int32 6551 Fstate int32 6552 } /* Xlib.h:895:3 */ 6553 6554 type XClientMessageEvent = struct { 6555 Ftype int32 6556 Fserial uint32 6557 Fsend_event int32 6558 Fdisplay uintptr 6559 Fwindow Window 6560 Fmessage_type Atom 6561 Fformat int32 6562 Fdata struct { 6563 F__ccgo_pad1 [0]uint32 6564 Fb [20]uint8 6565 } 6566 } /* Xlib.h:910:3 */ 6567 6568 type XMappingEvent = struct { 6569 Ftype int32 6570 Fserial uint32 6571 Fsend_event int32 6572 Fdisplay uintptr 6573 Fwindow Window 6574 Frequest int32 6575 Ffirst_keycode int32 6576 Fcount int32 6577 } /* Xlib.h:922:3 */ 6578 6579 type XErrorEvent = struct { 6580 Ftype int32 6581 Fdisplay uintptr 6582 Fresourceid XID 6583 Fserial uint32 6584 Ferror_code uint8 6585 Frequest_code uint8 6586 Fminor_code uint8 6587 F__ccgo_pad1 [1]byte 6588 } /* Xlib.h:932:3 */ 6589 6590 type XAnyEvent = struct { 6591 Ftype int32 6592 Fserial uint32 6593 Fsend_event int32 6594 Fdisplay uintptr 6595 Fwindow Window 6596 } /* Xlib.h:940:3 */ 6597 6598 // ************************************************************** 6599 // 6600 // 6601 // GenericEvent. This event is the standard event for all newer extensions. 6602 6603 type XGenericEvent = struct { 6604 Ftype int32 6605 Fserial uint32 6606 Fsend_event int32 6607 Fdisplay uintptr 6608 Fextension int32 6609 Fevtype int32 6610 } /* Xlib.h:956:7 */ 6611 6612 type XGenericEventCookie = struct { 6613 Ftype int32 6614 Fserial uint32 6615 Fsend_event int32 6616 Fdisplay uintptr 6617 Fextension int32 6618 Fevtype int32 6619 Fcookie uint32 6620 Fdata uintptr 6621 } /* Xlib.h:967:3 */ 6622 6623 // this union is defined so Xlib can always use the same sized 6624 // event structure internally, to avoid memory fragmentation. 6625 type X_XEvent = struct { 6626 Ftype int32 6627 F__ccgo_pad1 [92]byte 6628 } /* Xlib.h:255:1 */ 6629 6630 // this union is defined so Xlib can always use the same sized 6631 // event structure internally, to avoid memory fragmentation. 6632 type XEvent = X_XEvent /* Xlib.h:1009:3 */ 6633 6634 // per character font metric information. 6635 type XCharStruct = struct { 6636 Flbearing int16 6637 Frbearing int16 6638 Fwidth int16 6639 Fascent int16 6640 Fdescent int16 6641 Fattributes uint16 6642 } /* Xlib.h:1024:3 */ 6643 6644 // To allow arbitrary information with fonts, there are additional properties 6645 // returned. 6646 type XFontProp = struct { 6647 Fname Atom 6648 Fcard32 uint32 6649 } /* Xlib.h:1033:3 */ 6650 6651 type XFontStruct = struct { 6652 Fext_data uintptr 6653 Ffid Font 6654 Fdirection uint32 6655 Fmin_char_or_byte2 uint32 6656 Fmax_char_or_byte2 uint32 6657 Fmin_byte1 uint32 6658 Fmax_byte1 uint32 6659 Fall_chars_exist int32 6660 Fdefault_char uint32 6661 Fn_properties int32 6662 Fproperties uintptr 6663 Fmin_bounds XCharStruct 6664 Fmax_bounds XCharStruct 6665 Fper_char uintptr 6666 Fascent int32 6667 Fdescent int32 6668 } /* Xlib.h:1052:3 */ 6669 6670 // PolyText routines take these as arguments. 6671 type XTextItem = struct { 6672 Fchars uintptr 6673 Fnchars int32 6674 Fdelta int32 6675 Ffont Font 6676 } /* Xlib.h:1062:3 */ 6677 6678 type XChar2b = struct { 6679 Fbyte1 uint8 6680 Fbyte2 uint8 6681 } /* Xlib.h:1067:3 */ 6682 6683 type XTextItem16 = struct { 6684 Fchars uintptr 6685 Fnchars int32 6686 Fdelta int32 6687 Ffont Font 6688 } /* Xlib.h:1074:3 */ 6689 6690 type XEDataObject = struct{ Fdisplay uintptr } /* Xlib.h:1082:24 */ 6691 6692 type XFontSetExtents = struct { 6693 Fmax_ink_extent XRectangle 6694 Fmax_logical_extent XRectangle 6695 } /* Xlib.h:1087:3 */ 6696 6697 // unused: 6698 // typedef void (*XOMProc)(); 6699 // 6700 6701 type XOM = uintptr /* Xlib.h:1093:21 */ 6702 type XOC = uintptr /* Xlib.h:1094:21 */ 6703 type XFontSet = uintptr /* Xlib.h:1094:27 */ 6704 6705 type XmbTextItem = struct { 6706 Fchars uintptr 6707 Fnchars int32 6708 Fdelta int32 6709 Ffont_set XFontSet 6710 } /* Xlib.h:1101:3 */ 6711 6712 type XwcTextItem = struct { 6713 Fchars uintptr 6714 Fnchars int32 6715 Fdelta int32 6716 Ffont_set XFontSet 6717 } /* Xlib.h:1108:3 */ 6718 6719 type XOMCharSetList = struct { 6720 Fcharset_count int32 6721 Fcharset_list uintptr 6722 } /* Xlib.h:1124:3 */ 6723 6724 type XOrientation = uint32 /* Xlib.h:1132:3 */ 6725 6726 type XOMOrientation = struct { 6727 Fnum_orientation int32 6728 Forientation uintptr 6729 } /* Xlib.h:1137:3 */ 6730 6731 type XOMFontInfo = struct { 6732 Fnum_font int32 6733 Ffont_struct_list uintptr 6734 Ffont_name_list uintptr 6735 } /* Xlib.h:1143:3 */ 6736 6737 type XIM = uintptr /* Xlib.h:1145:21 */ 6738 type XIC = uintptr /* Xlib.h:1146:21 */ 6739 6740 type XIMProc = uintptr /* Xlib.h:1148:14 */ 6741 6742 type XICProc = uintptr /* Xlib.h:1154:14 */ 6743 6744 type XIDProc = uintptr /* Xlib.h:1160:14 */ 6745 6746 type XIMStyle = uint32 /* Xlib.h:1166:23 */ 6747 6748 type XIMStyles = struct { 6749 Fcount_styles uint16 6750 F__ccgo_pad1 [2]byte 6751 Fsupported_styles uintptr 6752 } /* Xlib.h:1171:3 */ 6753 6754 type XVaNestedList = uintptr /* Xlib.h:1233:14 */ 6755 6756 type XIMCallback = struct { 6757 Fclient_data XPointer 6758 Fcallback XIMProc 6759 } /* Xlib.h:1238:3 */ 6760 6761 type XICCallback = struct { 6762 Fclient_data XPointer 6763 Fcallback XICProc 6764 } /* Xlib.h:1243:3 */ 6765 6766 type XIMFeedback = uint32 /* Xlib.h:1245:23 */ 6767 6768 type X_XIMText = struct { 6769 Flength uint16 6770 F__ccgo_pad1 [2]byte 6771 Ffeedback uintptr 6772 Fencoding_is_wchar int32 6773 Fstring struct{ Fmulti_byte uintptr } 6774 } /* Xlib.h:1257:9 */ 6775 6776 type XIMText = X_XIMText /* Xlib.h:1265:3 */ 6777 6778 type XIMPreeditState = uint32 /* Xlib.h:1267:24 */ 6779 6780 type X_XIMPreeditStateNotifyCallbackStruct = struct{ Fstate XIMPreeditState } /* Xlib.h:1273:9 */ 6781 6782 type XIMPreeditStateNotifyCallbackStruct = X_XIMPreeditStateNotifyCallbackStruct /* Xlib.h:1275:3 */ 6783 6784 type XIMResetState = uint32 /* Xlib.h:1277:24 */ 6785 6786 type XIMStringConversionFeedback = uint32 /* Xlib.h:1282:23 */ 6787 6788 type X_XIMStringConversionText = struct { 6789 Flength uint16 6790 F__ccgo_pad1 [2]byte 6791 Ffeedback uintptr 6792 Fencoding_is_wchar int32 6793 Fstring struct{ Fmbs uintptr } 6794 } /* Xlib.h:1291:9 */ 6795 6796 type XIMStringConversionText = X_XIMStringConversionText /* Xlib.h:1299:3 */ 6797 6798 type XIMStringConversionPosition = uint16 /* Xlib.h:1301:24 */ 6799 6800 type XIMStringConversionType = uint16 /* Xlib.h:1303:24 */ 6801 6802 type XIMStringConversionOperation = uint16 /* Xlib.h:1310:24 */ 6803 6804 type XIMCaretDirection = uint32 /* Xlib.h:1323:3 */ 6805 6806 type X_XIMStringConversionCallbackStruct = struct { 6807 Fposition XIMStringConversionPosition 6808 F__ccgo_pad1 [2]byte 6809 Fdirection XIMCaretDirection 6810 Foperation XIMStringConversionOperation 6811 Ffactor uint16 6812 Ftext uintptr 6813 } /* Xlib.h:1325:9 */ 6814 6815 type XIMStringConversionCallbackStruct = X_XIMStringConversionCallbackStruct /* Xlib.h:1331:3 */ 6816 6817 type X_XIMPreeditDrawCallbackStruct = struct { 6818 Fcaret int32 6819 Fchg_first int32 6820 Fchg_length int32 6821 Ftext uintptr 6822 } /* Xlib.h:1333:9 */ 6823 6824 type XIMPreeditDrawCallbackStruct = X_XIMPreeditDrawCallbackStruct /* Xlib.h:1338:3 */ 6825 6826 type XIMCaretStyle = uint32 /* Xlib.h:1344:3 */ 6827 6828 type X_XIMPreeditCaretCallbackStruct = struct { 6829 Fposition int32 6830 Fdirection XIMCaretDirection 6831 Fstyle XIMCaretStyle 6832 } /* Xlib.h:1346:9 */ 6833 6834 type XIMPreeditCaretCallbackStruct = X_XIMPreeditCaretCallbackStruct /* Xlib.h:1350:3 */ 6835 6836 type XIMStatusDataType = uint32 /* Xlib.h:1355:3 */ 6837 6838 type X_XIMStatusDrawCallbackStruct = struct { 6839 Ftype XIMStatusDataType 6840 Fdata struct{ Ftext uintptr } 6841 } /* Xlib.h:1357:9 */ 6842 6843 type XIMStatusDrawCallbackStruct = X_XIMStatusDrawCallbackStruct /* Xlib.h:1363:3 */ 6844 6845 type X_XIMHotKeyTrigger = struct { 6846 Fkeysym KeySym 6847 Fmodifier int32 6848 Fmodifier_mask int32 6849 } /* Xlib.h:1365:9 */ 6850 6851 type XIMHotKeyTrigger = X_XIMHotKeyTrigger /* Xlib.h:1369:3 */ 6852 6853 type X_XIMHotKeyTriggers = struct { 6854 Fnum_hot_key int32 6855 Fkey uintptr 6856 } /* Xlib.h:1371:9 */ 6857 6858 type XIMHotKeyTriggers = X_XIMHotKeyTriggers /* Xlib.h:1374:3 */ 6859 6860 type XIMHotKeyState = uint32 /* Xlib.h:1376:24 */ 6861 6862 type XIMValuesList = struct { 6863 Fcount_values uint16 6864 F__ccgo_pad1 [2]byte 6865 Fsupported_values uintptr 6866 } /* Xlib.h:1384:3 */ 6867 6868 type XErrorHandler = uintptr /* Xlib.h:1843:13 */ 6869 6870 type XIOErrorHandler = uintptr /* Xlib.h:1853:13 */ 6871 6872 type XIOErrorExitHandler = uintptr /* Xlib.h:1861:14 */ 6873 6874 type XConnectionWatchProc = uintptr /* Xlib.h:3959:14 */ 6875 6876 // Definitions for the X window system used by server and c bindings 6877 6878 // This packet-construction scheme makes the following assumptions: 6879 // 6880 // 1. The compiler is able 6881 // to generate code which addresses one- and two-byte quantities. 6882 // In the worst case, this would be done with bit-fields. If bit-fields 6883 // are used it may be necessary to reorder the request fields in this file, 6884 // depending on the order in which the machine assigns bit fields to 6885 // machine words. There may also be a problem with sign extension, 6886 // as K+R specify that bitfields are always unsigned. 6887 // 6888 // 2. 2- and 4-byte fields in packet structures must be ordered by hand 6889 // such that they are naturally-aligned, so that no compiler will ever 6890 // insert padding bytes. 6891 // 6892 // 3. All packets are hand-padded to a multiple of 4 bytes, for 6893 // the same reason. 6894 6895 //********************************************************** 6896 // 6897 // Copyright 1987, 1998 The Open Group 6898 // 6899 // Permission to use, copy, modify, distribute, and sell this software and its 6900 // documentation for any purpose is hereby granted without fee, provided that 6901 // the above copyright notice appear in all copies and that both that 6902 // copyright notice and this permission notice appear in supporting 6903 // documentation. 6904 // 6905 // The above copyright notice and this permission notice shall be included in 6906 // all copies or substantial portions of the Software. 6907 // 6908 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 6909 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6910 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 6911 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 6912 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 6913 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 6914 // 6915 // Except as contained in this notice, the name of The Open Group shall not be 6916 // used in advertising or otherwise to promote the sale, use or other dealings 6917 // in this Software without prior written authorization from The Open Group. 6918 // 6919 // 6920 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 6921 // 6922 // All Rights Reserved 6923 // 6924 // Permission to use, copy, modify, and distribute this software and its 6925 // documentation for any purpose and without fee is hereby granted, 6926 // provided that the above copyright notice appear in all copies and that 6927 // both that copyright notice and this permission notice appear in 6928 // supporting documentation, and that the name of Digital not be 6929 // used in advertising or publicity pertaining to distribution of the 6930 // software without specific, written prior permission. 6931 // 6932 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 6933 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 6934 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 6935 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 6936 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 6937 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 6938 // SOFTWARE. 6939 // 6940 // ***************************************************************** 6941 6942 //********************************************************** 6943 // 6944 // Copyright 1987, 1998 The Open Group 6945 // 6946 // Permission to use, copy, modify, distribute, and sell this software and its 6947 // documentation for any purpose is hereby granted without fee, provided that 6948 // the above copyright notice appear in all copies and that both that 6949 // copyright notice and this permission notice appear in supporting 6950 // documentation. 6951 // 6952 // The above copyright notice and this permission notice shall be included in 6953 // all copies or substantial portions of the Software. 6954 // 6955 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 6956 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6957 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 6958 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 6959 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 6960 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 6961 // 6962 // Except as contained in this notice, the name of The Open Group shall not be 6963 // used in advertising or otherwise to promote the sale, use or other dealings 6964 // in this Software without prior written authorization from The Open Group. 6965 // 6966 // 6967 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 6968 // 6969 // All Rights Reserved 6970 // 6971 // Permission to use, copy, modify, and distribute this software and its 6972 // documentation for any purpose and without fee is hereby granted, 6973 // provided that the above copyright notice appear in all copies and that 6974 // both that copyright notice and this permission notice appear in 6975 // supporting documentation, and that the name of Digital not be 6976 // used in advertising or publicity pertaining to distribution of the 6977 // software without specific, written prior permission. 6978 // 6979 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 6980 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 6981 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 6982 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 6983 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 6984 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 6985 // SOFTWARE. 6986 // 6987 // ***************************************************************** 6988 // Xmd.h: MACHINE DEPENDENT DECLARATIONS. 6989 6990 // Special per-machine configuration flags. 6991 6992 // Definition of macro used to set constants for size of network structures; 6993 // machines with preprocessors that can't handle all of the sz_ symbols 6994 // can define this macro to be sizeof(x) if and only if their compiler doesn't 6995 // pad out structures (esp. the xTextElt structure which contains only two 6996 // one-byte fields). Network structures should always define sz_symbols. 6997 // 6998 // The sz_ prefix is used instead of something more descriptive so that the 6999 // symbols are no more than 32 characters long (which causes problems for some 7000 // compilers and preprocessors). 7001 // 7002 // The extra indirection is to get macro arguments to expand correctly before 7003 // the concatenation, rather than afterward. 7004 7005 // Bitfield suffixes for the protocol structure elements, if you 7006 // need them. Note that bitfields are not guaranteed to be signed 7007 // (or even unsigned) according to ANSI C. 7008 type INT32 = int32 /* Xmd.h:100:14 */ 7009 type INT16 = int16 /* Xmd.h:102:15 */ 7010 7011 type INT8 = int8 /* Xmd.h:104:24 */ 7012 7013 type CARD64 = uint64 /* Xmd.h:110:28 */ 7014 type CARD32 = uint32 /* Xmd.h:111:23 */ 7015 type CARD16 = uint16 /* Xmd.h:113:24 */ 7016 type CARD8 = uint8 /* Xmd.h:114:24 */ 7017 7018 type BITS32 = CARD32 /* Xmd.h:116:17 */ 7019 type BITS16 = CARD16 /* Xmd.h:117:17 */ 7020 7021 type BYTE = CARD8 /* Xmd.h:119:16 */ 7022 type BOOL = CARD8 /* Xmd.h:120:16 */ 7023 7024 // was definitions for sign-extending bitfields on architectures without 7025 // native types smaller than 64-bit, now just backwards compatibility 7026 7027 // this version should leave result of type (t *), but that should only be 7028 // used when not in MUSTCOPY 7029 7030 //********************************************************** 7031 // 7032 // Copyright 1987, 1998 The Open Group 7033 // 7034 // Permission to use, copy, modify, distribute, and sell this software and its 7035 // documentation for any purpose is hereby granted without fee, provided that 7036 // the above copyright notice appear in all copies and that both that 7037 // copyright notice and this permission notice appear in supporting 7038 // documentation. 7039 // 7040 // The above copyright notice and this permission notice shall be included in 7041 // all copies or substantial portions of the Software. 7042 // 7043 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7044 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7045 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7046 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7047 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7048 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7049 // 7050 // Except as contained in this notice, the name of The Open Group shall not be 7051 // used in advertising or otherwise to promote the sale, use or other dealings 7052 // in this Software without prior written authorization from The Open Group. 7053 // 7054 // 7055 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7056 // 7057 // All Rights Reserved 7058 // 7059 // Permission to use, copy, modify, and distribute this software and its 7060 // documentation for any purpose and without fee is hereby granted, 7061 // provided that the above copyright notice appear in all copies and that 7062 // both that copyright notice and this permission notice appear in 7063 // supporting documentation, and that the name of Digital not be 7064 // used in advertising or publicity pertaining to distribution of the 7065 // software without specific, written prior permission. 7066 // 7067 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7068 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7069 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7070 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7071 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7072 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7073 // SOFTWARE. 7074 // 7075 // ***************************************************************** 7076 //********************************************************** 7077 // 7078 // Copyright 1987, 1998 The Open Group 7079 // 7080 // Permission to use, copy, modify, distribute, and sell this software and its 7081 // documentation for any purpose is hereby granted without fee, provided that 7082 // the above copyright notice appear in all copies and that both that 7083 // copyright notice and this permission notice appear in supporting 7084 // documentation. 7085 // 7086 // The above copyright notice and this permission notice shall be included in 7087 // all copies or substantial portions of the Software. 7088 // 7089 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7090 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7091 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7092 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7093 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7094 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7095 // 7096 // Except as contained in this notice, the name of The Open Group shall not be 7097 // used in advertising or otherwise to promote the sale, use or other dealings 7098 // in this Software without prior written authorization from The Open Group. 7099 // 7100 // 7101 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7102 // 7103 // All Rights Reserved 7104 // 7105 // Permission to use, copy, modify, and distribute this software and its 7106 // documentation for any purpose and without fee is hereby granted, 7107 // provided that the above copyright notice appear in all copies and that 7108 // both that copyright notice and this permission notice appear in 7109 // supporting documentation, and that the name of Digital not be 7110 // used in advertising or publicity pertaining to distribution of the 7111 // software without specific, written prior permission. 7112 // 7113 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7114 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7115 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7116 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7117 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7118 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7119 // SOFTWARE. 7120 // 7121 // ***************************************************************** 7122 7123 // Used by PolySegment 7124 7125 type X_xSegment = struct { 7126 Fx1 INT16 7127 Fy1 INT16 7128 Fx2 INT16 7129 Fy2 INT16 7130 } /* Xprotostr.h:54:9 */ 7131 7132 // was definitions for sign-extending bitfields on architectures without 7133 // native types smaller than 64-bit, now just backwards compatibility 7134 7135 // this version should leave result of type (t *), but that should only be 7136 // used when not in MUSTCOPY 7137 7138 //********************************************************** 7139 // 7140 // Copyright 1987, 1998 The Open Group 7141 // 7142 // Permission to use, copy, modify, distribute, and sell this software and its 7143 // documentation for any purpose is hereby granted without fee, provided that 7144 // the above copyright notice appear in all copies and that both that 7145 // copyright notice and this permission notice appear in supporting 7146 // documentation. 7147 // 7148 // The above copyright notice and this permission notice shall be included in 7149 // all copies or substantial portions of the Software. 7150 // 7151 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7152 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7153 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7154 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7155 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7156 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7157 // 7158 // Except as contained in this notice, the name of The Open Group shall not be 7159 // used in advertising or otherwise to promote the sale, use or other dealings 7160 // in this Software without prior written authorization from The Open Group. 7161 // 7162 // 7163 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7164 // 7165 // All Rights Reserved 7166 // 7167 // Permission to use, copy, modify, and distribute this software and its 7168 // documentation for any purpose and without fee is hereby granted, 7169 // provided that the above copyright notice appear in all copies and that 7170 // both that copyright notice and this permission notice appear in 7171 // supporting documentation, and that the name of Digital not be 7172 // used in advertising or publicity pertaining to distribution of the 7173 // software without specific, written prior permission. 7174 // 7175 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7176 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7177 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7178 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7179 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7180 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7181 // SOFTWARE. 7182 // 7183 // ***************************************************************** 7184 //********************************************************** 7185 // 7186 // Copyright 1987, 1998 The Open Group 7187 // 7188 // Permission to use, copy, modify, distribute, and sell this software and its 7189 // documentation for any purpose is hereby granted without fee, provided that 7190 // the above copyright notice appear in all copies and that both that 7191 // copyright notice and this permission notice appear in supporting 7192 // documentation. 7193 // 7194 // The above copyright notice and this permission notice shall be included in 7195 // all copies or substantial portions of the Software. 7196 // 7197 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7198 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7199 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7200 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7201 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7202 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7203 // 7204 // Except as contained in this notice, the name of The Open Group shall not be 7205 // used in advertising or otherwise to promote the sale, use or other dealings 7206 // in this Software without prior written authorization from The Open Group. 7207 // 7208 // 7209 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7210 // 7211 // All Rights Reserved 7212 // 7213 // Permission to use, copy, modify, and distribute this software and its 7214 // documentation for any purpose and without fee is hereby granted, 7215 // provided that the above copyright notice appear in all copies and that 7216 // both that copyright notice and this permission notice appear in 7217 // supporting documentation, and that the name of Digital not be 7218 // used in advertising or publicity pertaining to distribution of the 7219 // software without specific, written prior permission. 7220 // 7221 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7222 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7223 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7224 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7225 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7226 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7227 // SOFTWARE. 7228 // 7229 // ***************************************************************** 7230 7231 // Used by PolySegment 7232 7233 type XSegment1 = X_xSegment /* Xprotostr.h:56:3 */ 7234 7235 // POINT 7236 7237 type X_xPoint = struct { 7238 Fx INT16 7239 Fy INT16 7240 } /* Xprotostr.h:60:9 */ 7241 7242 // POINT 7243 7244 type XPoint1 = X_xPoint /* Xprotostr.h:62:3 */ 7245 7246 type X_xRectangle = struct { 7247 Fx INT16 7248 Fy INT16 7249 Fwidth CARD16 7250 Fheight CARD16 7251 } /* Xprotostr.h:64:9 */ 7252 7253 type XRectangle1 = X_xRectangle /* Xprotostr.h:67:3 */ 7254 7255 // ARC 7256 7257 type X_xArc = struct { 7258 Fx INT16 7259 Fy INT16 7260 Fwidth CARD16 7261 Fheight CARD16 7262 Fangle1 INT16 7263 Fangle2 INT16 7264 } /* Xprotostr.h:71:9 */ 7265 7266 // ARC 7267 7268 type XArc1 = X_xArc /* Xprotostr.h:75:3 */ 7269 7270 // Define constants for the sizes of the network packets. The sz_ prefix is 7271 // used instead of something more descriptive so that the symbols are no more 7272 // than 32 characters in length (which causes problems for some compilers). 7273 7274 // For the purpose of the structure definitions in this file, 7275 // we must redefine the following types in terms of Xmd.h's types, which may 7276 // include bit fields. All of these are #undef'd at the end of this file, 7277 // restoring the definitions in X.h. 7278 7279 type KeyButMask = CARD16 /* Xproto.h:259:16 */ 7280 7281 //**************** 7282 // Connection setup structures. See Chapter 8: Connection Setup 7283 // of the X Window System Protocol specification for details. 7284 // **************** 7285 7286 // Client initiates handshake with this data, followed by the strings 7287 // for the auth protocol & data. 7288 type XConnClientPrefix = struct { 7289 FbyteOrder CARD8 7290 Fpad BYTE 7291 FmajorVersion CARD16 7292 FminorVersion CARD16 7293 FnbytesAuthProto CARD16 7294 FnbytesAuthString CARD16 7295 Fpad2 CARD16 7296 } /* Xproto.h:276:3 */ 7297 7298 // Server response to xConnClientPrefix. 7299 // 7300 // If success == Success, this is followed by xConnSetup and 7301 // numRoots xWindowRoot structs. 7302 // 7303 // If success == Failure, this is followed by a reason string. 7304 // 7305 // The protocol also defines a case of success == Authenticate, but 7306 // that doesn't seem to have ever been implemented by the X Consortium. 7307 type XConnSetupPrefix = struct { 7308 Fsuccess CARD8 7309 FlengthReason BYTE 7310 FmajorVersion CARD16 7311 FminorVersion CARD16 7312 Flength CARD16 7313 } /* Xproto.h:294:3 */ 7314 7315 type XConnSetup = struct { 7316 Frelease CARD32 7317 FridBase CARD32 7318 FridMask CARD32 7319 FmotionBufferSize CARD32 7320 FnbytesVendor CARD16 7321 FmaxRequestSize CARD16 7322 FnumRoots CARD8 7323 FnumFormats CARD8 7324 FimageByteOrder CARD8 7325 FbitmapBitOrder CARD8 7326 FbitmapScanlineUnit CARD8 7327 FbitmapScanlinePad CARD8 7328 FminKeyCode CARD8 7329 FmaxKeyCode CARD8 7330 Fpad2 CARD32 7331 } /* Xproto.h:312:3 */ 7332 7333 type XPixmapFormat = struct { 7334 Fdepth CARD8 7335 FbitsPerPixel CARD8 7336 FscanLinePad CARD8 7337 Fpad1 CARD8 7338 Fpad2 CARD32 7339 } /* Xproto.h:320:3 */ 7340 7341 // window root 7342 7343 type XDepth = struct { 7344 Fdepth CARD8 7345 Fpad1 CARD8 7346 FnVisuals CARD16 7347 Fpad2 CARD32 7348 } /* Xproto.h:329:7 */ 7349 7350 type XVisualType = struct { 7351 FvisualID CARD32 7352 Fclass CARD8 7353 FbitsPerRGB CARD8 7354 FcolormapEntries CARD16 7355 FredMask CARD32 7356 FgreenMask CARD32 7357 FblueMask CARD32 7358 Fpad CARD32 7359 } /* Xproto.h:342:7 */ 7360 7361 type XWindowRoot = struct { 7362 FwindowId CARD32 7363 FdefaultColormap CARD32 7364 FwhitePixel CARD32 7365 FblackPixel CARD32 7366 FcurrentInputMask CARD32 7367 FpixWidth CARD16 7368 FpixHeight CARD16 7369 FmmWidth CARD16 7370 FmmHeight CARD16 7371 FminInstalledMaps CARD16 7372 FmaxInstalledMaps CARD16 7373 FrootVisualID CARD32 7374 FbackingStore CARD8 7375 FsaveUnders BOOL 7376 FrootDepth CARD8 7377 FnDepths CARD8 7378 } /* Xproto.h:357:3 */ 7379 7380 // **************************************************************** 7381 // 7382 // Structure Defns 7383 // Structures needed for replies 7384 // 7385 7386 // Used in GetMotionEvents 7387 7388 type XTimecoord = struct { 7389 Ftime CARD32 7390 Fx INT16 7391 Fy INT16 7392 } /* Xproto.h:370:3 */ 7393 7394 type XHostEntry = struct { 7395 Ffamily CARD8 7396 Fpad BYTE 7397 Flength CARD16 7398 } /* Xproto.h:376:3 */ 7399 7400 type XCharInfo = struct { 7401 FleftSideBearing INT16 7402 FrightSideBearing INT16 7403 FcharacterWidth INT16 7404 Fascent INT16 7405 Fdescent INT16 7406 Fattributes CARD16 7407 } /* Xproto.h:385:3 */ 7408 7409 type XFontProp1 = struct { 7410 Fname CARD32 7411 Fvalue CARD32 7412 } /* Xproto.h:390:3 */ 7413 7414 // non-aligned big-endian font ID follows this struct 7415 type XTextElt = struct { 7416 Flen CARD8 7417 Fdelta INT8 7418 } /* Xproto.h:399:3 */ 7419 7420 type XColorItem = struct { 7421 Fpixel CARD32 7422 Fred CARD16 7423 Fgreen CARD16 7424 Fblue CARD16 7425 Fflags CARD8 7426 Fpad CARD8 7427 } /* Xproto.h:407:3 */ 7428 7429 type Xrgb = struct { 7430 Fred CARD16 7431 Fgreen CARD16 7432 Fblue CARD16 7433 Fpad CARD16 7434 } /* Xproto.h:412:3 */ 7435 7436 type KEYCODE = CARD8 /* Xproto.h:414:15 */ 7437 7438 // **************** 7439 // 7440 // XRep: 7441 // meant to be 32 byte quantity 7442 // 7443 7444 // GenericReply is the common format of all replies. The "data" items 7445 // are specific to each individual reply type. 7446 7447 type XGenericReply = struct { 7448 Ftype BYTE 7449 Fdata1 BYTE 7450 FsequenceNumber CARD16 7451 Flength CARD32 7452 Fdata00 CARD32 7453 Fdata01 CARD32 7454 Fdata02 CARD32 7455 Fdata03 CARD32 7456 Fdata04 CARD32 7457 Fdata05 CARD32 7458 } /* Xproto.h:436:7 */ 7459 7460 // Individual reply formats. 7461 7462 type XGetWindowAttributesReply = struct { 7463 Ftype BYTE 7464 FbackingStore CARD8 7465 FsequenceNumber CARD16 7466 Flength CARD32 7467 FvisualID CARD32 7468 Fclass CARD16 7469 FbitGravity CARD8 7470 FwinGravity CARD8 7471 FbackingBitPlanes CARD32 7472 FbackingPixel CARD32 7473 FsaveUnder BOOL 7474 FmapInstalled BOOL 7475 FmapState CARD8 7476 Foverride BOOL 7477 Fcolormap CARD32 7478 FallEventMasks CARD32 7479 FyourEventMask CARD32 7480 FdoNotPropagateMask CARD16 7481 Fpad CARD16 7482 } /* Xproto.h:464:7 */ 7483 7484 type XGetGeometryReply = struct { 7485 Ftype BYTE 7486 Fdepth CARD8 7487 FsequenceNumber CARD16 7488 Flength CARD32 7489 Froot CARD32 7490 Fx INT16 7491 Fy INT16 7492 Fwidth CARD16 7493 Fheight CARD16 7494 FborderWidth CARD16 7495 Fpad1 CARD16 7496 Fpad2 CARD32 7497 Fpad3 CARD32 7498 } /* Xproto.h:478:7 */ 7499 7500 type XQueryTreeReply = struct { 7501 Ftype BYTE 7502 Fpad1 BYTE 7503 FsequenceNumber CARD16 7504 Flength CARD32 7505 Froot CARD32 7506 Fparent CARD32 7507 FnChildren CARD16 7508 Fpad2 CARD16 7509 Fpad3 CARD32 7510 Fpad4 CARD32 7511 Fpad5 CARD32 7512 } /* Xproto.h:491:7 */ 7513 7514 type XInternAtomReply = struct { 7515 Ftype BYTE 7516 Fpad1 BYTE 7517 FsequenceNumber CARD16 7518 Flength CARD32 7519 Fatom CARD32 7520 Fpad2 CARD32 7521 Fpad3 CARD32 7522 Fpad4 CARD32 7523 Fpad5 CARD32 7524 Fpad6 CARD32 7525 } /* Xproto.h:504:7 */ 7526 7527 type XGetAtomNameReply = struct { 7528 Ftype BYTE 7529 Fpad1 BYTE 7530 FsequenceNumber CARD16 7531 Flength CARD32 7532 FnameLength CARD16 7533 Fpad2 CARD16 7534 Fpad3 CARD32 7535 Fpad4 CARD32 7536 Fpad5 CARD32 7537 Fpad6 CARD32 7538 Fpad7 CARD32 7539 } /* Xproto.h:518:7 */ 7540 7541 type XGetPropertyReply = struct { 7542 Ftype BYTE 7543 Fformat CARD8 7544 FsequenceNumber CARD16 7545 Flength CARD32 7546 FpropertyType CARD32 7547 FbytesAfter CARD32 7548 FnItems CARD32 7549 Fpad1 CARD32 7550 Fpad2 CARD32 7551 Fpad3 CARD32 7552 } /* Xproto.h:531:7 */ 7553 7554 type XListPropertiesReply = struct { 7555 Ftype BYTE 7556 Fpad1 BYTE 7557 FsequenceNumber CARD16 7558 Flength CARD32 7559 FnProperties CARD16 7560 Fpad2 CARD16 7561 Fpad3 CARD32 7562 Fpad4 CARD32 7563 Fpad5 CARD32 7564 Fpad6 CARD32 7565 Fpad7 CARD32 7566 } /* Xproto.h:545:7 */ 7567 7568 type XGetSelectionOwnerReply = struct { 7569 Ftype BYTE 7570 Fpad1 BYTE 7571 FsequenceNumber CARD16 7572 Flength CARD32 7573 Fowner CARD32 7574 Fpad2 CARD32 7575 Fpad3 CARD32 7576 Fpad4 CARD32 7577 Fpad5 CARD32 7578 Fpad6 CARD32 7579 } /* Xproto.h:558:7 */ 7580 7581 type XGrabPointerReply = struct { 7582 Ftype BYTE 7583 Fstatus BYTE 7584 FsequenceNumber CARD16 7585 Flength CARD32 7586 Fpad1 CARD32 7587 Fpad2 CARD32 7588 Fpad3 CARD32 7589 Fpad4 CARD32 7590 Fpad5 CARD32 7591 Fpad6 CARD32 7592 } /* Xproto.h:571:7 */ 7593 7594 type XGrabKeyboardReply = XGrabPointerReply /* Xproto.h:573:27 */ 7595 7596 type XQueryPointerReply = struct { 7597 Ftype BYTE 7598 FsameScreen BOOL 7599 FsequenceNumber CARD16 7600 Flength CARD32 7601 Froot CARD32 7602 Fchild CARD32 7603 FrootX INT16 7604 FrootY INT16 7605 FwinX INT16 7606 FwinY INT16 7607 Fmask CARD16 7608 Fpad1 CARD16 7609 Fpad CARD32 7610 } /* Xproto.h:585:7 */ 7611 7612 type XGetMotionEventsReply = struct { 7613 Ftype BYTE 7614 Fpad1 BYTE 7615 FsequenceNumber CARD16 7616 Flength CARD32 7617 FnEvents CARD32 7618 Fpad2 CARD32 7619 Fpad3 CARD32 7620 Fpad4 CARD32 7621 Fpad5 CARD32 7622 Fpad6 CARD32 7623 } /* Xproto.h:598:7 */ 7624 7625 type XTranslateCoordsReply = struct { 7626 Ftype BYTE 7627 FsameScreen BOOL 7628 FsequenceNumber CARD16 7629 Flength CARD32 7630 Fchild CARD32 7631 FdstX INT16 7632 FdstY INT16 7633 Fpad2 CARD32 7634 Fpad3 CARD32 7635 Fpad4 CARD32 7636 Fpad5 CARD32 7637 } /* Xproto.h:611:7 */ 7638 7639 type XGetInputFocusReply = struct { 7640 Ftype BYTE 7641 FrevertTo CARD8 7642 FsequenceNumber CARD16 7643 Flength CARD32 7644 Ffocus CARD32 7645 Fpad1 CARD32 7646 Fpad2 CARD32 7647 Fpad3 CARD32 7648 Fpad4 CARD32 7649 Fpad5 CARD32 7650 } /* Xproto.h:624:7 */ 7651 7652 type XQueryKeymapReply = struct { 7653 Ftype BYTE 7654 Fpad1 BYTE 7655 FsequenceNumber CARD16 7656 Flength CARD32 7657 Fmap [32]BYTE 7658 } /* Xproto.h:632:7 */ 7659 7660 // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply 7661 type X_xQueryFontReply = struct { 7662 Ftype BYTE 7663 Fpad1 BYTE 7664 FsequenceNumber CARD16 7665 Flength CARD32 7666 FminBounds XCharInfo 7667 Fwalign1 CARD32 7668 FmaxBounds XCharInfo 7669 Fwalign2 CARD32 7670 FminCharOrByte2 CARD16 7671 FmaxCharOrByte2 CARD16 7672 FdefaultChar CARD16 7673 FnFontProps CARD16 7674 FdrawDirection CARD8 7675 FminByte1 CARD8 7676 FmaxByte1 CARD8 7677 FallCharsExist BOOL 7678 FfontAscent INT16 7679 FfontDescent INT16 7680 FnCharInfos CARD32 7681 } /* Xproto.h:635:9 */ 7682 7683 // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply 7684 type XQueryFontReply = X_xQueryFontReply /* Xproto.h:652:3 */ 7685 7686 type XQueryTextExtentsReply = struct { 7687 Ftype BYTE 7688 FdrawDirection CARD8 7689 FsequenceNumber CARD16 7690 Flength CARD32 7691 FfontAscent INT16 7692 FfontDescent INT16 7693 FoverallAscent INT16 7694 FoverallDescent INT16 7695 FoverallWidth INT32 7696 FoverallLeft INT32 7697 FoverallRight INT32 7698 Fpad CARD32 7699 } /* Xproto.h:663:7 */ 7700 7701 type XListFontsReply = struct { 7702 Ftype BYTE 7703 Fpad1 BYTE 7704 FsequenceNumber CARD16 7705 Flength CARD32 7706 FnFonts CARD16 7707 Fpad2 CARD16 7708 Fpad3 CARD32 7709 Fpad4 CARD32 7710 Fpad5 CARD32 7711 Fpad6 CARD32 7712 Fpad7 CARD32 7713 } /* Xproto.h:677:7 */ 7714 7715 // Warning: this MUST match (up to component renaming) xQueryFontReply 7716 type XListFontsWithInfoReply = struct { 7717 Ftype BYTE 7718 FnameLength CARD8 7719 FsequenceNumber CARD16 7720 Flength CARD32 7721 FminBounds XCharInfo 7722 Fwalign1 CARD32 7723 FmaxBounds XCharInfo 7724 Fwalign2 CARD32 7725 FminCharOrByte2 CARD16 7726 FmaxCharOrByte2 CARD16 7727 FdefaultChar CARD16 7728 FnFontProps CARD16 7729 FdrawDirection CARD8 7730 FminByte1 CARD8 7731 FmaxByte1 CARD8 7732 FallCharsExist BOOL 7733 FfontAscent INT16 7734 FfontDescent INT16 7735 FnReplies CARD32 7736 } /* Xproto.h:697:3 */ 7737 7738 type XGetFontPathReply = struct { 7739 Ftype BYTE 7740 Fpad1 BYTE 7741 FsequenceNumber CARD16 7742 Flength CARD32 7743 FnPaths CARD16 7744 Fpad2 CARD16 7745 Fpad3 CARD32 7746 Fpad4 CARD32 7747 Fpad5 CARD32 7748 Fpad6 CARD32 7749 Fpad7 CARD32 7750 } /* Xproto.h:711:7 */ 7751 7752 type XGetImageReply = struct { 7753 Ftype BYTE 7754 Fdepth CARD8 7755 FsequenceNumber CARD16 7756 Flength CARD32 7757 Fvisual CARD32 7758 Fpad3 CARD32 7759 Fpad4 CARD32 7760 Fpad5 CARD32 7761 Fpad6 CARD32 7762 Fpad7 CARD32 7763 } /* Xproto.h:724:7 */ 7764 7765 type XListInstalledColormapsReply = struct { 7766 Ftype BYTE 7767 Fpad1 BYTE 7768 FsequenceNumber CARD16 7769 Flength CARD32 7770 FnColormaps CARD16 7771 Fpad2 CARD16 7772 Fpad3 CARD32 7773 Fpad4 CARD32 7774 Fpad5 CARD32 7775 Fpad6 CARD32 7776 Fpad7 CARD32 7777 } /* Xproto.h:738:7 */ 7778 7779 type XAllocColorReply = struct { 7780 Ftype BYTE 7781 Fpad1 BYTE 7782 FsequenceNumber CARD16 7783 Flength CARD32 7784 Fred CARD16 7785 Fgreen CARD16 7786 Fblue CARD16 7787 Fpad2 CARD16 7788 Fpixel CARD32 7789 Fpad3 CARD32 7790 Fpad4 CARD32 7791 Fpad5 CARD32 7792 } /* Xproto.h:751:7 */ 7793 7794 type XAllocNamedColorReply = struct { 7795 Ftype BYTE 7796 Fpad1 BYTE 7797 FsequenceNumber CARD16 7798 Flength CARD32 7799 Fpixel CARD32 7800 FexactRed CARD16 7801 FexactGreen CARD16 7802 FexactBlue CARD16 7803 FscreenRed CARD16 7804 FscreenGreen CARD16 7805 FscreenBlue CARD16 7806 Fpad2 CARD32 7807 Fpad3 CARD32 7808 } /* Xproto.h:763:7 */ 7809 7810 type XAllocColorCellsReply = struct { 7811 Ftype BYTE 7812 Fpad1 BYTE 7813 FsequenceNumber CARD16 7814 Flength CARD32 7815 FnPixels CARD16 7816 FnMasks CARD16 7817 Fpad3 CARD32 7818 Fpad4 CARD32 7819 Fpad5 CARD32 7820 Fpad6 CARD32 7821 Fpad7 CARD32 7822 } /* Xproto.h:776:7 */ 7823 7824 type XAllocColorPlanesReply = struct { 7825 Ftype BYTE 7826 Fpad1 BYTE 7827 FsequenceNumber CARD16 7828 Flength CARD32 7829 FnPixels CARD16 7830 Fpad2 CARD16 7831 FredMask CARD32 7832 FgreenMask CARD32 7833 FblueMask CARD32 7834 Fpad3 CARD32 7835 Fpad4 CARD32 7836 } /* Xproto.h:788:7 */ 7837 7838 type XQueryColorsReply = struct { 7839 Ftype BYTE 7840 Fpad1 BYTE 7841 FsequenceNumber CARD16 7842 Flength CARD32 7843 FnColors CARD16 7844 Fpad2 CARD16 7845 Fpad3 CARD32 7846 Fpad4 CARD32 7847 Fpad5 CARD32 7848 Fpad6 CARD32 7849 Fpad7 CARD32 7850 } /* Xproto.h:802:7 */ 7851 7852 type XLookupColorReply = struct { 7853 Ftype BYTE 7854 Fpad1 BYTE 7855 FsequenceNumber CARD16 7856 Flength CARD32 7857 FexactRed CARD16 7858 FexactGreen CARD16 7859 FexactBlue CARD16 7860 FscreenRed CARD16 7861 FscreenGreen CARD16 7862 FscreenBlue CARD16 7863 Fpad3 CARD32 7864 Fpad4 CARD32 7865 Fpad5 CARD32 7866 } /* Xproto.h:814:7 */ 7867 7868 type XQueryBestSizeReply = struct { 7869 Ftype BYTE 7870 Fpad1 BYTE 7871 FsequenceNumber CARD16 7872 Flength CARD32 7873 Fwidth CARD16 7874 Fheight CARD16 7875 Fpad3 CARD32 7876 Fpad4 CARD32 7877 Fpad5 CARD32 7878 Fpad6 CARD32 7879 Fpad7 CARD32 7880 } /* Xproto.h:827:7 */ 7881 7882 type XQueryExtensionReply = struct { 7883 Ftype BYTE 7884 Fpad1 BYTE 7885 FsequenceNumber CARD16 7886 Flength CARD32 7887 Fpresent BOOL 7888 Fmajor_opcode CARD8 7889 Ffirst_event CARD8 7890 Ffirst_error CARD8 7891 Fpad3 CARD32 7892 Fpad4 CARD32 7893 Fpad5 CARD32 7894 Fpad6 CARD32 7895 Fpad7 CARD32 7896 } /* Xproto.h:843:7 */ 7897 7898 type XListExtensionsReply = struct { 7899 Ftype BYTE 7900 FnExtensions CARD8 7901 FsequenceNumber CARD16 7902 Flength CARD32 7903 Fpad2 CARD32 7904 Fpad3 CARD32 7905 Fpad4 CARD32 7906 Fpad5 CARD32 7907 Fpad6 CARD32 7908 Fpad7 CARD32 7909 } /* Xproto.h:856:7 */ 7910 7911 type XSetMappingReply = struct { 7912 Ftype BYTE 7913 Fsuccess CARD8 7914 FsequenceNumber CARD16 7915 Flength CARD32 7916 Fpad2 CARD32 7917 Fpad3 CARD32 7918 Fpad4 CARD32 7919 Fpad5 CARD32 7920 Fpad6 CARD32 7921 Fpad7 CARD32 7922 } /* Xproto.h:870:7 */ 7923 type XSetPointerMappingReply = XSetMappingReply /* Xproto.h:871:26 */ 7924 type XSetModifierMappingReply = XSetMappingReply /* Xproto.h:872:26 */ 7925 7926 type XGetPointerMappingReply = struct { 7927 Ftype BYTE 7928 FnElts CARD8 7929 FsequenceNumber CARD16 7930 Flength CARD32 7931 Fpad2 CARD32 7932 Fpad3 CARD32 7933 Fpad4 CARD32 7934 Fpad5 CARD32 7935 Fpad6 CARD32 7936 Fpad7 CARD32 7937 } /* Xproto.h:885:7 */ 7938 7939 type XGetKeyboardMappingReply = struct { 7940 Ftype BYTE 7941 FkeySymsPerKeyCode CARD8 7942 FsequenceNumber CARD16 7943 Flength CARD32 7944 Fpad2 CARD32 7945 Fpad3 CARD32 7946 Fpad4 CARD32 7947 Fpad5 CARD32 7948 Fpad6 CARD32 7949 Fpad7 CARD32 7950 } /* Xproto.h:898:3 */ 7951 7952 type XGetModifierMappingReply = struct { 7953 Ftype BYTE 7954 FnumKeyPerModifier CARD8 7955 FsequenceNumber CARD16 7956 Flength CARD32 7957 Fpad1 CARD32 7958 Fpad2 CARD32 7959 Fpad3 CARD32 7960 Fpad4 CARD32 7961 Fpad5 CARD32 7962 Fpad6 CARD32 7963 } /* Xproto.h:911:3 */ 7964 7965 type XGetKeyboardControlReply = struct { 7966 Ftype BYTE 7967 FglobalAutoRepeat BOOL 7968 FsequenceNumber CARD16 7969 Flength CARD32 7970 FledMask CARD32 7971 FkeyClickPercent CARD8 7972 FbellPercent CARD8 7973 FbellPitch CARD16 7974 FbellDuration CARD16 7975 Fpad CARD16 7976 Fmap [32]BYTE 7977 } /* Xproto.h:923:7 */ 7978 7979 type XGetPointerControlReply = struct { 7980 Ftype BYTE 7981 Fpad1 BYTE 7982 FsequenceNumber CARD16 7983 Flength CARD32 7984 FaccelNumerator CARD16 7985 FaccelDenominator CARD16 7986 Fthreshold CARD16 7987 Fpad2 CARD16 7988 Fpad3 CARD32 7989 Fpad4 CARD32 7990 Fpad5 CARD32 7991 Fpad6 CARD32 7992 } /* Xproto.h:937:7 */ 7993 7994 type XGetScreenSaverReply = struct { 7995 Ftype BYTE 7996 Fpad1 BYTE 7997 FsequenceNumber CARD16 7998 Flength CARD32 7999 Ftimeout CARD16 8000 Finterval CARD16 8001 FpreferBlanking BOOL 8002 FallowExposures BOOL 8003 Fpad2 CARD16 8004 Fpad3 CARD32 8005 Fpad4 CARD32 8006 Fpad5 CARD32 8007 Fpad6 CARD32 8008 } /* Xproto.h:952:7 */ 8009 8010 type XListHostsReply = struct { 8011 Ftype BYTE 8012 Fenabled BOOL 8013 FsequenceNumber CARD16 8014 Flength CARD32 8015 FnHosts CARD16 8016 Fpad1 CARD16 8017 Fpad3 CARD32 8018 Fpad4 CARD32 8019 Fpad5 CARD32 8020 Fpad6 CARD32 8021 Fpad7 CARD32 8022 } /* Xproto.h:966:7 */ 8023 8024 // **************************************************************** 8025 // 8026 // Xerror 8027 // All errors are 32 bytes 8028 // 8029 8030 type XError = struct { 8031 Ftype BYTE 8032 FerrorCode BYTE 8033 FsequenceNumber CARD16 8034 FresourceID CARD32 8035 FminorCode CARD16 8036 FmajorCode CARD8 8037 Fpad1 BYTE 8038 Fpad3 CARD32 8039 Fpad4 CARD32 8040 Fpad5 CARD32 8041 Fpad6 CARD32 8042 Fpad7 CARD32 8043 } /* Xproto.h:989:3 */ 8044 8045 // **************************************************************** 8046 // 8047 // xEvent 8048 // All events are 32 bytes 8049 // 8050 8051 type X_xEvent = struct { 8052 Fu struct { 8053 F__ccgo_pad1 [0]uint32 8054 Fu struct { 8055 Ftype BYTE 8056 Fdetail BYTE 8057 FsequenceNumber CARD16 8058 } 8059 F__ccgo_pad2 [28]byte 8060 } 8061 } /* Xproto.h:996:9 */ 8062 8063 // **************************************************************** 8064 // 8065 // xEvent 8066 // All events are 32 bytes 8067 // 8068 8069 type XEvent1 = X_xEvent /* Xproto.h:1214:3 */ 8070 8071 // ******************************************************** 8072 // 8073 // 8074 // Generic event 8075 // 8076 // Those events are not part of the core protocol spec and can be used by 8077 // various extensions. 8078 // type is always GenericEvent 8079 // extension is the minor opcode of the extension the event belongs to. 8080 // evtype is the actual event type, unique __per extension__. 8081 // 8082 // GenericEvents can be longer than 32 bytes, with the length field 8083 // specifying the number of 4 byte blocks after the first 32 bytes. 8084 // 8085 // 8086 type XGenericEvent1 = struct { 8087 Ftype BYTE 8088 Fextension CARD8 8089 FsequenceNumber CARD16 8090 Flength CARD32 8091 Fevtype CARD16 8092 Fpad2 CARD16 8093 Fpad3 CARD32 8094 Fpad4 CARD32 8095 Fpad5 CARD32 8096 Fpad6 CARD32 8097 Fpad7 CARD32 8098 } /* Xproto.h:1244:3 */ 8099 8100 // KeymapNotify events are not included in the above union because they 8101 // are different from all other events: they do not have a "detail" 8102 // or "sequenceNumber", so there is room for a 248-bit key mask. 8103 8104 type XKeymapEvent1 = struct { 8105 Ftype BYTE 8106 Fmap [31]BYTE 8107 } /* Xproto.h:1255:7 */ 8108 8109 // XReply is the union of all the replies above whose "fixed part" 8110 // fits in 32 bytes. It does NOT include GetWindowAttributesReply, 8111 // QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply 8112 // ListFontsWithInfoReply 8113 8114 type XReply = struct{ Fgeneric XGenericReply } /* Xproto.h:1303:3 */ 8115 8116 // **************************************************************** 8117 // 8118 // REQUESTS 8119 // 8120 8121 // Request structure 8122 8123 type X_xReq = struct { 8124 FreqType CARD8 8125 Fdata CARD8 8126 Flength CARD16 8127 } /* Xproto.h:1314:9 */ 8128 8129 // **************************************************************** 8130 // 8131 // REQUESTS 8132 // 8133 8134 // Request structure 8135 8136 type XReq = X_xReq /* Xproto.h:1319:3 */ 8137 8138 // **************************************************************** 8139 // 8140 // structures that follow request. 8141 // 8142 8143 // ResourceReq is used for any request which has a resource ID 8144 // (or Atom or Time) as its one and only argument. 8145 8146 type XResourceReq = struct { 8147 FreqType CARD8 8148 Fpad BYTE 8149 Flength CARD16 8150 Fid CARD32 8151 } /* Xproto.h:1333:7 */ 8152 8153 type XCreateWindowReq = struct { 8154 FreqType CARD8 8155 Fdepth CARD8 8156 Flength CARD16 8157 Fwid CARD32 8158 Fparent CARD32 8159 Fx INT16 8160 Fy INT16 8161 Fwidth CARD16 8162 Fheight CARD16 8163 FborderWidth CARD16 8164 Fclass CARD16 8165 Fvisual CARD32 8166 Fmask CARD32 8167 } /* Xproto.h:1349:3 */ 8168 8169 type XChangeWindowAttributesReq = struct { 8170 FreqType CARD8 8171 Fpad BYTE 8172 Flength CARD16 8173 Fwindow CARD32 8174 FvalueMask CARD32 8175 } /* Xproto.h:1357:3 */ 8176 8177 type XChangeSaveSetReq = struct { 8178 FreqType CARD8 8179 Fmode BYTE 8180 Flength CARD16 8181 Fwindow CARD32 8182 } /* Xproto.h:1364:3 */ 8183 8184 type XReparentWindowReq = struct { 8185 FreqType CARD8 8186 Fpad BYTE 8187 Flength CARD16 8188 Fwindow CARD32 8189 Fparent CARD32 8190 Fx INT16 8191 Fy INT16 8192 } /* Xproto.h:1372:3 */ 8193 8194 type XConfigureWindowReq = struct { 8195 FreqType CARD8 8196 Fpad CARD8 8197 Flength CARD16 8198 Fwindow CARD32 8199 Fmask CARD16 8200 Fpad2 CARD16 8201 } /* Xproto.h:1381:3 */ 8202 8203 type XCirculateWindowReq = struct { 8204 FreqType CARD8 8205 Fdirection CARD8 8206 Flength CARD16 8207 Fwindow CARD32 8208 } /* Xproto.h:1388:3 */ 8209 8210 type XInternAtomReq = struct { 8211 FreqType CARD8 8212 FonlyIfExists BOOL 8213 Flength CARD16 8214 Fnbytes CARD16 8215 Fpad CARD16 8216 } /* Xproto.h:1396:3 */ 8217 8218 type XChangePropertyReq = struct { 8219 FreqType CARD8 8220 Fmode CARD8 8221 Flength CARD16 8222 Fwindow CARD32 8223 Fproperty CARD32 8224 Ftype CARD32 8225 Fformat CARD8 8226 Fpad [3]BYTE 8227 FnUnits CARD32 8228 } /* Xproto.h:1407:3 */ 8229 8230 type XDeletePropertyReq = struct { 8231 FreqType CARD8 8232 Fpad BYTE 8233 Flength CARD16 8234 Fwindow CARD32 8235 Fproperty CARD32 8236 } /* Xproto.h:1415:3 */ 8237 8238 type XGetPropertyReq = struct { 8239 FreqType CARD8 8240 Fdelete BOOL 8241 Flength CARD16 8242 Fwindow CARD32 8243 Fproperty CARD32 8244 Ftype CARD32 8245 FlongOffset CARD32 8246 FlongLength CARD32 8247 } /* Xproto.h:1429:3 */ 8248 8249 type XSetSelectionOwnerReq = struct { 8250 FreqType CARD8 8251 Fpad BYTE 8252 Flength CARD16 8253 Fwindow CARD32 8254 Fselection CARD32 8255 Ftime CARD32 8256 } /* Xproto.h:1438:3 */ 8257 8258 type XConvertSelectionReq = struct { 8259 FreqType CARD8 8260 Fpad BYTE 8261 Flength CARD16 8262 Frequestor CARD32 8263 Fselection CARD32 8264 Ftarget CARD32 8265 Fproperty CARD32 8266 Ftime CARD32 8267 } /* Xproto.h:1447:7 */ 8268 8269 type XSendEventReq = struct { 8270 FreqType CARD8 8271 Fpropagate BOOL 8272 Flength CARD16 8273 Fdestination CARD32 8274 FeventMask CARD32 8275 Fevent XEvent1 8276 } /* Xproto.h:1456:3 */ 8277 8278 type XGrabPointerReq = struct { 8279 FreqType CARD8 8280 FownerEvents BOOL 8281 Flength CARD16 8282 FgrabWindow CARD32 8283 FeventMask CARD16 8284 FpointerMode BYTE 8285 FkeyboardMode BYTE 8286 FconfineTo CARD32 8287 Fcursor CARD32 8288 Ftime CARD32 8289 } /* Xproto.h:1468:3 */ 8290 8291 type XGrabButtonReq = struct { 8292 FreqType CARD8 8293 FownerEvents BOOL 8294 Flength CARD16 8295 FgrabWindow CARD32 8296 FeventMask CARD16 8297 FpointerMode BYTE 8298 FkeyboardMode BYTE 8299 FconfineTo CARD32 8300 Fcursor CARD32 8301 Fbutton CARD8 8302 Fpad BYTE 8303 Fmodifiers CARD16 8304 } /* Xproto.h:1482:3 */ 8305 8306 type XUngrabButtonReq = struct { 8307 FreqType CARD8 8308 Fbutton CARD8 8309 Flength CARD16 8310 FgrabWindow CARD32 8311 Fmodifiers CARD16 8312 Fpad CARD16 8313 } /* Xproto.h:1491:3 */ 8314 8315 type XChangeActivePointerGrabReq = struct { 8316 FreqType CARD8 8317 Fpad BYTE 8318 Flength CARD16 8319 Fcursor CARD32 8320 Ftime CARD32 8321 FeventMask CARD16 8322 Fpad2 CARD16 8323 } /* Xproto.h:1501:3 */ 8324 8325 type XGrabKeyboardReq = struct { 8326 FreqType CARD8 8327 FownerEvents BOOL 8328 Flength CARD16 8329 FgrabWindow CARD32 8330 Ftime CARD32 8331 FpointerMode BYTE 8332 FkeyboardMode BYTE 8333 Fpad CARD16 8334 } /* Xproto.h:1511:3 */ 8335 8336 type XGrabKeyReq = struct { 8337 FreqType CARD8 8338 FownerEvents BOOL 8339 Flength CARD16 8340 FgrabWindow CARD32 8341 Fmodifiers CARD16 8342 Fkey CARD8 8343 FpointerMode BYTE 8344 FkeyboardMode BYTE 8345 Fpad1 BYTE 8346 Fpad2 BYTE 8347 Fpad3 BYTE 8348 } /* Xproto.h:1522:3 */ 8349 8350 type XUngrabKeyReq = struct { 8351 FreqType CARD8 8352 Fkey CARD8 8353 Flength CARD16 8354 FgrabWindow CARD32 8355 Fmodifiers CARD16 8356 Fpad CARD16 8357 } /* Xproto.h:1531:3 */ 8358 8359 type XAllowEventsReq = struct { 8360 FreqType CARD8 8361 Fmode CARD8 8362 Flength CARD16 8363 Ftime CARD32 8364 } /* Xproto.h:1538:3 */ 8365 8366 type XGetMotionEventsReq = struct { 8367 FreqType CARD8 8368 Fpad BYTE 8369 Flength CARD16 8370 Fwindow CARD32 8371 Fstart CARD32 8372 Fstop CARD32 8373 } /* Xproto.h:1546:3 */ 8374 8375 type XTranslateCoordsReq = struct { 8376 FreqType CARD8 8377 Fpad BYTE 8378 Flength CARD16 8379 FsrcWid CARD32 8380 FdstWid CARD32 8381 FsrcX INT16 8382 FsrcY INT16 8383 } /* Xproto.h:1554:3 */ 8384 8385 type XWarpPointerReq = struct { 8386 FreqType CARD8 8387 Fpad BYTE 8388 Flength CARD16 8389 FsrcWid CARD32 8390 FdstWid CARD32 8391 FsrcX INT16 8392 FsrcY INT16 8393 FsrcWidth CARD16 8394 FsrcHeight CARD16 8395 FdstX INT16 8396 FdstY INT16 8397 } /* Xproto.h:1564:3 */ 8398 8399 type XSetInputFocusReq = struct { 8400 FreqType CARD8 8401 FrevertTo CARD8 8402 Flength CARD16 8403 Ffocus CARD32 8404 Ftime CARD32 8405 } /* Xproto.h:1572:3 */ 8406 8407 type XOpenFontReq = struct { 8408 FreqType CARD8 8409 Fpad BYTE 8410 Flength CARD16 8411 Ffid CARD32 8412 Fnbytes CARD16 8413 Fpad1 BYTE 8414 Fpad2 BYTE 8415 } /* Xproto.h:1581:3 */ 8416 8417 type XQueryTextExtentsReq = struct { 8418 FreqType CARD8 8419 FoddLength BOOL 8420 Flength CARD16 8421 Ffid CARD32 8422 } /* Xproto.h:1588:7 */ 8423 8424 type XListFontsReq = struct { 8425 FreqType CARD8 8426 Fpad BYTE 8427 Flength CARD16 8428 FmaxNames CARD16 8429 Fnbytes CARD16 8430 } /* Xproto.h:1596:3 */ 8431 8432 type XListFontsWithInfoReq = XListFontsReq /* Xproto.h:1598:23 */ 8433 8434 type XSetFontPathReq = struct { 8435 FreqType CARD8 8436 Fpad BYTE 8437 Flength CARD16 8438 FnFonts CARD16 8439 Fpad1 BYTE 8440 Fpad2 BYTE 8441 } /* Xproto.h:1606:3 */ 8442 8443 type XCreatePixmapReq = struct { 8444 FreqType CARD8 8445 Fdepth CARD8 8446 Flength CARD16 8447 Fpid CARD32 8448 Fdrawable CARD32 8449 Fwidth CARD16 8450 Fheight CARD16 8451 } /* Xproto.h:1615:3 */ 8452 8453 type XCreateGCReq = struct { 8454 FreqType CARD8 8455 Fpad BYTE 8456 Flength CARD16 8457 Fgc CARD32 8458 Fdrawable CARD32 8459 Fmask CARD32 8460 } /* Xproto.h:1624:3 */ 8461 8462 type XChangeGCReq = struct { 8463 FreqType CARD8 8464 Fpad BYTE 8465 Flength CARD16 8466 Fgc CARD32 8467 Fmask CARD32 8468 } /* Xproto.h:1632:3 */ 8469 8470 type XCopyGCReq = struct { 8471 FreqType CARD8 8472 Fpad BYTE 8473 Flength CARD16 8474 FsrcGC CARD32 8475 FdstGC CARD32 8476 Fmask CARD32 8477 } /* Xproto.h:1640:3 */ 8478 8479 type XSetDashesReq = struct { 8480 FreqType CARD8 8481 Fpad BYTE 8482 Flength CARD16 8483 Fgc CARD32 8484 FdashOffset CARD16 8485 FnDashes CARD16 8486 } /* Xproto.h:1649:3 */ 8487 8488 type XSetClipRectanglesReq = struct { 8489 FreqType CARD8 8490 Fordering BYTE 8491 Flength CARD16 8492 Fgc CARD32 8493 FxOrigin INT16 8494 FyOrigin INT16 8495 } /* Xproto.h:1657:3 */ 8496 8497 type XClearAreaReq = struct { 8498 FreqType CARD8 8499 Fexposures BOOL 8500 Flength CARD16 8501 Fwindow CARD32 8502 Fx INT16 8503 Fy INT16 8504 Fwidth CARD16 8505 Fheight CARD16 8506 } /* Xproto.h:1666:3 */ 8507 8508 type XCopyAreaReq = struct { 8509 FreqType CARD8 8510 Fpad BYTE 8511 Flength CARD16 8512 FsrcDrawable CARD32 8513 FdstDrawable CARD32 8514 Fgc CARD32 8515 FsrcX INT16 8516 FsrcY INT16 8517 FdstX INT16 8518 FdstY INT16 8519 Fwidth CARD16 8520 Fheight CARD16 8521 } /* Xproto.h:1676:3 */ 8522 8523 type XCopyPlaneReq = struct { 8524 FreqType CARD8 8525 Fpad BYTE 8526 Flength CARD16 8527 FsrcDrawable CARD32 8528 FdstDrawable CARD32 8529 Fgc CARD32 8530 FsrcX INT16 8531 FsrcY INT16 8532 FdstX INT16 8533 FdstY INT16 8534 Fwidth CARD16 8535 Fheight CARD16 8536 FbitPlane CARD32 8537 } /* Xproto.h:1687:3 */ 8538 8539 type XPolyPointReq = struct { 8540 FreqType CARD8 8541 FcoordMode BYTE 8542 Flength CARD16 8543 Fdrawable CARD32 8544 Fgc CARD32 8545 } /* Xproto.h:1695:3 */ 8546 8547 type XPolyLineReq = XPolyPointReq /* Xproto.h:1697:23 */ // same request structure 8548 8549 // The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc 8550 8551 type XPolySegmentReq = struct { 8552 FreqType CARD8 8553 Fpad BYTE 8554 Flength CARD16 8555 Fdrawable CARD32 8556 Fgc CARD32 8557 } /* Xproto.h:1707:3 */ 8558 8559 type XPolyArcReq = XPolySegmentReq /* Xproto.h:1709:25 */ 8560 type XPolyRectangleReq = XPolySegmentReq /* Xproto.h:1710:25 */ 8561 type XPolyFillRectangleReq = XPolySegmentReq /* Xproto.h:1711:25 */ 8562 type XPolyFillArcReq = XPolySegmentReq /* Xproto.h:1712:25 */ 8563 8564 type X_FillPolyReq = struct { 8565 FreqType CARD8 8566 Fpad BYTE 8567 Flength CARD16 8568 Fdrawable CARD32 8569 Fgc CARD32 8570 Fshape BYTE 8571 FcoordMode BYTE 8572 Fpad1 CARD16 8573 } /* Xproto.h:1714:9 */ 8574 8575 type XFillPolyReq = X_FillPolyReq /* Xproto.h:1723:3 */ 8576 8577 type X_PutImageReq = struct { 8578 FreqType CARD8 8579 Fformat CARD8 8580 Flength CARD16 8581 Fdrawable CARD32 8582 Fgc CARD32 8583 Fwidth CARD16 8584 Fheight CARD16 8585 FdstX INT16 8586 FdstY INT16 8587 FleftPad CARD8 8588 Fdepth CARD8 8589 Fpad CARD16 8590 } /* Xproto.h:1726:9 */ 8591 8592 type XPutImageReq = X_PutImageReq /* Xproto.h:1737:3 */ 8593 8594 type XGetImageReq = struct { 8595 FreqType CARD8 8596 Fformat CARD8 8597 Flength CARD16 8598 Fdrawable CARD32 8599 Fx INT16 8600 Fy INT16 8601 Fwidth CARD16 8602 Fheight CARD16 8603 FplaneMask CARD32 8604 } /* Xproto.h:1747:3 */ 8605 8606 // the following used by PolyText8 and PolyText16 8607 8608 type XPolyTextReq = struct { 8609 FreqType CARD8 8610 Fpad CARD8 8611 Flength CARD16 8612 Fdrawable CARD32 8613 Fgc CARD32 8614 Fx INT16 8615 Fy INT16 8616 } /* Xproto.h:1758:3 */ 8617 8618 type XPolyText8Req = XPolyTextReq /* Xproto.h:1760:22 */ 8619 type XPolyText16Req = XPolyTextReq /* Xproto.h:1761:22 */ 8620 8621 type XImageTextReq = struct { 8622 FreqType CARD8 8623 FnChars BYTE 8624 Flength CARD16 8625 Fdrawable CARD32 8626 Fgc CARD32 8627 Fx INT16 8628 Fy INT16 8629 } /* Xproto.h:1770:3 */ 8630 8631 type XImageText8Req = XImageTextReq /* Xproto.h:1772:23 */ 8632 type XImageText16Req = XImageTextReq /* Xproto.h:1773:23 */ 8633 8634 type XCreateColormapReq = struct { 8635 FreqType CARD8 8636 Falloc BYTE 8637 Flength CARD16 8638 Fmid CARD32 8639 Fwindow CARD32 8640 Fvisual CARD32 8641 } /* Xproto.h:1782:3 */ 8642 8643 type XCopyColormapAndFreeReq = struct { 8644 FreqType CARD8 8645 Fpad BYTE 8646 Flength CARD16 8647 Fmid CARD32 8648 FsrcCmap CARD32 8649 } /* Xproto.h:1790:3 */ 8650 8651 type XAllocColorReq = struct { 8652 FreqType CARD8 8653 Fpad BYTE 8654 Flength CARD16 8655 Fcmap CARD32 8656 Fred CARD16 8657 Fgreen CARD16 8658 Fblue CARD16 8659 Fpad2 CARD16 8660 } /* Xproto.h:1799:3 */ 8661 8662 type XAllocNamedColorReq = struct { 8663 FreqType CARD8 8664 Fpad BYTE 8665 Flength CARD16 8666 Fcmap CARD32 8667 Fnbytes CARD16 8668 Fpad1 BYTE 8669 Fpad2 BYTE 8670 } /* Xproto.h:1808:3 */ 8671 8672 type XAllocColorCellsReq = struct { 8673 FreqType CARD8 8674 Fcontiguous BOOL 8675 Flength CARD16 8676 Fcmap CARD32 8677 Fcolors CARD16 8678 Fplanes CARD16 8679 } /* Xproto.h:1816:3 */ 8680 8681 type XAllocColorPlanesReq = struct { 8682 FreqType CARD8 8683 Fcontiguous BOOL 8684 Flength CARD16 8685 Fcmap CARD32 8686 Fcolors CARD16 8687 Fred CARD16 8688 Fgreen CARD16 8689 Fblue CARD16 8690 } /* Xproto.h:1824:3 */ 8691 8692 type XFreeColorsReq = struct { 8693 FreqType CARD8 8694 Fpad BYTE 8695 Flength CARD16 8696 Fcmap CARD32 8697 FplaneMask CARD32 8698 } /* Xproto.h:1832:3 */ 8699 8700 type XStoreColorsReq = struct { 8701 FreqType CARD8 8702 Fpad BYTE 8703 Flength CARD16 8704 Fcmap CARD32 8705 } /* Xproto.h:1839:3 */ 8706 8707 type XStoreNamedColorReq = struct { 8708 FreqType CARD8 8709 Fflags CARD8 8710 Flength CARD16 8711 Fcmap CARD32 8712 Fpixel CARD32 8713 Fnbytes CARD16 8714 Fpad1 BYTE 8715 Fpad2 BYTE 8716 } /* Xproto.h:1849:7 */ 8717 8718 type XQueryColorsReq = struct { 8719 FreqType CARD8 8720 Fpad BYTE 8721 Flength CARD16 8722 Fcmap CARD32 8723 } /* Xproto.h:1856:3 */ 8724 8725 type XLookupColorReq = struct { 8726 FreqType CARD8 8727 Fpad BYTE 8728 Flength CARD16 8729 Fcmap CARD32 8730 Fnbytes CARD16 8731 Fpad1 BYTE 8732 Fpad2 BYTE 8733 } /* Xproto.h:1865:3 */ 8734 8735 type XCreateCursorReq = struct { 8736 FreqType CARD8 8737 Fpad BYTE 8738 Flength CARD16 8739 Fcid CARD32 8740 Fsource CARD32 8741 Fmask CARD32 8742 FforeRed CARD16 8743 FforeGreen CARD16 8744 FforeBlue CARD16 8745 FbackRed CARD16 8746 FbackGreen CARD16 8747 FbackBlue CARD16 8748 Fx CARD16 8749 Fy CARD16 8750 } /* Xproto.h:1876:3 */ 8751 8752 type XCreateGlyphCursorReq = struct { 8753 FreqType CARD8 8754 Fpad BYTE 8755 Flength CARD16 8756 Fcid CARD32 8757 Fsource CARD32 8758 Fmask CARD32 8759 FsourceChar CARD16 8760 FmaskChar CARD16 8761 FforeRed CARD16 8762 FforeGreen CARD16 8763 FforeBlue CARD16 8764 FbackRed CARD16 8765 FbackGreen CARD16 8766 FbackBlue CARD16 8767 } /* Xproto.h:1887:3 */ 8768 8769 type XRecolorCursorReq = struct { 8770 FreqType CARD8 8771 Fpad BYTE 8772 Flength CARD16 8773 Fcursor CARD32 8774 FforeRed CARD16 8775 FforeGreen CARD16 8776 FforeBlue CARD16 8777 FbackRed CARD16 8778 FbackGreen CARD16 8779 FbackBlue CARD16 8780 } /* Xproto.h:1896:3 */ 8781 8782 type XQueryBestSizeReq = struct { 8783 FreqType CARD8 8784 Fclass CARD8 8785 Flength CARD16 8786 Fdrawable CARD32 8787 Fwidth CARD16 8788 Fheight CARD16 8789 } /* Xproto.h:1908:3 */ 8790 8791 type XQueryExtensionReq = struct { 8792 FreqType CARD8 8793 Fpad BYTE 8794 Flength CARD16 8795 Fnbytes CARD16 8796 Fpad1 BYTE 8797 Fpad2 BYTE 8798 } /* Xproto.h:1916:3 */ 8799 8800 type XSetModifierMappingReq = struct { 8801 FreqType CARD8 8802 FnumKeyPerModifier CARD8 8803 Flength CARD16 8804 } /* Xproto.h:1922:3 */ 8805 8806 type XSetPointerMappingReq = struct { 8807 FreqType CARD8 8808 FnElts CARD8 8809 Flength CARD16 8810 } /* Xproto.h:1928:3 */ 8811 8812 type XGetKeyboardMappingReq = struct { 8813 FreqType CARD8 8814 Fpad BYTE 8815 Flength CARD16 8816 FfirstKeyCode CARD8 8817 Fcount CARD8 8818 Fpad1 CARD16 8819 } /* Xproto.h:1937:3 */ 8820 8821 type XChangeKeyboardMappingReq = struct { 8822 FreqType CARD8 8823 FkeyCodes CARD8 8824 Flength CARD16 8825 FfirstKeyCode CARD8 8826 FkeySymsPerKeyCode CARD8 8827 Fpad1 CARD16 8828 } /* Xproto.h:1946:3 */ 8829 8830 type XChangeKeyboardControlReq = struct { 8831 FreqType CARD8 8832 Fpad BYTE 8833 Flength CARD16 8834 Fmask CARD32 8835 } /* Xproto.h:1953:3 */ 8836 8837 type XBellReq = struct { 8838 FreqType CARD8 8839 Fpercent INT8 8840 Flength CARD16 8841 } /* Xproto.h:1959:3 */ 8842 8843 type XChangePointerControlReq = struct { 8844 FreqType CARD8 8845 Fpad BYTE 8846 Flength CARD16 8847 FaccelNum INT16 8848 FaccelDenum INT16 8849 Fthreshold INT16 8850 FdoAccel BOOL 8851 FdoThresh BOOL 8852 } /* Xproto.h:1968:3 */ 8853 8854 type XSetScreenSaverReq = struct { 8855 FreqType CARD8 8856 Fpad BYTE 8857 Flength CARD16 8858 Ftimeout INT16 8859 Finterval INT16 8860 FpreferBlank BYTE 8861 FallowExpose BYTE 8862 Fpad2 CARD16 8863 } /* Xproto.h:1977:3 */ 8864 8865 type XChangeHostsReq = struct { 8866 FreqType CARD8 8867 Fmode BYTE 8868 Flength CARD16 8869 FhostFamily CARD8 8870 Fpad BYTE 8871 FhostLength CARD16 8872 } /* Xproto.h:1986:3 */ 8873 8874 type XListHostsReq = struct { 8875 FreqType CARD8 8876 Fpad BYTE 8877 Flength CARD16 8878 } /* Xproto.h:1992:7 */ 8879 8880 type XChangeModeReq = struct { 8881 FreqType CARD8 8882 Fmode BYTE 8883 Flength CARD16 8884 } /* Xproto.h:1998:7 */ 8885 8886 type XSetAccessControlReq = XChangeModeReq /* Xproto.h:2000:24 */ 8887 type XSetCloseDownModeReq = XChangeModeReq /* Xproto.h:2001:24 */ 8888 type XForceScreenSaverReq = XChangeModeReq /* Xproto.h:2002:24 */ 8889 8890 type XRotatePropertiesReq = struct { 8891 FreqType CARD8 8892 Fpad BYTE 8893 Flength CARD16 8894 Fwindow CARD32 8895 FnAtoms CARD16 8896 FnPositions INT16 8897 } /* Xproto.h:2011:7 */ 8898 8899 type X_XFreeFuncs = struct { 8900 Fatoms FreeFuncType 8901 Fmodifiermap FreeModmapType 8902 Fkey_bindings FreeFuncType 8903 Fcontext_db FreeFuncType 8904 FdefaultCCCs FreeFuncType 8905 FclientCmaps FreeFuncType 8906 FintensityMaps FreeFuncType 8907 Fim_filters FreeFuncType 8908 Fxkb FreeFuncType 8909 } /* Xlib.h:255:1 */ 8910 8911 type X_XSQEvent = struct { 8912 Fnext uintptr 8913 Fevent XEvent 8914 Fqserial_num uint32 8915 } /* Xlib.h:255:1 */ 8916 8917 type X_XExten = struct { 8918 Fnext uintptr 8919 Fcodes XExtCodes 8920 Fcreate_GC CreateGCType 8921 Fcopy_GC CopyGCType 8922 Fflush_GC FlushGCType 8923 Ffree_GC FreeGCType 8924 Fcreate_Font CreateFontType 8925 Ffree_Font FreeFontType 8926 Fclose_display CloseDisplayType 8927 Ferror ErrorType 8928 Ferror_string ErrorStringType 8929 Fname uintptr 8930 Ferror_values PrintErrorType 8931 Fbefore_flush BeforeFlushType 8932 Fnext_flush uintptr 8933 } /* Xlib.h:255:1 */ 8934 8935 type X_XInternalAsync = struct { 8936 Fnext uintptr 8937 Fhandler uintptr 8938 Fdata XPointer 8939 } /* Xlib.h:255:1 */ 8940 8941 type X_XLockPtrs = struct { 8942 Flock_display uintptr 8943 Funlock_display uintptr 8944 } /* Xlib.h:255:1 */ 8945 8946 type X_XConnectionInfo = struct { 8947 Ffd int32 8948 Fread_callback X_XInternalConnectionProc 8949 Fcall_data XPointer 8950 Fwatch_data uintptr 8951 Fnext uintptr 8952 } /* Xlib.h:255:1 */ 8953 8954 type X_XConnWatchInfo = struct { 8955 Ffn XConnectionWatchProc 8956 Fclient_data XPointer 8957 Fnext uintptr 8958 } /* Xlib.h:255:1 */ 8959 8960 // access "last_request_read" and "request" with 64bit 8961 // warning: the value argument of the SET-macros must not 8962 // have any side-effects because it may get called twice. 8963 // accessors for 32-bit unsigned long 8964 8965 // widen a 32-bit sequence number to a 64 sequence number. 8966 // This macro makes the following assumptions: 8967 // - ulseq refers to a sequence that has already been sent 8968 // - ulseq means the most recent possible sequence number 8969 // with these lower 32 bits. 8970 // 8971 // The following optimization is used: 8972 // The comparison result is taken a 0 or 1 to avoid a branch. 8973 8974 // _QEvent datatype for use in input queueing. 8975 type X_XQEvent = X_XSQEvent /* Xlibint.h:331:3 */ 8976 8977 // POSIX.1-2008 extended locale interface (see locale.h). 8978 // Definition of locale_t. 8979 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 8980 // This file is part of the GNU C Library. 8981 // 8982 // The GNU C Library is free software; you can redistribute it and/or 8983 // modify it under the terms of the GNU Lesser General Public 8984 // License as published by the Free Software Foundation; either 8985 // version 2.1 of the License, or (at your option) any later version. 8986 // 8987 // The GNU C Library is distributed in the hope that it will be useful, 8988 // but WITHOUT ANY WARRANTY; without even the implied warranty of 8989 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 8990 // Lesser General Public License for more details. 8991 // 8992 // You should have received a copy of the GNU Lesser General Public 8993 // License along with the GNU C Library; if not, see 8994 // <https://www.gnu.org/licenses/>. 8995 8996 // Definition of struct __locale_struct and __locale_t. 8997 // Copyright (C) 1997-2020 Free Software Foundation, Inc. 8998 // This file is part of the GNU C Library. 8999 // Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. 9000 // 9001 // The GNU C Library is free software; you can redistribute it and/or 9002 // modify it under the terms of the GNU Lesser General Public 9003 // License as published by the Free Software Foundation; either 9004 // version 2.1 of the License, or (at your option) any later version. 9005 // 9006 // The GNU C Library is distributed in the hope that it will be useful, 9007 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9008 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9009 // Lesser General Public License for more details. 9010 // 9011 // You should have received a copy of the GNU Lesser General Public 9012 // License along with the GNU C Library; if not, see 9013 // <https://www.gnu.org/licenses/>. 9014 9015 // POSIX.1-2008: the locale_t type, representing a locale context 9016 // (implementation-namespace version). This type should be treated 9017 // as opaque by applications; some details are exposed for the sake of 9018 // efficiency in e.g. ctype functions. 9019 9020 type X__locale_struct = struct { 9021 F__locales [13]uintptr 9022 F__ctype_b uintptr 9023 F__ctype_tolower uintptr 9024 F__ctype_toupper uintptr 9025 F__names [13]uintptr 9026 } /* __locale_t.h:28:1 */ 9027 9028 type X__locale_t = uintptr /* __locale_t.h:42:32 */ 9029 9030 type Locale_t = X__locale_t /* locale_t.h:24:20 */ 9031 9032 // the new Xfuncs.h 9033 9034 // the ANSI C way 9035 9036 // 9037 // O/S-dependent (mis)feature macro definitions 9038 // 9039 // Copyright 1991, 1998 The Open Group 9040 // 9041 // Permission to use, copy, modify, distribute, and sell this software and its 9042 // documentation for any purpose is hereby granted without fee, provided that 9043 // the above copyright notice appear in all copies and that both that 9044 // copyright notice and this permission notice appear in supporting 9045 // documentation. 9046 // 9047 // The above copyright notice and this permission notice shall be included in 9048 // all copies or substantial portions of the Software. 9049 // 9050 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9051 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9052 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9053 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9054 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9055 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9056 // 9057 // Except as contained in this notice, the name of The Open Group shall not be 9058 // used in advertising or otherwise to promote the sale, use or other dealings 9059 // in this Software without prior written authorization from The Open Group. 9060 // 9061 9062 // Utek leaves kernel macros around in include files (bleah) 9063 9064 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9065 // This file is part of the GNU C Library. 9066 // 9067 // The GNU C Library is free software; you can redistribute it and/or 9068 // modify it under the terms of the GNU Lesser General Public 9069 // License as published by the Free Software Foundation; either 9070 // version 2.1 of the License, or (at your option) any later version. 9071 // 9072 // The GNU C Library is distributed in the hope that it will be useful, 9073 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9074 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9075 // Lesser General Public License for more details. 9076 // 9077 // You should have received a copy of the GNU Lesser General Public 9078 // License along with the GNU C Library; if not, see 9079 // <https://www.gnu.org/licenses/>. 9080 9081 // ISO C99 Standard: 7.20 General utilities <stdlib.h> 9082 9083 // Handle feature test macros at the start of a header. 9084 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 9085 // This file is part of the GNU C Library. 9086 // 9087 // The GNU C Library is free software; you can redistribute it and/or 9088 // modify it under the terms of the GNU Lesser General Public 9089 // License as published by the Free Software Foundation; either 9090 // version 2.1 of the License, or (at your option) any later version. 9091 // 9092 // The GNU C Library is distributed in the hope that it will be useful, 9093 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9094 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9095 // Lesser General Public License for more details. 9096 // 9097 // You should have received a copy of the GNU Lesser General Public 9098 // License along with the GNU C Library; if not, see 9099 // <https://www.gnu.org/licenses/>. 9100 9101 // This header is internal to glibc and should not be included outside 9102 // of glibc headers. Headers including it must define 9103 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 9104 // cannot have multiple include guards because ISO C feature test 9105 // macros depend on the definition of the macro when an affected 9106 // header is included, not when the first system header is 9107 // included. 9108 9109 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9110 // This file is part of the GNU C Library. 9111 // 9112 // The GNU C Library is free software; you can redistribute it and/or 9113 // modify it under the terms of the GNU Lesser General Public 9114 // License as published by the Free Software Foundation; either 9115 // version 2.1 of the License, or (at your option) any later version. 9116 // 9117 // The GNU C Library is distributed in the hope that it will be useful, 9118 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9119 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9120 // Lesser General Public License for more details. 9121 // 9122 // You should have received a copy of the GNU Lesser General Public 9123 // License along with the GNU C Library; if not, see 9124 // <https://www.gnu.org/licenses/>. 9125 9126 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 9127 // macro. 9128 9129 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 9130 // macro. Most but not all symbols enabled by that macro in TS 9131 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 9132 // still require that macro in C2X. 9133 9134 // ISO/IEC TS 18661-4:2015 defines the 9135 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 9136 // functions, the symbols from this TS are enabled unconditionally in 9137 // C2X. 9138 9139 // ISO/IEC TS 18661-3:2015 defines the 9140 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 9141 9142 // Get size_t, wchar_t and NULL from <stddef.h>. 9143 // Copyright (C) 1989-2020 Free Software Foundation, Inc. 9144 // 9145 // This file is part of GCC. 9146 // 9147 // GCC is free software; you can redistribute it and/or modify 9148 // it under the terms of the GNU General Public License as published by 9149 // the Free Software Foundation; either version 3, or (at your option) 9150 // any later version. 9151 // 9152 // GCC is distributed in the hope that it will be useful, 9153 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9154 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9155 // GNU General Public License for more details. 9156 // 9157 // Under Section 7 of GPL version 3, you are granted additional 9158 // permissions described in the GCC Runtime Library Exception, version 9159 // 3.1, as published by the Free Software Foundation. 9160 // 9161 // You should have received a copy of the GNU General Public License and 9162 // a copy of the GCC Runtime Library Exception along with this program; 9163 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 9164 // <http://www.gnu.org/licenses/>. 9165 9166 // ISO C Standard: 7.17 Common definitions <stddef.h> 9167 9168 // Any one of these symbols __need_* means that GNU libc 9169 // wants us just to define one data type. So don't define 9170 // the symbols that indicate this file's entire job has been done. 9171 9172 // This avoids lossage on SunOS but only if stdtypes.h comes first. 9173 // There's no way to win with the other order! Sun lossage. 9174 9175 // Sequent's header files use _PTRDIFF_T_ in some conflicting way. 9176 // Just ignore it. 9177 9178 // On VxWorks, <type/vxTypesBase.h> may have defined macros like 9179 // _TYPE_size_t which will typedef size_t. fixincludes patched the 9180 // vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is 9181 // not defined, and so that defining this macro defines _GCC_SIZE_T. 9182 // If we find that the macros are still defined at this point, we must 9183 // invoke them so that the type is defined as expected. 9184 9185 // In case nobody has defined these types, but we aren't running under 9186 // GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and 9187 // __WCHAR_TYPE__ have reasonable values. This can happen if the 9188 // parts of GCC is compiled by an older compiler, that actually 9189 // include gstddef.h, such as collect2. 9190 9191 // Signed type of difference of two pointers. 9192 9193 // Define this type if we are doing the whole job, 9194 // or if we want this type in particular. 9195 9196 // If this symbol has done its job, get rid of it. 9197 9198 // Unsigned type of `sizeof' something. 9199 9200 // Define this type if we are doing the whole job, 9201 // or if we want this type in particular. 9202 9203 // Wide character type. 9204 // Locale-writers should change this as necessary to 9205 // be big enough to hold unique values not between 0 and 127, 9206 // and not (wchar_t) -1, for each defined multibyte character. 9207 9208 // Define this type if we are doing the whole job, 9209 // or if we want this type in particular. 9210 9211 // A null pointer constant. 9212 9213 // Offset of member MEMBER in a struct of type TYPE. 9214 9215 // XPG requires a few symbols from <sys/wait.h> being defined. 9216 // Definitions of flag bits for `waitpid' et al. 9217 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 9218 // This file is part of the GNU C Library. 9219 // 9220 // The GNU C Library is free software; you can redistribute it and/or 9221 // modify it under the terms of the GNU Lesser General Public 9222 // License as published by the Free Software Foundation; either 9223 // version 2.1 of the License, or (at your option) any later version. 9224 // 9225 // The GNU C Library is distributed in the hope that it will be useful, 9226 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9227 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9228 // Lesser General Public License for more details. 9229 // 9230 // You should have received a copy of the GNU Lesser General Public 9231 // License along with the GNU C Library; if not, see 9232 // <https://www.gnu.org/licenses/>. 9233 9234 // Bits in the third argument to `waitpid'. 9235 9236 // Bits in the fourth argument to `waitid'. 9237 9238 // The following values are used by the `waitid' function. 9239 9240 // The Linux kernel defines these bare, rather than an enum, 9241 // which causes a conflict if the include order is reversed. 9242 9243 type Idtype_t = uint32 /* waitflags.h:57:3 */ 9244 // Definitions of status bits for `wait' et al. 9245 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 9246 // This file is part of the GNU C Library. 9247 // 9248 // The GNU C Library is free software; you can redistribute it and/or 9249 // modify it under the terms of the GNU Lesser General Public 9250 // License as published by the Free Software Foundation; either 9251 // version 2.1 of the License, or (at your option) any later version. 9252 // 9253 // The GNU C Library is distributed in the hope that it will be useful, 9254 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9255 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9256 // Lesser General Public License for more details. 9257 // 9258 // You should have received a copy of the GNU Lesser General Public 9259 // License along with the GNU C Library; if not, see 9260 // <https://www.gnu.org/licenses/>. 9261 9262 // Everything extant so far uses these same bits. 9263 9264 // If WIFEXITED(STATUS), the low-order 8 bits of the status. 9265 9266 // If WIFSIGNALED(STATUS), the terminating signal. 9267 9268 // If WIFSTOPPED(STATUS), the signal that stopped the child. 9269 9270 // Nonzero if STATUS indicates normal termination. 9271 9272 // Nonzero if STATUS indicates termination by a signal. 9273 9274 // Nonzero if STATUS indicates the child is stopped. 9275 9276 // Nonzero if STATUS indicates the child continued after a stop. We only 9277 // define this if <bits/waitflags.h> provides the WCONTINUED flag bit. 9278 9279 // Nonzero if STATUS indicates the child dumped core. 9280 9281 // Macros for constructing status values. 9282 9283 // Define the macros <sys/wait.h> also would define this way. 9284 9285 // _FloatN API tests for enablement. 9286 // Macros to control TS 18661-3 glibc features. 9287 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 9288 // This file is part of the GNU C Library. 9289 // 9290 // The GNU C Library is free software; you can redistribute it and/or 9291 // modify it under the terms of the GNU Lesser General Public 9292 // License as published by the Free Software Foundation; either 9293 // version 2.1 of the License, or (at your option) any later version. 9294 // 9295 // The GNU C Library is distributed in the hope that it will be useful, 9296 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9297 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9298 // Lesser General Public License for more details. 9299 // 9300 // You should have received a copy of the GNU Lesser General Public 9301 // License along with the GNU C Library; if not, see 9302 // <https://www.gnu.org/licenses/>. 9303 9304 // Defined to 1 if the current compiler invocation provides a 9305 // floating-point type with the IEEE 754 binary128 format, and this glibc 9306 // includes corresponding *f128 interfaces for it. 9307 9308 // Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct 9309 // from the default float, double and long double types in this glibc. 9310 9311 // Defined to 1 if the current compiler invocation provides a 9312 // floating-point type with the right format for _Float64x, and this 9313 // glibc includes corresponding *f64x interfaces for it. 9314 9315 // Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format 9316 // of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has 9317 // the format of _Float128, which must be different from that of long 9318 // double. 9319 9320 // Defined to concatenate the literal suffix to be used with _Float128 9321 // types, if __HAVE_FLOAT128 is 1. 9322 // E.g.: #define __f128(x) x##f128. 9323 9324 // Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. 9325 // E.g.: #define __CFLOAT128 _Complex _Float128. 9326 9327 // Macros to control TS 18661-3 glibc features where the same 9328 // definitions are appropriate for all platforms. 9329 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 9330 // This file is part of the GNU C Library. 9331 // 9332 // The GNU C Library is free software; you can redistribute it and/or 9333 // modify it under the terms of the GNU Lesser General Public 9334 // License as published by the Free Software Foundation; either 9335 // version 2.1 of the License, or (at your option) any later version. 9336 // 9337 // The GNU C Library is distributed in the hope that it will be useful, 9338 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9339 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9340 // Lesser General Public License for more details. 9341 // 9342 // You should have received a copy of the GNU Lesser General Public 9343 // License along with the GNU C Library; if not, see 9344 // <https://www.gnu.org/licenses/>. 9345 9346 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9347 // This file is part of the GNU C Library. 9348 // 9349 // The GNU C Library is free software; you can redistribute it and/or 9350 // modify it under the terms of the GNU Lesser General Public 9351 // License as published by the Free Software Foundation; either 9352 // version 2.1 of the License, or (at your option) any later version. 9353 // 9354 // The GNU C Library is distributed in the hope that it will be useful, 9355 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9356 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9357 // Lesser General Public License for more details. 9358 // 9359 // You should have received a copy of the GNU Lesser General Public 9360 // License along with the GNU C Library; if not, see 9361 // <https://www.gnu.org/licenses/>. 9362 9363 // Properties of long double type. 9364 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 9365 // This file is part of the GNU C Library. 9366 // 9367 // The GNU C Library is free software; you can redistribute it and/or 9368 // modify it under the terms of the GNU Lesser General Public 9369 // License published by the Free Software Foundation; either 9370 // version 2.1 of the License, or (at your option) any later version. 9371 // 9372 // The GNU C Library is distributed in the hope that it will be useful, 9373 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9374 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9375 // Lesser General Public License for more details. 9376 // 9377 // You should have received a copy of the GNU Lesser General Public 9378 // License along with the GNU C Library; if not, see 9379 // <https://www.gnu.org/licenses/>. 9380 9381 // This header is included by <sys/cdefs.h>. 9382 // 9383 // If long double is ABI-compatible with double, it should define 9384 // __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave 9385 // __NO_LONG_DOUBLE_MATH undefined. 9386 // 9387 // If this build of the GNU C Library supports both long double 9388 // ABI-compatible with double and some other long double format not 9389 // ABI-compatible with double, it should define 9390 // __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave 9391 // __LONG_DOUBLE_MATH_OPTIONAL undefined. 9392 // 9393 // If __NO_LONG_DOUBLE_MATH is already defined, this header must not 9394 // define anything; this is needed to work with the definition of 9395 // __NO_LONG_DOUBLE_MATH in nldbl-compat.h. 9396 9397 // In the default version of this header, long double is 9398 // ABI-compatible with double. 9399 9400 // This header should be included at the bottom of each bits/floatn.h. 9401 // It defines the following macros for each _FloatN and _FloatNx type, 9402 // where the same definitions, or definitions based only on the macros 9403 // in bits/floatn.h, are appropriate for all glibc configurations. 9404 9405 // Defined to 1 if the current compiler invocation provides a 9406 // floating-point type with the right format for this type, and this 9407 // glibc includes corresponding *fN or *fNx interfaces for it. 9408 9409 // Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the 9410 // type is the first with its format in the sequence of (the default 9411 // choices for) float, double, long double, _Float16, _Float32, 9412 // _Float64, _Float128, _Float32x, _Float64x, _Float128x for this 9413 // glibc; that is, if functions present once per floating-point format 9414 // rather than once per type are present for this type. 9415 // 9416 // All configurations supported by glibc have _Float32 the same format 9417 // as float, _Float64 and _Float32x the same format as double, the 9418 // _Float64x the same format as either long double or _Float128. No 9419 // configurations support _Float128x or, as of GCC 7, have compiler 9420 // support for a type meeting the requirements for _Float128x. 9421 9422 // Defined to 1 if the corresponding _FloatN type is not binary compatible 9423 // with the corresponding ISO C type in the current compilation unit as 9424 // opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built 9425 // in glibc. 9426 9427 // Defined to 1 if any _FloatN or _FloatNx types that are not 9428 // ABI-distinct are however distinct types at the C language level (so 9429 // for the purposes of __builtin_types_compatible_p and _Generic). 9430 9431 // Defined to concatenate the literal suffix to be used with _FloatN 9432 // or _FloatNx types, if __HAVE_<type> is 1. The corresponding 9433 // literal suffixes exist since GCC 7, for C only. 9434 9435 // Defined to a complex type if __HAVE_<type> is 1. 9436 9437 // The remaining of this file provides support for older compilers. 9438 9439 // If double, long double and _Float64 all have the same set of 9440 // values, TS 18661-3 requires the usual arithmetic conversions on 9441 // long double and _Float64 to produce _Float64. For this to be the 9442 // case when building with a compiler without a distinct _Float64 9443 // type, _Float64 must be a typedef for long double, not for 9444 // double. 9445 9446 // Returned by `div'. 9447 type Div_t = struct { 9448 Fquot int32 9449 Frem int32 9450 } /* stdlib.h:62:5 */ 9451 9452 // Returned by `ldiv'. 9453 type Ldiv_t = struct { 9454 Fquot int32 9455 Frem int32 9456 } /* stdlib.h:70:5 */ 9457 9458 // Returned by `lldiv'. 9459 type Lldiv_t = struct { 9460 Fquot int64 9461 Frem int64 9462 } /* stdlib.h:80:5 */ 9463 9464 // Reentrant versions of the `random' family of functions. 9465 // These functions all use the following data structure to contain 9466 // state, rather than global state variables. 9467 9468 type Random_data = struct { 9469 Ffptr uintptr 9470 Frptr uintptr 9471 Fstate uintptr 9472 Frand_type int32 9473 Frand_deg int32 9474 Frand_sep int32 9475 Fend_ptr uintptr 9476 } /* stdlib.h:423:1 */ 9477 9478 // Data structure for communication with thread safe versions. This 9479 // type is to be regarded as opaque. It's only exported because users 9480 // have to allocate objects of this type. 9481 type Drand48_data = struct { 9482 F__x [3]uint16 9483 F__old_x [3]uint16 9484 F__c uint16 9485 F__init uint16 9486 F__a uint64 9487 } /* stdlib.h:490:1 */ 9488 9489 // Shorthand for type of comparison functions. 9490 type X__compar_fn_t = uintptr /* stdlib.h:808:13 */ 9491 9492 // Floating-point inline functions for stdlib.h. 9493 // Copyright (C) 2012-2020 Free Software Foundation, Inc. 9494 // This file is part of the GNU C Library. 9495 // 9496 // The GNU C Library is free software; you can redistribute it and/or 9497 // modify it under the terms of the GNU Lesser General Public 9498 // License as published by the Free Software Foundation; either 9499 // version 2.1 of the License, or (at your option) any later version. 9500 // 9501 // The GNU C Library is distributed in the hope that it will be useful, 9502 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9503 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9504 // Lesser General Public License for more details. 9505 // 9506 // You should have received a copy of the GNU Lesser General Public 9507 // License along with the GNU C Library; if not, see 9508 // <https://www.gnu.org/licenses/>. 9509 9510 // Define some macros helping to catch buffer overflows. 9511 9512 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9513 // This file is part of the GNU C Library. 9514 // 9515 // The GNU C Library is free software; you can redistribute it and/or 9516 // modify it under the terms of the GNU Lesser General Public 9517 // License as published by the Free Software Foundation; either 9518 // version 2.1 of the License, or (at your option) any later version. 9519 // 9520 // The GNU C Library is distributed in the hope that it will be useful, 9521 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9522 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9523 // Lesser General Public License for more details. 9524 // 9525 // You should have received a copy of the GNU Lesser General Public 9526 // License along with the GNU C Library; if not, see 9527 // <https://www.gnu.org/licenses/>. 9528 9529 // ISO C99 Standard: 7.21 String handling <string.h> 9530 9531 // 9532 // 9533 // Copyright 1989, 1991, 1998 The Open Group 9534 // 9535 // Permission to use, copy, modify, distribute, and sell this software and its 9536 // documentation for any purpose is hereby granted without fee, provided that 9537 // the above copyright notice appear in all copies and that both that 9538 // copyright notice and this permission notice appear in supporting 9539 // documentation. 9540 // 9541 // The above copyright notice and this permission notice shall be included in 9542 // all copies or substantial portions of the Software. 9543 // 9544 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9545 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9546 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9547 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9548 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9549 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9550 // 9551 // Except as contained in this notice, the name of The Open Group shall not be 9552 // used in advertising or otherwise to promote the sale, use or other dealings 9553 // in this Software without prior written authorization from The Open Group. 9554 // * 9555 // 9556 9557 // Definitions to make function prototypes manageable 9558 9559 // The following definitions can be used for locking requests in multi-threaded 9560 // address spaces. 9561 // Author: Stephen Gildea, MIT X Consortium 9562 // 9563 // declarations for C Threads locking 9564 9565 type LockInfoPtr = uintptr /* Xlibint.h:365:29 */ 9566 // Data - Place data in the buffer and pad the end to provide 9567 // 32 bit word alignment. Transmit if the buffer fills. 9568 // 9569 // "dpy" is a pointer to a Display. 9570 // "data" is a pointer to a data buffer. 9571 // "len" is the length of the data buffer. 9572 9573 // Allocate bytes from the buffer. No padding is done, so if 9574 // the length is not a multiple of 4, the caller must be 9575 // careful to leave the buffer aligned after sending the 9576 // current request. 9577 // 9578 // "type" is the type of the pointer being assigned to. 9579 // "ptr" is the pointer being assigned to. 9580 // "n" is the number of bytes to allocate. 9581 // 9582 // Example: 9583 // xTextElt *elt; 9584 // BufAlloc (xTextElt *, elt, nbytes) 9585 9586 // Xlib manual is bogus 9587 9588 // CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit 9589 // character. If the character is in the column and exists, then return the 9590 // appropriate metrics (note that fonts with common per-character metrics will 9591 // return min_bounds). If none of these hold true, try again with the default 9592 // char. 9593 9594 // CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and 9595 // column. This is used for fonts that have more than row zero. 9596 9597 // srcvar must be a variable for large architecture version 9598 9599 type X_XAsyncHandler = X_XInternalAsync /* Xlibint.h:784:3 */ 9600 9601 // This struct is part of the ABI and is defined by value 9602 // in user-code. This means that we cannot make 9603 // the sequence-numbers 64bit. 9604 type X_XAsyncEState = struct { 9605 Fmin_sequence_number uint32 9606 Fmax_sequence_number uint32 9607 Ferror_code uint8 9608 Fmajor_opcode uint8 9609 Fminor_opcode uint16 9610 Flast_error_received uint8 9611 F__ccgo_pad1 [3]byte 9612 Ferror_count int32 9613 } /* Xlibint.h:791:9 */ 9614 9615 // This struct is part of the ABI and is defined by value 9616 // in user-code. This means that we cannot make 9617 // the sequence-numbers 64bit. 9618 type X_XAsyncErrorState = X_XAsyncEState /* Xlibint.h:799:3 */ 9619 9620 type FreeFuncType = uintptr /* Xlibint.h:809:14 */ 9621 9622 type FreeModmapType = uintptr /* Xlibint.h:813:13 */ 9623 9624 // This structure is private to the library. 9625 type X_XFreeFuncRec = X_XFreeFuncs /* Xlibint.h:830:3 */ 9626 9627 // types for InitExt.c 9628 type CreateGCType = uintptr /* Xlibint.h:833:13 */ 9629 9630 type CopyGCType = uintptr /* Xlibint.h:839:13 */ 9631 9632 type FlushGCType = uintptr /* Xlibint.h:845:13 */ 9633 9634 type FreeGCType = uintptr /* Xlibint.h:851:13 */ 9635 9636 type CreateFontType = uintptr /* Xlibint.h:857:13 */ 9637 9638 type FreeFontType = uintptr /* Xlibint.h:863:13 */ 9639 9640 type CloseDisplayType = uintptr /* Xlibint.h:869:13 */ 9641 9642 type ErrorType = uintptr /* Xlibint.h:874:13 */ 9643 9644 type ErrorStringType = uintptr /* Xlibint.h:881:13 */ 9645 9646 type PrintErrorType = uintptr /* Xlibint.h:889:14 */ 9647 9648 type BeforeFlushType = uintptr /* Xlibint.h:895:14 */ 9649 9650 // This structure is private to the library. 9651 type X_XExtension = X_XExten /* Xlibint.h:921:3 */ 9652 9653 // internal connections for IMs 9654 9655 type X_XInternalConnectionProc = uintptr /* Xlibint.h:1282:14 */ 9656 9657 //********************************************************** 9658 // 9659 // Copyright 1987, 1998 The Open Group 9660 // 9661 // Permission to use, copy, modify, distribute, and sell this software and its 9662 // documentation for any purpose is hereby granted without fee, provided that 9663 // the above copyright notice appear in all copies and that both that 9664 // copyright notice and this permission notice appear in supporting 9665 // documentation. 9666 // 9667 // The above copyright notice and this permission notice shall be included in 9668 // all copies or substantial portions of the Software. 9669 // 9670 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9671 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9672 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9673 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9674 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9675 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9676 // 9677 // Except as contained in this notice, the name of The Open Group shall not be 9678 // used in advertising or otherwise to promote the sale, use or other dealings 9679 // in this Software without prior written authorization from The Open Group. 9680 // 9681 // 9682 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 9683 // 9684 // All Rights Reserved 9685 // 9686 // Permission to use, copy, modify, and distribute this software and its 9687 // documentation for any purpose and without fee is hereby granted, 9688 // provided that the above copyright notice appear in all copies and that 9689 // both that copyright notice and this permission notice appear in 9690 // supporting documentation, and that the name of Digital not be 9691 // used in advertising or publicity pertaining to distribution of the 9692 // software without specific, written prior permission. 9693 // 9694 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 9695 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 9696 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 9697 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 9698 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 9699 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 9700 // SOFTWARE. 9701 // 9702 // ***************************************************************** 9703 9704 // You must include <X11/Xlib.h> before including this file 9705 // 9706 // 9707 // Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 9708 // 9709 // Permission to use, copy, modify, distribute, and sell this software and its 9710 // documentation for any purpose is hereby granted without fee, provided that 9711 // the above copyright notice appear in all copies and that both that 9712 // copyright notice and this permission notice appear in supporting 9713 // documentation. 9714 // 9715 // The above copyright notice and this permission notice shall be included in 9716 // all copies or substantial portions of the Software. 9717 // 9718 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9719 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9720 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9721 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9722 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9723 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9724 // 9725 // Except as contained in this notice, the name of The Open Group shall not be 9726 // used in advertising or otherwise to promote the sale, use or other dealings 9727 // in this Software without prior written authorization from The Open Group. 9728 // 9729 9730 // Xlib.h - Header definition and support file for the C subroutine 9731 // interface library (Xlib) to the X Window System Protocol (V11). 9732 // Structures and symbols starting with "_" are private to the library. 9733 //********************************************************** 9734 // 9735 // Copyright 1987, 1998 The Open Group 9736 // 9737 // Permission to use, copy, modify, distribute, and sell this software and its 9738 // documentation for any purpose is hereby granted without fee, provided that 9739 // the above copyright notice appear in all copies and that both that 9740 // copyright notice and this permission notice appear in supporting 9741 // documentation. 9742 // 9743 // The above copyright notice and this permission notice shall be included in 9744 // all copies or substantial portions of the Software. 9745 // 9746 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9747 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9748 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9749 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9750 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9751 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9752 // 9753 // Except as contained in this notice, the name of The Open Group shall not be 9754 // used in advertising or otherwise to promote the sale, use or other dealings 9755 // in this Software without prior written authorization from The Open Group. 9756 // 9757 // 9758 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 9759 // 9760 // All Rights Reserved 9761 // 9762 // Permission to use, copy, modify, and distribute this software and its 9763 // documentation for any purpose and without fee is hereby granted, 9764 // provided that the above copyright notice appear in all copies and that 9765 // both that copyright notice and this permission notice appear in 9766 // supporting documentation, and that the name of Digital not be 9767 // used in advertising or publicity pertaining to distribution of the 9768 // software without specific, written prior permission. 9769 // 9770 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 9771 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 9772 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 9773 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 9774 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 9775 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 9776 // SOFTWARE. 9777 // 9778 // ***************************************************************** 9779 9780 // default keysyms 9781 9782 //********************************************************** 9783 // Copyright 1987, 1994, 1998 The Open Group 9784 // 9785 // Permission to use, copy, modify, distribute, and sell this software and its 9786 // documentation for any purpose is hereby granted without fee, provided that 9787 // the above copyright notice appear in all copies and that both that 9788 // copyright notice and this permission notice appear in supporting 9789 // documentation. 9790 // 9791 // The above copyright notice and this permission notice shall be included 9792 // in all copies or substantial portions of the Software. 9793 // 9794 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 9795 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 9796 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 9797 // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR 9798 // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 9799 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 9800 // OTHER DEALINGS IN THE SOFTWARE. 9801 // 9802 // Except as contained in this notice, the name of The Open Group shall 9803 // not be used in advertising or otherwise to promote the sale, use or 9804 // other dealings in this Software without prior written authorization 9805 // from The Open Group. 9806 // 9807 // 9808 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts 9809 // 9810 // All Rights Reserved 9811 // 9812 // Permission to use, copy, modify, and distribute this software and its 9813 // documentation for any purpose and without fee is hereby granted, 9814 // provided that the above copyright notice appear in all copies and that 9815 // both that copyright notice and this permission notice appear in 9816 // supporting documentation, and that the name of Digital not be 9817 // used in advertising or publicity pertaining to distribution of the 9818 // software without specific, written prior permission. 9819 // 9820 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 9821 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 9822 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 9823 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 9824 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 9825 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 9826 // SOFTWARE. 9827 // 9828 // ***************************************************************** 9829 9830 // The "X11 Window System Protocol" standard defines in Appendix A the 9831 // keysym codes. These 29-bit integer values identify characters or 9832 // functions associated with each key (e.g., via the visible 9833 // engraving) of a keyboard layout. This file assigns mnemonic macro 9834 // names for these keysyms. 9835 // 9836 // This file is also compiled (by src/util/makekeys.c in libX11) into 9837 // hash tables that can be accessed with X11 library functions such as 9838 // XStringToKeysym() and XKeysymToString(). 9839 // 9840 // Where a keysym corresponds one-to-one to an ISO 10646 / Unicode 9841 // character, this is noted in a comment that provides both the U+xxxx 9842 // Unicode position, as well as the official Unicode name of the 9843 // character. 9844 // 9845 // Where the correspondence is either not one-to-one or semantically 9846 // unclear, the Unicode position and name are enclosed in 9847 // parentheses. Such legacy keysyms should be considered deprecated 9848 // and are not recommended for use in future keyboard mappings. 9849 // 9850 // For any future extension of the keysyms with characters already 9851 // found in ISO 10646 / Unicode, the following algorithm shall be 9852 // used. The new keysym code position will simply be the character's 9853 // Unicode number plus 0x01000000. The keysym values in the range 9854 // 0x01000100 to 0x0110ffff are reserved to represent Unicode 9855 // characters in the range U+0100 to U+10FFFF. 9856 // 9857 // While most newer Unicode-based X11 clients do already accept 9858 // Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it 9859 // will remain necessary for clients -- in the interest of 9860 // compatibility with existing servers -- to also understand the 9861 // existing legacy keysym values in the range 0x0100 to 0x20ff. 9862 // 9863 // Where several mnemonic names are defined for the same keysym in this 9864 // file, all but the first one listed should be considered deprecated. 9865 // 9866 // Mnemonic names for keysyms are defined in this file with lines 9867 // that match one of these Perl regular expressions: 9868 // 9869 // /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/ 9870 // /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/ 9871 // /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/ 9872 // 9873 // Before adding new keysyms, please do consider the following: In 9874 // addition to the keysym names defined in this file, the 9875 // XStringToKeysym() and XKeysymToString() functions will also handle 9876 // any keysym string of the form "U0020" to "U007E" and "U00A0" to 9877 // "U10FFFF" for all possible Unicode characters. In other words, 9878 // every possible Unicode character has already a keysym string 9879 // defined algorithmically, even if it is not listed here. Therefore, 9880 // defining an additional keysym macro is only necessary where a 9881 // non-hexadecimal mnemonic name is needed, or where the new keysym 9882 // does not represent any existing Unicode character. 9883 // 9884 // When adding new keysyms to this file, do not forget to also update the 9885 // following as needed: 9886 // 9887 // - the mappings in src/KeyBind.c in the libX11 repo 9888 // https://gitlab.freedesktop.org/xorg/lib/libx11 9889 // 9890 // - the protocol specification in specs/keysyms.xml in this repo 9891 // https://gitlab.freedesktop.org/xorg/proto/xorgproto 9892 // 9893 9894 // TTY function keys, cleverly chosen to map to ASCII, for convenience of 9895 // programming, but could have been arbitrary (at the cost of lookup 9896 // tables in client code). 9897 9898 // International & multi-key character composition 9899 9900 // Japanese keyboard support 9901 9902 // 0xff31 thru 0xff3f are under XK_KOREAN 9903 9904 // Cursor control & motion 9905 9906 // Misc functions 9907 9908 // Keypad functions, keypad numbers cleverly chosen to map to ASCII 9909 9910 // Auxiliary functions; note the duplicate definitions for left and right 9911 // function keys; Sun keyboards and a few other manufacturers have such 9912 // function key groups on the left and/or right sides of the keyboard. 9913 // We've not found a keyboard with more than 35 function keys total. 9914 9915 // Modifiers 9916 9917 // Keyboard (XKB) Extension function and modifier keys 9918 // (from Appendix C of "The X Keyboard Extension: Protocol Specification") 9919 // Byte 3 = 0xfe 9920 9921 // extra dead elements for German T3 layout 9922 9923 // dead vowels for universal syllable entry 9924 9925 // Single-Stroke Multiple-Character N-Graph Keysyms For The X Input Method 9926 9927 // 3270 Terminal Keys 9928 // Byte 3 = 0xfd 9929 9930 // Latin 1 9931 // (ISO/IEC 8859-1 = Unicode U+0020..U+00FF) 9932 // Byte 3 = 0 9933 9934 // Latin 2 9935 // Byte 3 = 1 9936 9937 // Latin 3 9938 // Byte 3 = 2 9939 9940 // Latin 4 9941 // Byte 3 = 3 9942 9943 // Latin 8 9944 9945 // Latin 9 9946 // Byte 3 = 0x13 9947 9948 // Katakana 9949 // Byte 3 = 4 9950 9951 // Arabic 9952 // Byte 3 = 5 9953 9954 // Cyrillic 9955 // Byte 3 = 6 9956 9957 // Greek 9958 // (based on an early draft of, and not quite identical to, ISO/IEC 8859-7) 9959 // Byte 3 = 7 9960 9961 // Technical 9962 // (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html) 9963 // Byte 3 = 8 9964 9965 // Special 9966 // (from the DEC VT100 Special Graphics Character Set) 9967 // Byte 3 = 9 9968 9969 // Publishing 9970 // (these are probably from a long forgotten DEC Publishing 9971 // font that once shipped with DECwrite) 9972 // Byte 3 = 0x0a 9973 9974 // APL 9975 // Byte 3 = 0x0b 9976 9977 // Hebrew 9978 // Byte 3 = 0x0c 9979 9980 // Thai 9981 // Byte 3 = 0x0d 9982 9983 // Korean 9984 // Byte 3 = 0x0e 9985 9986 // Hangul Consonant Characters 9987 9988 // Hangul Vowel Characters 9989 9990 // Hangul syllable-final (JongSeong) Characters 9991 9992 // Ancient Hangul Consonant Characters 9993 9994 // Ancient Hangul Vowel Characters 9995 9996 // Ancient Hangul syllable-final (JongSeong) Characters 9997 9998 // Korean currency symbol 9999 10000 // Armenian 10001 10002 // Georgian 10003 10004 // Azeri (and other Turkic or Caucasian languages) 10005 10006 // latin 10007 // those are not really Caucasus 10008 // For Inupiak 10009 10010 // Vietnamese 10011 10012 // one, two and three are defined above. 10013 10014 // Sinhala (http://unicode.org/charts/PDF/U0D80.pdf) 10015 // http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_6.html 10016 10017 // The Xlib structs are full of implicit padding to properly align members. 10018 // We can't clean that up without breaking ABI, so tell clang not to bother 10019 // complaining about it. 10020 10021 // Bitmask returned by XParseGeometry(). Each bit tells if the corresponding 10022 // value (x, y, width, height) was found in the parsed string. 10023 10024 // new version containing base_width, base_height, and win_gravity fields; 10025 // used with WM_NORMAL_HINTS. 10026 type XSizeHints = struct { 10027 Fflags int32 10028 Fx int32 10029 Fy int32 10030 Fwidth int32 10031 Fheight int32 10032 Fmin_width int32 10033 Fmin_height int32 10034 Fmax_width int32 10035 Fmax_height int32 10036 Fwidth_inc int32 10037 Fheight_inc int32 10038 Fmin_aspect struct { 10039 Fx int32 10040 Fy int32 10041 } 10042 Fmax_aspect struct { 10043 Fx int32 10044 Fy int32 10045 } 10046 Fbase_width int32 10047 Fbase_height int32 10048 Fwin_gravity int32 10049 } /* Xutil.h:94:3 */ 10050 10051 // The next block of definitions are for window manager properties that 10052 // clients and applications use for communication. 10053 10054 // flags argument in size hints 10055 10056 // obsolete 10057 10058 type XWMHints = struct { 10059 Fflags int32 10060 Finput int32 10061 Finitial_state int32 10062 Ficon_pixmap Pixmap 10063 Ficon_window Window 10064 Ficon_x int32 10065 Ficon_y int32 10066 Ficon_mask Pixmap 10067 Fwindow_group XID 10068 } /* Xutil.h:130:3 */ 10069 10070 // definition for flags of XWMHints 10071 10072 // definitions for initial window state 10073 10074 // Obsolete states no longer defined by ICCCM 10075 // some wm's may put it on inactive menu 10076 10077 // new structure for manipulating TEXT properties; used with WM_NAME, 10078 // WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND. 10079 type XTextProperty = struct { 10080 Fvalue uintptr 10081 Fencoding Atom 10082 Fformat int32 10083 Fnitems uint32 10084 } /* Xutil.h:168:3 */ 10085 10086 type XICCEncodingStyle = uint32 /* Xutil.h:181:3 */ 10087 10088 type XIconSize = struct { 10089 Fmin_width int32 10090 Fmin_height int32 10091 Fmax_width int32 10092 Fmax_height int32 10093 Fwidth_inc int32 10094 Fheight_inc int32 10095 } /* Xutil.h:187:3 */ 10096 10097 type XClassHint = struct { 10098 Fres_name uintptr 10099 Fres_class uintptr 10100 } /* Xutil.h:192:3 */ 10101 10102 // These macros are used to give some sugar to the image routines so that 10103 // naive people are more comfortable with them. 10104 10105 // Compose sequence status structure, used in calling XLookupString. 10106 type X_XComposeStatus = struct { 10107 Fcompose_ptr XPointer 10108 Fchars_matched int32 10109 } /* Xutil.h:231:9 */ 10110 10111 // These macros are used to give some sugar to the image routines so that 10112 // naive people are more comfortable with them. 10113 10114 // Compose sequence status structure, used in calling XLookupString. 10115 type XComposeStatus = X_XComposeStatus /* Xutil.h:234:3 */ 10116 10117 // Keysym macros, used on Keysyms to test for classes of symbols 10118 10119 // opaque reference to Region data type 10120 type X_XRegion = struct { 10121 Fsize int32 10122 FnumRects int32 10123 Frects uintptr 10124 Fextents BOX 10125 } /* Xutil.h:273:9 */ 10126 10127 // Keysym macros, used on Keysyms to test for classes of symbols 10128 10129 // opaque reference to Region data type 10130 type Region = uintptr /* Xutil.h:273:25 */ 10131 10132 // Return values from XRectInRegion() 10133 10134 // Information used by the visual utility routines to find desired visual 10135 // type from the many visuals a display may support. 10136 10137 type XVisualInfo = struct { 10138 Fvisual uintptr 10139 Fvisualid VisualID 10140 Fscreen int32 10141 Fdepth int32 10142 Fclass int32 10143 Fred_mask uint32 10144 Fgreen_mask uint32 10145 Fblue_mask uint32 10146 Fcolormap_size int32 10147 Fbits_per_rgb int32 10148 } /* Xutil.h:302:3 */ 10149 10150 // This defines a window manager property that clients may use to 10151 // share standard color maps of type RGB_COLOR_MAP: 10152 type XStandardColormap = struct { 10153 Fcolormap Colormap 10154 Fred_max uint32 10155 Fred_mult uint32 10156 Fgreen_max uint32 10157 Fgreen_mult uint32 10158 Fblue_max uint32 10159 Fblue_mult uint32 10160 Fbase_pixel uint32 10161 Fvisualid VisualID 10162 Fkillid XID 10163 } /* Xutil.h:331:3 */ 10164 10165 // return codes for XReadBitmapFile and XWriteBitmapFile 10166 10167 // *************************************************************** 10168 // 10169 // 10170 // Context Management 10171 // 10172 // 10173 10174 // Associative lookup table return codes 10175 10176 type XContext = int32 /* Xutil.h:357:13 */ 10177 10178 // Copyright © 2000 SuSE, Inc. 10179 // 10180 // Permission to use, copy, modify, distribute, and sell this software and its 10181 // documentation for any purpose is hereby granted without fee, provided that 10182 // the above copyright notice appear in all copies and that both that 10183 // copyright notice and this permission notice appear in supporting 10184 // documentation, and that the name of SuSE not be used in advertising or 10185 // publicity pertaining to distribution of the software without specific, 10186 // written prior permission. SuSE makes no representations about the 10187 // suitability of this software for any purpose. It is provided "as is" 10188 // without express or implied warranty. 10189 // 10190 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 10191 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 10192 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10193 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 10194 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 10195 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 10196 // 10197 // Author: Keith Packard, SuSE, Inc. 10198 10199 //********************************************************** 10200 // 10201 // Copyright 1987, 1998 The Open Group 10202 // 10203 // Permission to use, copy, modify, distribute, and sell this software and its 10204 // documentation for any purpose is hereby granted without fee, provided that 10205 // the above copyright notice appear in all copies and that both that 10206 // copyright notice and this permission notice appear in supporting 10207 // documentation. 10208 // 10209 // The above copyright notice and this permission notice shall be included in 10210 // all copies or substantial portions of the Software. 10211 // 10212 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10213 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10214 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10215 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10216 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10217 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10218 // 10219 // Except as contained in this notice, the name of The Open Group shall not be 10220 // used in advertising or otherwise to promote the sale, use or other dealings 10221 // in this Software without prior written authorization from The Open Group. 10222 // 10223 // 10224 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 10225 // 10226 // All Rights Reserved 10227 // 10228 // Permission to use, copy, modify, and distribute this software and its 10229 // documentation for any purpose and without fee is hereby granted, 10230 // provided that the above copyright notice appear in all copies and that 10231 // both that copyright notice and this permission notice appear in 10232 // supporting documentation, and that the name of Digital not be 10233 // used in advertising or publicity pertaining to distribution of the 10234 // software without specific, written prior permission. 10235 // 10236 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 10237 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 10238 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 10239 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 10240 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 10241 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 10242 // SOFTWARE. 10243 // 10244 // ***************************************************************** 10245 // Copyright © 2000 SuSE, Inc. 10246 // 10247 // Permission to use, copy, modify, distribute, and sell this software and its 10248 // documentation for any purpose is hereby granted without fee, provided that 10249 // the above copyright notice appear in all copies and that both that 10250 // copyright notice and this permission notice appear in supporting 10251 // documentation, and that the name of SuSE not be used in advertising or 10252 // publicity pertaining to distribution of the software without specific, 10253 // written prior permission. SuSE makes no representations about the 10254 // suitability of this software for any purpose. It is provided "as is" 10255 // without express or implied warranty. 10256 // 10257 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 10258 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 10259 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10260 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 10261 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 10262 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 10263 // 10264 // Author: Keith Packard, SuSE, Inc. 10265 10266 //********************************************************** 10267 // 10268 // Copyright (c) 1999 The XFree86 Project Inc. 10269 // 10270 // All Rights Reserved. 10271 // 10272 // The above copyright notice and this permission notice shall be included in 10273 // all copies or substantial portions of the Software. 10274 // 10275 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10276 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10277 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10278 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10279 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10280 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10281 // 10282 // Except as contained in this notice, the name of The XFree86 Project 10283 // Inc. shall not be used in advertising or otherwise to promote the 10284 // sale, use or other dealings in this Software without prior written 10285 // authorization from The XFree86 Project Inc.. 10286 // 10287 10288 // * 10289 // Types definitions shared between server and clients 10290 // 10291 10292 type Pointer = uintptr /* Xdefs.h:53:14 */ 10293 10294 type ClientPtr = uintptr /* Xdefs.h:57:24 */ 10295 10296 type FontPtr = uintptr /* Xdefs.h:81:22 */ // also in fonts/include/font.h 10297 10298 type FSID = uint32 /* Xdefs.h:91:23 */ 10299 10300 type AccContext = FSID /* Xdefs.h:97:14 */ 10301 10302 // OS independent time value 10303 // XXX Should probably go in Xos.h 10304 type OSTimePtr = uintptr /* Xdefs.h:101:24 */ 10305 10306 type BlockHandlerProcPtr = uintptr /* Xdefs.h:104:14 */ 10307 10308 type Glyph = XID /* render.h:29:14 */ 10309 type GlyphSet = XID /* render.h:30:14 */ 10310 type Picture = XID /* render.h:31:14 */ 10311 type PictFormat = XID /* render.h:32:14 */ 10312 10313 // #define X_RenderTransform 16 10314 // 0.5 10315 // 0.6 10316 // 0.8 10317 // 0.9 10318 // 0.10 10319 10320 // Operators only available in version 0.2 10321 10322 // Operators only available in version 0.11 10323 10324 // Filters included in 0.6 10325 // Filters included in 0.10 10326 10327 // Subpixel orders included in 0.6 10328 10329 // Extended repeat attributes included in 0.10 10330 10331 // data structures 10332 10333 type XDirectFormat = struct { 10334 Fred CARD16 10335 FredMask CARD16 10336 Fgreen CARD16 10337 FgreenMask CARD16 10338 Fblue CARD16 10339 FblueMask CARD16 10340 Falpha CARD16 10341 FalphaMask CARD16 10342 } /* renderproto.h:61:3 */ 10343 10344 type XPictFormInfo = struct { 10345 Fid CARD32 10346 Ftype CARD8 10347 Fdepth CARD8 10348 Fpad1 CARD16 10349 Fdirect XDirectFormat 10350 Fcolormap CARD32 10351 } /* renderproto.h:72:3 */ 10352 10353 type XPictVisual = struct { 10354 Fvisual CARD32 10355 Fformat CARD32 10356 } /* renderproto.h:79:3 */ 10357 10358 type XPictDepth = struct { 10359 Fdepth CARD8 10360 Fpad1 CARD8 10361 FnPictVisuals CARD16 10362 Fpad2 CARD32 10363 } /* renderproto.h:88:3 */ 10364 10365 type XPictScreen = struct { 10366 FnDepth CARD32 10367 Ffallback CARD32 10368 } /* renderproto.h:95:3 */ 10369 10370 type XIndexValue = struct { 10371 Fpixel CARD32 10372 Fred CARD16 10373 Fgreen CARD16 10374 Fblue CARD16 10375 Falpha CARD16 10376 } /* renderproto.h:105:3 */ 10377 10378 type XRenderColor = struct { 10379 Fred CARD16 10380 Fgreen CARD16 10381 Fblue CARD16 10382 Falpha CARD16 10383 } /* renderproto.h:114:3 */ 10384 10385 type XPointFixed = struct { 10386 Fx INT32 10387 Fy INT32 10388 } /* renderproto.h:121:3 */ 10389 10390 type XLineFixed = struct { 10391 Fp1 XPointFixed 10392 Fp2 XPointFixed 10393 } /* renderproto.h:128:3 */ 10394 10395 type XTriangle = struct { 10396 Fp1 XPointFixed 10397 Fp2 XPointFixed 10398 Fp3 XPointFixed 10399 } /* renderproto.h:134:3 */ 10400 10401 type XTrapezoid = struct { 10402 Ftop INT32 10403 Fbottom INT32 10404 Fleft XLineFixed 10405 Fright XLineFixed 10406 } /* renderproto.h:143:3 */ 10407 10408 type XGlyphInfo = struct { 10409 Fwidth CARD16 10410 Fheight CARD16 10411 Fx INT16 10412 Fy INT16 10413 FxOff INT16 10414 FyOff INT16 10415 } /* renderproto.h:154:3 */ 10416 10417 type XGlyphElt = struct { 10418 Flen CARD8 10419 Fpad1 CARD8 10420 Fpad2 CARD16 10421 Fdeltax INT16 10422 Fdeltay INT16 10423 } /* renderproto.h:164:3 */ 10424 10425 type XSpanFix = struct { 10426 Fl INT32 10427 Fr INT32 10428 Fy INT32 10429 } /* renderproto.h:170:3 */ 10430 10431 type XTrap = struct { 10432 Ftop XSpanFix 10433 Fbot XSpanFix 10434 } /* renderproto.h:176:3 */ 10435 10436 // requests and replies 10437 type XRenderQueryVersionReq = struct { 10438 FreqType CARD8 10439 FrenderReqType CARD8 10440 Flength CARD16 10441 FmajorVersion CARD32 10442 FminorVersion CARD32 10443 } /* renderproto.h:189:3 */ 10444 10445 type XRenderQueryVersionReply = struct { 10446 Ftype BYTE 10447 Fpad1 BYTE 10448 FsequenceNumber CARD16 10449 Flength CARD32 10450 FmajorVersion CARD32 10451 FminorVersion CARD32 10452 Fpad2 CARD32 10453 Fpad3 CARD32 10454 Fpad4 CARD32 10455 Fpad5 CARD32 10456 } /* renderproto.h:204:3 */ 10457 10458 type XRenderQueryPictFormatsReq = struct { 10459 FreqType CARD8 10460 FrenderReqType CARD8 10461 Flength CARD16 10462 } /* renderproto.h:212:3 */ 10463 10464 type XRenderQueryPictFormatsReply = struct { 10465 Ftype BYTE 10466 Fpad1 BYTE 10467 FsequenceNumber CARD16 10468 Flength CARD32 10469 FnumFormats CARD32 10470 FnumScreens CARD32 10471 FnumDepths CARD32 10472 FnumVisuals CARD32 10473 FnumSubpixel CARD32 10474 Fpad5 CARD32 10475 } /* renderproto.h:227:3 */ 10476 10477 type XRenderQueryPictIndexValuesReq = struct { 10478 FreqType CARD8 10479 FrenderReqType CARD8 10480 Flength CARD16 10481 Fformat CARD32 10482 } /* renderproto.h:236:3 */ 10483 10484 type XRenderQueryPictIndexValuesReply = struct { 10485 Ftype BYTE 10486 Fpad1 BYTE 10487 FsequenceNumber CARD16 10488 Flength CARD32 10489 FnumIndexValues CARD32 10490 Fpad2 CARD32 10491 Fpad3 CARD32 10492 Fpad4 CARD32 10493 Fpad5 CARD32 10494 Fpad6 CARD32 10495 } /* renderproto.h:251:3 */ 10496 10497 type XRenderCreatePictureReq = struct { 10498 FreqType CARD8 10499 FrenderReqType CARD8 10500 Flength CARD16 10501 Fpid CARD32 10502 Fdrawable CARD32 10503 Fformat CARD32 10504 Fmask CARD32 10505 } /* renderproto.h:263:3 */ 10506 10507 type XRenderChangePictureReq = struct { 10508 FreqType CARD8 10509 FrenderReqType CARD8 10510 Flength CARD16 10511 Fpicture CARD32 10512 Fmask CARD32 10513 } /* renderproto.h:273:3 */ 10514 10515 type XRenderSetPictureClipRectanglesReq = struct { 10516 FreqType CARD8 10517 FrenderReqType CARD8 10518 Flength CARD16 10519 Fpicture CARD32 10520 FxOrigin INT16 10521 FyOrigin INT16 10522 } /* renderproto.h:284:3 */ 10523 10524 type XRenderFreePictureReq = struct { 10525 FreqType CARD8 10526 FrenderReqType CARD8 10527 Flength CARD16 10528 Fpicture CARD32 10529 } /* renderproto.h:293:3 */ 10530 10531 type XRenderCompositeReq = struct { 10532 FreqType CARD8 10533 FrenderReqType CARD8 10534 Flength CARD16 10535 Fop CARD8 10536 Fpad1 CARD8 10537 Fpad2 CARD16 10538 Fsrc CARD32 10539 Fmask CARD32 10540 Fdst CARD32 10541 FxSrc INT16 10542 FySrc INT16 10543 FxMask INT16 10544 FyMask INT16 10545 FxDst INT16 10546 FyDst INT16 10547 Fwidth CARD16 10548 Fheight CARD16 10549 } /* renderproto.h:315:3 */ 10550 10551 type XRenderScaleReq = struct { 10552 FreqType CARD8 10553 FrenderReqType CARD8 10554 Flength CARD16 10555 Fsrc CARD32 10556 Fdst CARD32 10557 FcolorScale CARD32 10558 FalphaScale CARD32 10559 FxSrc INT16 10560 FySrc INT16 10561 FxDst INT16 10562 FyDst INT16 10563 Fwidth CARD16 10564 Fheight CARD16 10565 } /* renderproto.h:333:3 */ 10566 10567 type XRenderTrapezoidsReq = struct { 10568 FreqType CARD8 10569 FrenderReqType CARD8 10570 Flength CARD16 10571 Fop CARD8 10572 Fpad1 CARD8 10573 Fpad2 CARD16 10574 Fsrc CARD32 10575 Fdst CARD32 10576 FmaskFormat CARD32 10577 FxSrc INT16 10578 FySrc INT16 10579 } /* renderproto.h:349:3 */ 10580 10581 type XRenderTrianglesReq = 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:365:3 */ 10594 10595 type XRenderTriStripReq = 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:381:3 */ 10608 10609 type XRenderTriFanReq = 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:397:3 */ 10622 10623 type XRenderCreateGlyphSetReq = struct { 10624 FreqType CARD8 10625 FrenderReqType CARD8 10626 Flength CARD16 10627 Fgsid CARD32 10628 Fformat CARD32 10629 } /* renderproto.h:407:3 */ 10630 10631 type XRenderReferenceGlyphSetReq = struct { 10632 FreqType CARD8 10633 FrenderReqType CARD8 10634 Flength CARD16 10635 Fgsid CARD32 10636 Fexisting CARD32 10637 } /* renderproto.h:417:3 */ 10638 10639 type XRenderFreeGlyphSetReq = struct { 10640 FreqType CARD8 10641 FrenderReqType CARD8 10642 Flength CARD16 10643 Fglyphset CARD32 10644 } /* renderproto.h:426:3 */ 10645 10646 type XRenderAddGlyphsReq = struct { 10647 FreqType CARD8 10648 FrenderReqType CARD8 10649 Flength CARD16 10650 Fglyphset CARD32 10651 Fnglyphs CARD32 10652 } /* renderproto.h:436:3 */ 10653 10654 type XRenderFreeGlyphsReq = struct { 10655 FreqType CARD8 10656 FrenderReqType CARD8 10657 Flength CARD16 10658 Fglyphset CARD32 10659 } /* renderproto.h:445:3 */ 10660 10661 type XRenderCompositeGlyphsReq = struct { 10662 FreqType CARD8 10663 FrenderReqType CARD8 10664 Flength CARD16 10665 Fop CARD8 10666 Fpad1 CARD8 10667 Fpad2 CARD16 10668 Fsrc CARD32 10669 Fdst CARD32 10670 FmaskFormat CARD32 10671 Fglyphset CARD32 10672 FxSrc INT16 10673 FySrc INT16 10674 } /* renderproto.h:462:3 */ 10675 type XRenderCompositeGlyphs8Req = 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:30 */ 10689 type XRenderCompositeGlyphs16Req = 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:463:1 */ 10703 type XRenderCompositeGlyphs32Req = 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:30 */ 10717 10718 // 0.1 and higher 10719 10720 type XRenderFillRectanglesReq = struct { 10721 FreqType CARD8 10722 FrenderReqType CARD8 10723 Flength CARD16 10724 Fop CARD8 10725 Fpad1 CARD8 10726 Fpad2 CARD16 10727 Fdst CARD32 10728 Fcolor XRenderColor 10729 } /* renderproto.h:480:3 */ 10730 10731 // 0.5 and higher 10732 10733 type XRenderCreateCursorReq = struct { 10734 FreqType CARD8 10735 FrenderReqType CARD8 10736 Flength CARD16 10737 Fcid CARD32 10738 Fsrc CARD32 10739 Fx CARD16 10740 Fy CARD16 10741 } /* renderproto.h:494:3 */ 10742 10743 // 0.6 and higher 10744 10745 // This can't use an array because 32-bit values may be in bitfields 10746 type XRenderTransform = struct { 10747 Fmatrix11 INT32 10748 Fmatrix12 INT32 10749 Fmatrix13 INT32 10750 Fmatrix21 INT32 10751 Fmatrix22 INT32 10752 Fmatrix23 INT32 10753 Fmatrix31 INT32 10754 Fmatrix32 INT32 10755 Fmatrix33 INT32 10756 } /* renderproto.h:513:3 */ 10757 10758 type XRenderSetPictureTransformReq = struct { 10759 FreqType CARD8 10760 FrenderReqType CARD8 10761 Flength CARD16 10762 Fpicture CARD32 10763 Ftransform XRenderTransform 10764 } /* renderproto.h:523:3 */ 10765 10766 type XRenderQueryFiltersReq = struct { 10767 FreqType CARD8 10768 FrenderReqType CARD8 10769 Flength CARD16 10770 Fdrawable CARD32 10771 } /* renderproto.h:532:3 */ 10772 10773 type XRenderQueryFiltersReply = struct { 10774 Ftype BYTE 10775 Fpad1 BYTE 10776 FsequenceNumber CARD16 10777 Flength CARD32 10778 FnumAliases CARD32 10779 FnumFilters CARD32 10780 Fpad2 CARD32 10781 Fpad3 CARD32 10782 Fpad4 CARD32 10783 Fpad5 CARD32 10784 } /* renderproto.h:547:3 */ 10785 10786 type XRenderSetPictureFilterReq = struct { 10787 FreqType CARD8 10788 FrenderReqType CARD8 10789 Flength CARD16 10790 Fpicture CARD32 10791 Fnbytes CARD16 10792 Fpad CARD16 10793 } /* renderproto.h:558:3 */ 10794 10795 // 0.8 and higher 10796 10797 type XAnimCursorElt = struct { 10798 Fcursor CARD32 10799 Fdelay CARD32 10800 } /* renderproto.h:567:3 */ 10801 10802 type XRenderCreateAnimCursorReq = struct { 10803 FreqType CARD8 10804 FrenderReqType CARD8 10805 Flength CARD16 10806 Fcid CARD32 10807 } /* renderproto.h:576:3 */ 10808 10809 // 0.9 and higher 10810 10811 type XRenderAddTrapsReq = struct { 10812 FreqType CARD8 10813 FrenderReqType CARD8 10814 Flength CARD16 10815 Fpicture CARD32 10816 FxOff INT16 10817 FyOff INT16 10818 } /* renderproto.h:589:3 */ 10819 10820 // 0.10 and higher 10821 10822 type XRenderCreateSolidFillReq = struct { 10823 FreqType CARD8 10824 FrenderReqType CARD8 10825 Flength CARD16 10826 Fpid CARD32 10827 Fcolor XRenderColor 10828 } /* renderproto.h:601:3 */ 10829 10830 type XRenderCreateLinearGradientReq = struct { 10831 FreqType CARD8 10832 FrenderReqType CARD8 10833 Flength CARD16 10834 Fpid CARD32 10835 Fp1 XPointFixed 10836 Fp2 XPointFixed 10837 FnStops CARD32 10838 } /* renderproto.h:613:3 */ 10839 10840 type XRenderCreateRadialGradientReq = struct { 10841 FreqType CARD8 10842 FrenderReqType CARD8 10843 Flength CARD16 10844 Fpid CARD32 10845 Finner XPointFixed 10846 Fouter XPointFixed 10847 Finner_radius INT32 10848 Fouter_radius INT32 10849 FnStops CARD32 10850 } /* renderproto.h:627:3 */ 10851 10852 type XRenderCreateConicalGradientReq = struct { 10853 FreqType CARD8 10854 FrenderReqType CARD8 10855 Flength CARD16 10856 Fpid CARD32 10857 Fcenter XPointFixed 10858 Fangle INT32 10859 FnStops CARD32 10860 } /* renderproto.h:639:3 */ 10861 10862 // 10863 // Copyright © 2000 SuSE, Inc. 10864 // 10865 // Permission to use, copy, modify, distribute, and sell this software and its 10866 // documentation for any purpose is hereby granted without fee, provided that 10867 // the above copyright notice appear in all copies and that both that 10868 // copyright notice and this permission notice appear in supporting 10869 // documentation, and that the name of SuSE not be used in advertising or 10870 // publicity pertaining to distribution of the software without specific, 10871 // written prior permission. SuSE makes no representations about the 10872 // suitability of this software for any purpose. It is provided "as is" 10873 // without express or implied warranty. 10874 // 10875 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 10876 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 10877 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10878 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 10879 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 10880 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 10881 // 10882 // Author: Keith Packard, SuSE, Inc. 10883 10884 // 10885 // 10886 // Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 10887 // 10888 // Permission to use, copy, modify, distribute, and sell this software and its 10889 // documentation for any purpose is hereby granted without fee, provided that 10890 // the above copyright notice appear in all copies and that both that 10891 // copyright notice and this permission notice appear in supporting 10892 // documentation. 10893 // 10894 // The above copyright notice and this permission notice shall be included in 10895 // all copies or substantial portions of the Software. 10896 // 10897 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10898 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10899 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10900 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10901 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10902 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10903 // 10904 // Except as contained in this notice, the name of The Open Group shall not be 10905 // used in advertising or otherwise to promote the sale, use or other dealings 10906 // in this Software without prior written authorization from The Open Group. 10907 // 10908 10909 // Xlib.h - Header definition and support file for the C subroutine 10910 // interface library (Xlib) to the X Window System Protocol (V11). 10911 // Structures and symbols starting with "_" are private to the library. 10912 // 10913 // 10914 // Copyright 1989, 1991, 1998 The Open Group 10915 // 10916 // Permission to use, copy, modify, distribute, and sell this software and its 10917 // documentation for any purpose is hereby granted without fee, provided that 10918 // the above copyright notice appear in all copies and that both that 10919 // copyright notice and this permission notice appear in supporting 10920 // documentation. 10921 // 10922 // The above copyright notice and this permission notice shall be included in 10923 // all copies or substantial portions of the Software. 10924 // 10925 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10926 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10927 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10928 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10929 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10930 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10931 // 10932 // Except as contained in this notice, the name of The Open Group shall not be 10933 // used in advertising or otherwise to promote the sale, use or other dealings 10934 // in this Software without prior written authorization from The Open Group. 10935 // * 10936 // 10937 10938 // Definitions to make function prototypes manageable 10939 10940 // 10941 // O/S-dependent (mis)feature macro definitions 10942 // 10943 // Copyright 1991, 1998 The Open Group 10944 // 10945 // Permission to use, copy, modify, distribute, and sell this software and its 10946 // documentation for any purpose is hereby granted without fee, provided that 10947 // the above copyright notice appear in all copies and that both that 10948 // copyright notice and this permission notice appear in supporting 10949 // documentation. 10950 // 10951 // The above copyright notice and this permission notice shall be included in 10952 // all copies or substantial portions of the Software. 10953 // 10954 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10955 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10956 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10957 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10958 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10959 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10960 // 10961 // Except as contained in this notice, the name of The Open Group shall not be 10962 // used in advertising or otherwise to promote the sale, use or other dealings 10963 // in this Software without prior written authorization from The Open Group. 10964 // 10965 10966 //********************************************************** 10967 // 10968 // Copyright 1987, 1998 The Open Group 10969 // 10970 // Permission to use, copy, modify, distribute, and sell this software and its 10971 // documentation for any purpose is hereby granted without fee, provided that 10972 // the above copyright notice appear in all copies and that both that 10973 // copyright notice and this permission notice appear in supporting 10974 // documentation. 10975 // 10976 // The above copyright notice and this permission notice shall be included in 10977 // all copies or substantial portions of the Software. 10978 // 10979 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10980 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10981 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10982 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10983 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10984 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10985 // 10986 // Except as contained in this notice, the name of The Open Group shall not be 10987 // used in advertising or otherwise to promote the sale, use or other dealings 10988 // in this Software without prior written authorization from The Open Group. 10989 // 10990 // 10991 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 10992 // 10993 // All Rights Reserved 10994 // 10995 // Permission to use, copy, modify, and distribute this software and its 10996 // documentation for any purpose and without fee is hereby granted, 10997 // provided that the above copyright notice appear in all copies and that 10998 // both that copyright notice and this permission notice appear in 10999 // supporting documentation, and that the name of Digital not be 11000 // used in advertising or publicity pertaining to distribution of the 11001 // software without specific, written prior permission. 11002 // 11003 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 11004 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 11005 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 11006 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 11007 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 11008 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 11009 // SOFTWARE. 11010 // 11011 // ***************************************************************** 11012 11013 // Copyright © 2000 SuSE, Inc. 11014 // 11015 // Permission to use, copy, modify, distribute, and sell this software and its 11016 // documentation for any purpose is hereby granted without fee, provided that 11017 // the above copyright notice appear in all copies and that both that 11018 // copyright notice and this permission notice appear in supporting 11019 // documentation, and that the name of SuSE not be used in advertising or 11020 // publicity pertaining to distribution of the software without specific, 11021 // written prior permission. SuSE makes no representations about the 11022 // suitability of this software for any purpose. It is provided "as is" 11023 // without express or implied warranty. 11024 // 11025 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 11026 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 11027 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11028 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 11029 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 11030 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 11031 // 11032 // Author: Keith Packard, SuSE, Inc. 11033 11034 type XRenderDirectFormat = struct { 11035 Fred int16 11036 FredMask int16 11037 Fgreen int16 11038 FgreenMask int16 11039 Fblue int16 11040 FblueMask int16 11041 Falpha int16 11042 FalphaMask int16 11043 } /* Xrender.h:44:3 */ 11044 11045 type XRenderPictFormat = struct { 11046 Fid PictFormat 11047 Ftype int32 11048 Fdepth int32 11049 Fdirect XRenderDirectFormat 11050 Fcolormap Colormap 11051 } /* Xrender.h:52:3 */ 11052 11053 type X_XRenderPictureAttributes = struct { 11054 Frepeat int32 11055 Falpha_map Picture 11056 Falpha_x_origin int32 11057 Falpha_y_origin int32 11058 Fclip_x_origin int32 11059 Fclip_y_origin int32 11060 Fclip_mask Pixmap 11061 Fgraphics_exposures int32 11062 Fsubwindow_mode int32 11063 Fpoly_edge int32 11064 Fpoly_mode int32 11065 Fdither Atom 11066 Fcomponent_alpha int32 11067 } /* Xrender.h:67:9 */ 11068 11069 type XRenderPictureAttributes = X_XRenderPictureAttributes /* Xrender.h:81:3 */ 11070 11071 type XRenderColor1 = struct { 11072 Fred uint16 11073 Fgreen uint16 11074 Fblue uint16 11075 Falpha uint16 11076 } /* Xrender.h:88:3 */ 11077 11078 type X_XGlyphInfo = struct { 11079 Fwidth uint16 11080 Fheight uint16 11081 Fx int16 11082 Fy int16 11083 FxOff int16 11084 FyOff int16 11085 } /* Xrender.h:90:9 */ 11086 11087 type XGlyphInfo1 = X_XGlyphInfo /* Xrender.h:97:3 */ 11088 11089 type X_XGlyphElt8 = struct { 11090 Fglyphset GlyphSet 11091 Fchars uintptr 11092 Fnchars int32 11093 FxOff int32 11094 FyOff int32 11095 } /* Xrender.h:99:9 */ 11096 11097 type XGlyphElt8 = X_XGlyphElt8 /* Xrender.h:105:3 */ 11098 11099 type X_XGlyphElt16 = struct { 11100 Fglyphset GlyphSet 11101 Fchars uintptr 11102 Fnchars int32 11103 FxOff int32 11104 FyOff int32 11105 } /* Xrender.h:107:9 */ 11106 11107 type XGlyphElt16 = X_XGlyphElt16 /* Xrender.h:113:3 */ 11108 11109 type X_XGlyphElt32 = struct { 11110 Fglyphset GlyphSet 11111 Fchars uintptr 11112 Fnchars int32 11113 FxOff int32 11114 FyOff int32 11115 } /* Xrender.h:115:9 */ 11116 11117 type XGlyphElt32 = X_XGlyphElt32 /* Xrender.h:121:3 */ 11118 11119 type XDouble = float64 /* Xrender.h:123:16 */ 11120 11121 type X_XPointDouble = struct { 11122 Fx XDouble 11123 Fy XDouble 11124 } /* Xrender.h:125:9 */ 11125 11126 type XPointDouble = X_XPointDouble /* Xrender.h:127:3 */ 11127 11128 type XFixed = int32 /* Xrender.h:132:13 */ 11129 11130 type X_XPointFixed = struct { 11131 Fx XFixed 11132 Fy XFixed 11133 } /* Xrender.h:134:9 */ 11134 11135 type XPointFixed1 = X_XPointFixed /* Xrender.h:136:3 */ 11136 11137 type X_XLineFixed = struct { 11138 Fp1 XPointFixed1 11139 Fp2 XPointFixed1 11140 } /* Xrender.h:138:9 */ 11141 11142 type XLineFixed1 = X_XLineFixed /* Xrender.h:140:3 */ 11143 11144 type X_XTriangle = struct { 11145 Fp1 XPointFixed1 11146 Fp2 XPointFixed1 11147 Fp3 XPointFixed1 11148 } /* Xrender.h:142:9 */ 11149 11150 type XTriangle1 = X_XTriangle /* Xrender.h:144:3 */ 11151 11152 type X_XCircle = struct { 11153 Fx XFixed 11154 Fy XFixed 11155 Fradius XFixed 11156 } /* Xrender.h:146:9 */ 11157 11158 type XCircle = X_XCircle /* Xrender.h:150:3 */ 11159 11160 type X_XTrapezoid = struct { 11161 Ftop XFixed 11162 Fbottom XFixed 11163 Fleft XLineFixed1 11164 Fright XLineFixed1 11165 } /* Xrender.h:152:9 */ 11166 11167 type XTrapezoid1 = X_XTrapezoid /* Xrender.h:155:3 */ 11168 11169 type X_XTransform = struct{ Fmatrix [3][3]XFixed } /* Xrender.h:157:9 */ 11170 11171 type XTransform = X_XTransform /* Xrender.h:159:3 */ 11172 11173 type X_XFilters = struct { 11174 Fnfilter int32 11175 Ffilter uintptr 11176 Fnalias int32 11177 Falias uintptr 11178 } /* Xrender.h:161:9 */ 11179 11180 type XFilters = X_XFilters /* Xrender.h:166:3 */ 11181 11182 type X_XIndexValue = struct { 11183 Fpixel uint32 11184 Fred uint16 11185 Fgreen uint16 11186 Fblue uint16 11187 Falpha uint16 11188 } /* Xrender.h:168:9 */ 11189 11190 type XIndexValue1 = X_XIndexValue /* Xrender.h:171:3 */ 11191 11192 type X_XAnimCursor = struct { 11193 Fcursor Cursor 11194 Fdelay uint32 11195 } /* Xrender.h:173:9 */ 11196 11197 type XAnimCursor = X_XAnimCursor /* Xrender.h:176:3 */ 11198 11199 type X_XSpanFix = struct { 11200 Fleft XFixed 11201 Fright XFixed 11202 Fy XFixed 11203 } /* Xrender.h:178:9 */ 11204 11205 type XSpanFix1 = X_XSpanFix /* Xrender.h:180:3 */ 11206 11207 type X_XTrap = struct { 11208 Ftop XSpanFix1 11209 Fbottom XSpanFix1 11210 } /* Xrender.h:182:9 */ 11211 11212 type XTrap1 = X_XTrap /* Xrender.h:184:3 */ 11213 11214 type X_XLinearGradient = struct { 11215 Fp1 XPointFixed1 11216 Fp2 XPointFixed1 11217 } /* Xrender.h:186:9 */ 11218 11219 type XLinearGradient = X_XLinearGradient /* Xrender.h:189:3 */ 11220 11221 type X_XRadialGradient = struct { 11222 Finner XCircle 11223 Fouter XCircle 11224 } /* Xrender.h:191:9 */ 11225 11226 type XRadialGradient = X_XRadialGradient /* Xrender.h:194:3 */ 11227 11228 type X_XConicalGradient = struct { 11229 Fcenter XPointFixed1 11230 Fangle XFixed 11231 } /* Xrender.h:196:9 */ 11232 11233 type XConicalGradient = X_XConicalGradient /* Xrender.h:199:3 */ 11234 11235 type XRenderVisual = struct { 11236 Fvisual uintptr 11237 Fformat uintptr 11238 } /* Xrenderint.h:37:3 */ 11239 11240 type XRenderDepth = struct { 11241 Fdepth int32 11242 Fnvisuals int32 11243 Fvisuals uintptr 11244 } /* Xrenderint.h:43:3 */ 11245 11246 type XRenderScreen = struct { 11247 Fdepths uintptr 11248 Fndepths int32 11249 Ffallback uintptr 11250 Fsubpixel int32 11251 } /* Xrenderint.h:50:3 */ 11252 11253 type X_XRenderInfo = struct { 11254 Fmajor_version int32 11255 Fminor_version int32 11256 Fformat uintptr 11257 Fnformat int32 11258 Fscreen uintptr 11259 Fnscreen int32 11260 Fdepth uintptr 11261 Fndepth int32 11262 Fvisual uintptr 11263 Fnvisual int32 11264 Fsubpixel uintptr 11265 Fnsubpixel int32 11266 Ffilter uintptr 11267 Fnfilter int32 11268 Ffilter_alias uintptr 11269 Fnfilter_alias int32 11270 } /* Xrenderint.h:52:9 */ 11271 11272 type XRenderInfo = X_XRenderInfo /* Xrenderint.h:69:3 */ 11273 11274 // replaces XRenderExtDisplayInfo 11275 type X_XRenderExtDisplayInfo = struct { 11276 Fnext uintptr 11277 Fdisplay uintptr 11278 Fcodes uintptr 11279 Finfo uintptr 11280 } /* Xrenderint.h:72:9 */ 11281 11282 // replaces XRenderExtDisplayInfo 11283 type XRenderExtDisplayInfo = X_XRenderExtDisplayInfo /* Xrenderint.h:77:3 */ 11284 11285 // replaces XExtensionInfo 11286 type X_XRenderExtInfo = struct { 11287 Fhead uintptr 11288 Fcur uintptr 11289 Fndisplays int32 11290 } /* Xrenderint.h:80:9 */ 11291 11292 // replaces XExtensionInfo 11293 type XRenderExtInfo = X_XRenderExtInfo /* Xrenderint.h:84:3 */ 11294 11295 // Xlib uses long for 32-bit values. Xrender uses int. This 11296 // matters on alpha. Note that this macro assumes that int is 32 bits 11297 // except on WORD64 machines where it is 64 bits. 11298 11299 func XXRenderAddTraps(tls *libc.TLS, dpy uintptr, picture Picture, xOff int32, yOff int32, traps uintptr, ntrap int32) { /* AddTrap.c:31:1: */ 11300 bp := tls.Alloc(4) 11301 defer tls.Free(4) 11302 11303 var info uintptr = XXRenderFindDisplay(tls, dpy) 11304 var req uintptr 11305 var n int32 11306 var len int32 11307 var max_req uint32 11308 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11309 max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size 11310 } else { 11311 max_req = uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size) 11312 } 11313 11314 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 11315 return 11316 } 11317 11318 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11319 (*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) 11320 } 11321 for ntrap != 0 { 11322 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddTraps), uint32(Sz_xRenderAddTrapsReq)) 11323 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11324 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddTraps) 11325 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).Fpicture = picture 11326 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FxOff = INT16(xOff) 11327 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FyOff = INT16(yOff) 11328 n = ntrap 11329 len = int32(n) * (int32(Sz_xTrap) >> 2) 11330 if uint32(len) > max_req-uint32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) { 11331 n = int32((max_req - uint32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)) / uint32(int32(Sz_xTrap)>>2)) 11332 len = int32(n) * (int32(Sz_xTrap) >> 2) 11333 } 11334 if uint32(int32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 11335 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11336 { 11337 // var _BRdat CARD32 at bp, 4 11338 var _BRlen CARD32 = CARD32(int32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) - 1) 11339 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 11340 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 11341 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 11342 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 11343 { 11344 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 11345 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 11346 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 11347 } else { 11348 x11.X_XSend(tls, dpy, bp, 4) 11349 } 11350 } 11351 11352 } 11353 } else { 11354 len = len 11355 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 11356 } 11357 } else { 11358 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 11359 } 11360 len <<= 2 11361 { 11362 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 11363 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint32(int32(len))) 11364 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((len + 3) & libc.CplInt32(3)) 11365 } else { 11366 x11.X_XSend(tls, dpy, traps, len) 11367 } 11368 } 11369 11370 ntrap = ntrap - n 11371 traps += 24 * uintptr(n) 11372 } 11373 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11374 (*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) 11375 } 11376 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11377 (*struct { 11378 f func(*libc.TLS, uintptr) int32 11379 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11380 } 11381 } 11382 11383 // Xlib uses long for 32-bit values. Xrender uses int. This 11384 // matters on alpha. Note that this macro assumes that int is 32 bits 11385 // except on WORD64 machines where it is 64 bits. 11386 11387 func XXRenderParseColor(tls *libc.TLS, dpy uintptr, spec uintptr, def uintptr) int32 { /* Color.c:30:1: */ 11388 bp := tls.Alloc(20) 11389 defer tls.Free(20) 11390 11391 if !(libc.Xstrncmp(tls, spec, ts, uint32(5)) != 0) { 11392 // var elements [4]uint16 at bp, 8 11393 11394 var pShort uintptr 11395 var i int32 11396 var n int32 11397 var c uint8 11398 11399 spec += uintptr(5) 11400 // Attempt to parse the value portion. 11401 pShort = bp /* &elements[0] */ 11402 i = 0 11403 __1: 11404 if !(i < 4) { 11405 goto __3 11406 } 11407 { 11408 n = 0 11409 *(*uint16)(unsafe.Pointer(pShort)) = uint16(0) 11410 for int32(*(*uint8)(unsafe.Pointer(spec))) != '/' && int32(*(*uint8)(unsafe.Pointer(spec))) != 0 { 11411 if libc.PreIncInt32(&n, 1) > 4 { 11412 return 0 11413 } 11414 c = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&spec, 1))) 11415 libc.AssignShlPtrUint16(pShort, int(4)) 11416 if int32(c) >= '0' && int32(c) <= '9' { 11417 *(*uint16)(unsafe.Pointer(pShort)) |= uint16(int32(c) - '0') 11418 } else if int32(c) >= 'a' && int32(c) <= 'f' { 11419 *(*uint16)(unsafe.Pointer(pShort)) |= uint16(int32(c) - ('a' - 10)) 11420 } else { 11421 return 0 11422 } 11423 } 11424 if n == 0 { 11425 return 0 11426 } 11427 if n < 4 { 11428 *(*uint16)(unsafe.Pointer(pShort)) = uint16(uint32(*(*uint16)(unsafe.Pointer(pShort))) * uint32(0xFFFF) / uint32(int32(1)<<(n*4)-1)) 11429 } 11430 11431 } 11432 goto __2 11433 __2: 11434 i++ 11435 pShort += 2 11436 spec++ 11437 goto __1 11438 goto __3 11439 __3: 11440 ; 11441 (*XRenderColor1)(unsafe.Pointer(def)).Fred = *(*uint16)(unsafe.Pointer(bp)) 11442 (*XRenderColor1)(unsafe.Pointer(def)).Fgreen = *(*uint16)(unsafe.Pointer(bp + 1*2)) 11443 (*XRenderColor1)(unsafe.Pointer(def)).Fblue = *(*uint16)(unsafe.Pointer(bp + 2*2)) 11444 (*XRenderColor1)(unsafe.Pointer(def)).Falpha = *(*uint16)(unsafe.Pointer(bp + 3*2)) 11445 } else { 11446 // var coreColor XColor at bp+8, 12 11447 11448 var colormap Colormap 11449 11450 colormap = (*Screen)(unsafe.Pointer((*struct { 11451 Fext_data uintptr 11452 Fprivate1 uintptr 11453 Ffd int32 11454 Fprivate2 int32 11455 Fproto_major_version int32 11456 Fproto_minor_version int32 11457 Fvendor uintptr 11458 Fprivate3 XID 11459 Fprivate4 XID 11460 Fprivate5 XID 11461 Fprivate6 int32 11462 Fresource_alloc uintptr 11463 Fbyte_order int32 11464 Fbitmap_unit int32 11465 Fbitmap_pad int32 11466 Fbitmap_bit_order int32 11467 Fnformats int32 11468 Fpixmap_format uintptr 11469 Fprivate8 int32 11470 Frelease int32 11471 Fprivate9 uintptr 11472 Fprivate10 uintptr 11473 Fqlen int32 11474 Flast_request_read uint32 11475 Frequest uint32 11476 Fprivate11 XPointer 11477 Fprivate12 XPointer 11478 Fprivate13 XPointer 11479 Fprivate14 XPointer 11480 Fmax_request_size uint32 11481 Fdb uintptr 11482 Fprivate15 uintptr 11483 Fdisplay_name uintptr 11484 Fdefault_screen int32 11485 Fnscreens int32 11486 Fscreens uintptr 11487 Fmotion_buffer uint32 11488 Fprivate16 uint32 11489 Fmin_keycode int32 11490 Fmax_keycode int32 11491 Fprivate17 XPointer 11492 Fprivate18 XPointer 11493 Fprivate19 int32 11494 Fxdefaults uintptr 11495 })(unsafe.Pointer(dpy)).Fscreens + uintptr((*struct { 11496 Fext_data uintptr 11497 Fprivate1 uintptr 11498 Ffd int32 11499 Fprivate2 int32 11500 Fproto_major_version int32 11501 Fproto_minor_version int32 11502 Fvendor uintptr 11503 Fprivate3 XID 11504 Fprivate4 XID 11505 Fprivate5 XID 11506 Fprivate6 int32 11507 Fresource_alloc uintptr 11508 Fbyte_order int32 11509 Fbitmap_unit int32 11510 Fbitmap_pad int32 11511 Fbitmap_bit_order int32 11512 Fnformats int32 11513 Fpixmap_format uintptr 11514 Fprivate8 int32 11515 Frelease int32 11516 Fprivate9 uintptr 11517 Fprivate10 uintptr 11518 Fqlen int32 11519 Flast_request_read uint32 11520 Frequest uint32 11521 Fprivate11 XPointer 11522 Fprivate12 XPointer 11523 Fprivate13 XPointer 11524 Fprivate14 XPointer 11525 Fmax_request_size uint32 11526 Fdb uintptr 11527 Fprivate15 uintptr 11528 Fdisplay_name uintptr 11529 Fdefault_screen int32 11530 Fnscreens int32 11531 Fscreens uintptr 11532 Fmotion_buffer uint32 11533 Fprivate16 uint32 11534 Fmin_keycode int32 11535 Fmax_keycode int32 11536 Fprivate17 XPointer 11537 Fprivate18 XPointer 11538 Fprivate19 int32 11539 Fxdefaults uintptr 11540 })(unsafe.Pointer(dpy)).Fdefault_screen)*80)).Fcmap 11541 if !(x11.XXParseColor(tls, dpy, colormap, spec, bp+8) != 0) { 11542 return 0 11543 } 11544 (*XRenderColor1)(unsafe.Pointer(def)).Fred = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fred 11545 (*XRenderColor1)(unsafe.Pointer(def)).Fgreen = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fgreen 11546 (*XRenderColor1)(unsafe.Pointer(def)).Fblue = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fblue 11547 (*XRenderColor1)(unsafe.Pointer(def)).Falpha = uint16(0xffff) 11548 } 11549 (*XRenderColor1)(unsafe.Pointer(def)).Fred = uint16(uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fred)*int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha)) / 0xffff) 11550 (*XRenderColor1)(unsafe.Pointer(def)).Fgreen = uint16(uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fgreen)*int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha)) / 0xffff) 11551 (*XRenderColor1)(unsafe.Pointer(def)).Fblue = uint16(uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fblue)*int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha)) / 0xffff) 11552 return 1 11553 } 11554 11555 // Xlib uses long for 32-bit values. Xrender uses int. This 11556 // matters on alpha. Note that this macro assumes that int is 32 bits 11557 // except on WORD64 machines where it is 64 bits. 11558 11559 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: */ 11560 var info uintptr = XXRenderFindDisplay(tls, dpy) 11561 var req uintptr 11562 11563 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 11564 return 11565 } 11566 11567 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11568 (*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) 11569 } 11570 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderComposite), uint32(Sz_xRenderCompositeReq)) 11571 (*XRenderCompositeReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11572 (*XRenderCompositeReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderComposite) 11573 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fop = CARD8(op) 11574 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fsrc = src 11575 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fmask = mask 11576 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fdst = dst 11577 (*XRenderCompositeReq)(unsafe.Pointer(req)).FxSrc = INT16(src_x) 11578 (*XRenderCompositeReq)(unsafe.Pointer(req)).FySrc = INT16(src_y) 11579 (*XRenderCompositeReq)(unsafe.Pointer(req)).FxMask = INT16(mask_x) 11580 (*XRenderCompositeReq)(unsafe.Pointer(req)).FyMask = INT16(mask_y) 11581 (*XRenderCompositeReq)(unsafe.Pointer(req)).FxDst = INT16(dst_x) 11582 (*XRenderCompositeReq)(unsafe.Pointer(req)).FyDst = INT16(dst_y) 11583 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fwidth = CARD16(width) 11584 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fheight = CARD16(height) 11585 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11586 (*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) 11587 } 11588 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11589 (*struct { 11590 f func(*libc.TLS, uintptr) int32 11591 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11592 } 11593 } 11594 11595 // Xlib uses long for 32-bit values. Xrender uses int. This 11596 // matters on alpha. Note that this macro assumes that int is 32 bits 11597 // except on WORD64 machines where it is 64 bits. 11598 11599 func XXRenderCreateCursor(tls *libc.TLS, dpy uintptr, source Picture, x uint32, y uint32) Cursor { /* Cursor.c:30:1: */ 11600 var info uintptr = XXRenderFindDisplay(tls, dpy) 11601 var cid Cursor 11602 var req uintptr 11603 11604 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 11605 return Cursor(0) 11606 } 11607 11608 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11609 (*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) 11610 } 11611 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateCursor), uint32(Sz_xRenderCreateCursorReq)) 11612 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11613 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateCursor) 11614 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fcid = libc.AssignUint32(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 11615 Fext_data uintptr 11616 Fprivate1 uintptr 11617 Ffd int32 11618 Fprivate2 int32 11619 Fproto_major_version int32 11620 Fproto_minor_version int32 11621 Fvendor uintptr 11622 Fprivate3 XID 11623 Fprivate4 XID 11624 Fprivate5 XID 11625 Fprivate6 int32 11626 Fresource_alloc uintptr 11627 Fbyte_order int32 11628 Fbitmap_unit int32 11629 Fbitmap_pad int32 11630 Fbitmap_bit_order int32 11631 Fnformats int32 11632 Fpixmap_format uintptr 11633 Fprivate8 int32 11634 Frelease int32 11635 Fprivate9 uintptr 11636 Fprivate10 uintptr 11637 Fqlen int32 11638 Flast_request_read uint32 11639 Frequest uint32 11640 Fprivate11 XPointer 11641 Fprivate12 XPointer 11642 Fprivate13 XPointer 11643 Fprivate14 XPointer 11644 Fmax_request_size uint32 11645 Fdb uintptr 11646 Fprivate15 uintptr 11647 Fdisplay_name uintptr 11648 Fdefault_screen int32 11649 Fnscreens int32 11650 Fscreens uintptr 11651 Fmotion_buffer uint32 11652 Fprivate16 uint32 11653 Fmin_keycode int32 11654 Fmax_keycode int32 11655 Fprivate17 XPointer 11656 Fprivate18 XPointer 11657 Fprivate19 int32 11658 Fxdefaults uintptr 11659 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)) 11660 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fsrc = source 11661 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fx = CARD16(x) 11662 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fy = CARD16(y) 11663 11664 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11665 (*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) 11666 } 11667 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11668 (*struct { 11669 f func(*libc.TLS, uintptr) int32 11670 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11671 } 11672 return cid 11673 } 11674 11675 func XXRenderCreateAnimCursor(tls *libc.TLS, dpy uintptr, ncursor int32, cursors uintptr) Cursor { /* Cursor.c:55:1: */ 11676 bp := tls.Alloc(4) 11677 defer tls.Free(4) 11678 11679 var info uintptr = XXRenderFindDisplay(tls, dpy) 11680 var cid Cursor 11681 var req uintptr 11682 var len int32 11683 11684 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 11685 return Cursor(0) 11686 } 11687 11688 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11689 (*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) 11690 } 11691 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateAnimCursor), uint32(Sz_xRenderCreateAnimCursorReq)) 11692 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11693 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateAnimCursor) 11694 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Fcid = libc.AssignUint32(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 11695 Fext_data uintptr 11696 Fprivate1 uintptr 11697 Ffd int32 11698 Fprivate2 int32 11699 Fproto_major_version int32 11700 Fproto_minor_version int32 11701 Fvendor uintptr 11702 Fprivate3 XID 11703 Fprivate4 XID 11704 Fprivate5 XID 11705 Fprivate6 int32 11706 Fresource_alloc uintptr 11707 Fbyte_order int32 11708 Fbitmap_unit int32 11709 Fbitmap_pad int32 11710 Fbitmap_bit_order int32 11711 Fnformats int32 11712 Fpixmap_format uintptr 11713 Fprivate8 int32 11714 Frelease int32 11715 Fprivate9 uintptr 11716 Fprivate10 uintptr 11717 Fqlen int32 11718 Flast_request_read uint32 11719 Frequest uint32 11720 Fprivate11 XPointer 11721 Fprivate12 XPointer 11722 Fprivate13 XPointer 11723 Fprivate14 XPointer 11724 Fmax_request_size uint32 11725 Fdb uintptr 11726 Fprivate15 uintptr 11727 Fdisplay_name uintptr 11728 Fdefault_screen int32 11729 Fnscreens int32 11730 Fscreens uintptr 11731 Fmotion_buffer uint32 11732 Fprivate16 uint32 11733 Fmin_keycode int32 11734 Fmax_keycode int32 11735 Fprivate17 XPointer 11736 Fprivate18 XPointer 11737 Fprivate19 int32 11738 Fxdefaults uintptr 11739 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)) 11740 11741 len = int32(ncursor) * Sz_xAnimCursorElt >> 2 11742 if uint32(int32((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 11743 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11744 { 11745 // var _BRdat CARD32 at bp, 4 11746 var _BRlen CARD32 = CARD32(int32((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) - 1) 11747 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength = CARD16(0) 11748 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 11749 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 11750 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 11751 { 11752 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 11753 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 11754 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 11755 } else { 11756 x11.X_XSend(tls, dpy, bp, 4) 11757 } 11758 } 11759 11760 } 11761 } else { 11762 len = len 11763 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 11764 } 11765 } else { 11766 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 11767 } 11768 len <<= 2 11769 { 11770 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 11771 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, cursors, uint32(int32(len))) 11772 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((len + 3) & libc.CplInt32(3)) 11773 } else { 11774 x11.X_XSend(tls, dpy, cursors, len) 11775 } 11776 } 11777 11778 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11779 (*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) 11780 } 11781 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11782 (*struct { 11783 f func(*libc.TLS, uintptr) int32 11784 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11785 } 11786 return cid 11787 } 11788 11789 // Xlib uses long for 32-bit values. Xrender uses int. This 11790 // matters on alpha. Note that this macro assumes that int is 32 bits 11791 // except on WORD64 machines where it is 64 bits. 11792 11793 // precompute the maximum size of batching request allowed 11794 11795 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: */ 11796 var info uintptr = XXRenderFindDisplay(tls, dpy) 11797 var rect uintptr 11798 var req uintptr 11799 11800 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 11801 return 11802 } 11803 11804 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11805 (*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) 11806 } 11807 11808 req = (*Display)(unsafe.Pointer(dpy)).Flast_req 11809 // if same as previous request, with same drawable, batch requests 11810 if int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType) == (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode && int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType) == X_RenderFillRectangles && int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop) == op && (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst == dst && int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fred) && int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fgreen) && int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fblue) && int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha) == int32((*XRenderColor1)(unsafe.Pointer(color)).Falpha) && (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xRectangle) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax && (int32((*Display)(unsafe.Pointer(dpy)).Fbufptr)-int32(req))/1 < Sz_xRenderFillRectanglesReq+FRCTSPERBATCH*Sz_xRectangle { 11811 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(int32(Sz_xRectangle) >> 2) 11812 rect = (*Display)(unsafe.Pointer(dpy)).Fbufptr 11813 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(Sz_xRectangle) 11814 } else { 11815 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), uint32(Sz_xRenderFillRectanglesReq+Sz_xRectangle)) 11816 11817 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11818 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles) 11819 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op) 11820 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = dst 11821 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred 11822 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen 11823 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue 11824 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha 11825 11826 rect = req + uintptr(1)*20 11827 } 11828 (*XRectangle1)(unsafe.Pointer(rect)).Fx = INT16(x) 11829 (*XRectangle1)(unsafe.Pointer(rect)).Fy = INT16(y) 11830 (*XRectangle1)(unsafe.Pointer(rect)).Fwidth = CARD16(width) 11831 (*XRectangle1)(unsafe.Pointer(rect)).Fheight = CARD16(height) 11832 11833 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11834 (*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) 11835 } 11836 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11837 (*struct { 11838 f func(*libc.TLS, uintptr) int32 11839 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11840 } 11841 } 11842 11843 // Xlib uses long for 32-bit values. Xrender uses int. This 11844 // matters on alpha. Note that this macro assumes that int is 32 bits 11845 // except on WORD64 machines where it is 64 bits. 11846 11847 // precompute the maximum size of batching request allowed 11848 11849 func XXRenderFillRectangles(tls *libc.TLS, dpy uintptr, op int32, dst Picture, color uintptr, rectangles uintptr, n_rects int32) { /* FillRects.c:35:1: */ 11850 bp := tls.Alloc(4) 11851 defer tls.Free(4) 11852 11853 var info uintptr = XXRenderFindDisplay(tls, dpy) 11854 var req uintptr 11855 var len int32 11856 var n int32 11857 11858 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 11859 return 11860 } 11861 11862 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11863 (*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) 11864 } 11865 11866 for n_rects != 0 { 11867 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), uint32(Sz_xRenderFillRectanglesReq)) 11868 11869 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11870 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles) 11871 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op) 11872 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = dst 11873 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred 11874 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen 11875 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue 11876 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha 11877 11878 n = n_rects 11879 len = int32(n) << 1 11880 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && uint32(len) > uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)) { 11881 n = int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)) >> 1) 11882 len = int32(n) << 1 11883 } 11884 if uint32(int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 11885 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11886 { 11887 // var _BRdat CARD32 at bp, 4 11888 var _BRlen CARD32 = CARD32(int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) - 1) 11889 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0) 11890 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 11891 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 11892 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 11893 { 11894 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 11895 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 11896 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 11897 } else { 11898 x11.X_XSend(tls, dpy, bp, 4) 11899 } 11900 } 11901 11902 } 11903 } else { 11904 len = len 11905 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 11906 } 11907 } else { 11908 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 11909 } 11910 len <<= 2 /* watch out for macros... */ 11911 { 11912 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 11913 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rectangles, uint32(int32(len))) 11914 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((len + 3) & libc.CplInt32(3)) 11915 } else { 11916 x11.X_XSend(tls, dpy, rectangles, len) 11917 } 11918 } 11919 11920 n_rects = n_rects - n 11921 rectangles += 8 * uintptr(n) 11922 } 11923 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11924 (*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) 11925 } 11926 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11927 (*struct { 11928 f func(*libc.TLS, uintptr) int32 11929 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11930 } 11931 } 11932 11933 // Xlib uses long for 32-bit values. Xrender uses int. This 11934 // matters on alpha. Note that this macro assumes that int is 32 bits 11935 // except on WORD64 machines where it is 64 bits. 11936 11937 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 11938 // 11939 // This file is part of GCC. 11940 // 11941 // GCC is free software; you can redistribute it and/or modify it under 11942 // the terms of the GNU General Public License as published by the Free 11943 // Software Foundation; either version 3, or (at your option) any later 11944 // version. 11945 // 11946 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 11947 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 11948 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 11949 // for more details. 11950 // 11951 // Under Section 7 of GPL version 3, you are granted additional 11952 // permissions described in the GCC Runtime Library Exception, version 11953 // 3.1, as published by the Free Software Foundation. 11954 // 11955 // You should have received a copy of the GNU General Public License and 11956 // a copy of the GCC Runtime Library Exception along with this program; 11957 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 11958 // <http://www.gnu.org/licenses/>. 11959 11960 // This administrivia gets added to the beginning of limits.h 11961 // if the system has its own version of limits.h. 11962 11963 // We use _GCC_LIMITS_H_ because we want this not to match 11964 // any macros that the system's limits.h uses for its own purposes. 11965 11966 // Use "..." so that we find syslimits.h only in this same directory. 11967 // syslimits.h stands for the system's own limits.h file. 11968 // If we can use it ok unmodified, then we install this text. 11969 // If fixincludes fixes it, then the fixed version is installed 11970 // instead of this text. 11971 11972 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 11973 // This file is part of the GNU C Library. 11974 // 11975 // The GNU C Library is free software; you can redistribute it and/or 11976 // modify it under the terms of the GNU Lesser General Public 11977 // License as published by the Free Software Foundation; either 11978 // version 2.1 of the License, or (at your option) any later version. 11979 // 11980 // The GNU C Library is distributed in the hope that it will be useful, 11981 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11982 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11983 // Lesser General Public License for more details. 11984 // 11985 // You should have received a copy of the GNU Lesser General Public 11986 // License along with the GNU C Library; if not, see 11987 // <https://www.gnu.org/licenses/>. 11988 11989 // ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h> 11990 11991 // Handle feature test macros at the start of a header. 11992 // Copyright (C) 2016-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 // This header is internal to glibc and should not be included outside 12010 // of glibc headers. Headers including it must define 12011 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 12012 // cannot have multiple include guards because ISO C feature test 12013 // macros depend on the definition of the macro when an affected 12014 // header is included, not when the first system header is 12015 // included. 12016 12017 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12018 // This file is part of the GNU C Library. 12019 // 12020 // The GNU C Library is free software; you can redistribute it and/or 12021 // modify it under the terms of the GNU Lesser General Public 12022 // License as published by the Free Software Foundation; either 12023 // version 2.1 of the License, or (at your option) any later version. 12024 // 12025 // The GNU C Library is distributed in the hope that it will be useful, 12026 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12027 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12028 // Lesser General Public License for more details. 12029 // 12030 // You should have received a copy of the GNU Lesser General Public 12031 // License along with the GNU C Library; if not, see 12032 // <https://www.gnu.org/licenses/>. 12033 12034 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 12035 // macro. 12036 12037 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 12038 // macro. Most but not all symbols enabled by that macro in TS 12039 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 12040 // still require that macro in C2X. 12041 12042 // ISO/IEC TS 18661-4:2015 defines the 12043 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 12044 // functions, the symbols from this TS are enabled unconditionally in 12045 // C2X. 12046 12047 // ISO/IEC TS 18661-3:2015 defines the 12048 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 12049 12050 // Maximum length of any multibyte character in any locale. 12051 // We define this value here since the gcc header does not define 12052 // the correct value. 12053 12054 // If we are not using GNU CC we have to define all the symbols ourself. 12055 // Otherwise use gcc's definitions (see below). 12056 12057 // Get the compiler's limits.h, which defines almost all the ISO constants. 12058 // 12059 // We put this #include_next outside the double inclusion check because 12060 // it should be possible to include this file more than once and still get 12061 // the definitions from gcc's header. 12062 12063 // The <limits.h> files in some gcc versions don't define LLONG_MIN, 12064 // LLONG_MAX, and ULLONG_MAX. Instead only the values gcc defined for 12065 // ages are available. 12066 12067 // The integer width macros are not defined by GCC's <limits.h> before 12068 // GCC 7, or if _GNU_SOURCE rather than 12069 // __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. 12070 12071 // POSIX adds things to <limits.h>. 12072 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12073 // This file is part of the GNU C Library. 12074 // 12075 // The GNU C Library is free software; you can redistribute it and/or 12076 // modify it under the terms of the GNU Lesser General Public 12077 // License as published by the Free Software Foundation; either 12078 // version 2.1 of the License, or (at your option) any later version. 12079 // 12080 // The GNU C Library is distributed in the hope that it will be useful, 12081 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12082 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12083 // Lesser General Public License for more details. 12084 // 12085 // You should have received a copy of the GNU Lesser General Public 12086 // License along with the GNU C Library; if not, see 12087 // <https://www.gnu.org/licenses/>. 12088 12089 // POSIX Standard: 2.9.2 Minimum Values Added to <limits.h> 12090 // 12091 // Never include this file directly; use <limits.h> instead. 12092 12093 // Copyright (C) 1999-2020 Free Software Foundation, Inc. 12094 // This file is part of the GNU C Library. 12095 // 12096 // The GNU C Library is free software; you can redistribute it and/or 12097 // modify it under the terms of the GNU Lesser General Public 12098 // License as published by the Free Software Foundation; either 12099 // version 2.1 of the License, or (at your option) any later version. 12100 // 12101 // The GNU C Library is distributed in the hope that it will be useful, 12102 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12103 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12104 // Lesser General Public License for more details. 12105 // 12106 // You should have received a copy of the GNU Lesser General Public 12107 // License along with the GNU C Library; if not, see 12108 // <https://www.gnu.org/licenses/>. 12109 12110 // These are the standard-mandated minimum values. 12111 12112 // Minimum number of operations in one list I/O call. 12113 12114 // Minimal number of outstanding asynchronous I/O operations. 12115 12116 // Maximum length of arguments to `execve', including environment. 12117 12118 // Maximum simultaneous processes per real user ID. 12119 12120 // Minimal number of timer expiration overruns. 12121 12122 // Maximum length of a host name (not including the terminating null) 12123 // as returned from the GETHOSTNAME function. 12124 12125 // Maximum link count of a file. 12126 12127 // Maximum length of login name. 12128 12129 // Number of bytes in a terminal canonical input queue. 12130 12131 // Number of bytes for which space will be 12132 // available in a terminal input queue. 12133 12134 // Maximum number of message queues open for a process. 12135 12136 // Maximum number of supported message priorities. 12137 12138 // Number of bytes in a filename. 12139 12140 // Number of simultaneous supplementary group IDs per process. 12141 12142 // Number of files one process can have open at once. 12143 12144 // Number of bytes in a pathname. 12145 12146 // Number of bytes than can be written atomically to a pipe. 12147 12148 // The number of repeated occurrences of a BRE permitted by the 12149 // REGEXEC and REGCOMP functions when using the interval notation. 12150 12151 // Minimal number of realtime signals reserved for the application. 12152 12153 // Number of semaphores a process can have. 12154 12155 // Maximal value of a semaphore. 12156 12157 // Number of pending realtime signals. 12158 12159 // Largest value of a `ssize_t'. 12160 12161 // Number of streams a process can have open at once. 12162 12163 // The number of bytes in a symbolic link. 12164 12165 // The number of symbolic links that can be traversed in the 12166 // resolution of a pathname in the absence of a loop. 12167 12168 // Number of timer for a process. 12169 12170 // Maximum number of characters in a tty name. 12171 12172 // Maximum length of a timezone name (element of `tzname'). 12173 12174 // Maximum clock resolution in nanoseconds. 12175 12176 // Get the implementation-specific values for the above. 12177 // Minimum guaranteed maximum values for system limits. Linux version. 12178 // Copyright (C) 1993-2020 Free Software Foundation, Inc. 12179 // This file is part of the GNU C Library. 12180 // 12181 // The GNU C Library is free software; you can redistribute it and/or 12182 // modify it under the terms of the GNU Lesser General Public License as 12183 // published by the Free Software Foundation; either version 2.1 of the 12184 // License, or (at your option) any later version. 12185 // 12186 // The GNU C Library is distributed in the hope that it will be useful, 12187 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12188 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12189 // Lesser General Public License for more details. 12190 // 12191 // You should have received a copy of the GNU Lesser General Public 12192 // License along with the GNU C Library; see the file COPYING.LIB. If 12193 // not, see <https://www.gnu.org/licenses/>. 12194 12195 // The kernel header pollutes the namespace with the NR_OPEN symbol 12196 // and defines LINK_MAX although filesystems have different maxima. A 12197 // similar thing is true for OPEN_MAX: the limit can be changed at 12198 // runtime and therefore the macro must not be defined. Remove this 12199 // after including the header if necessary. 12200 12201 // The kernel sources contain a file with all the needed information. 12202 // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note 12203 12204 // Have to remove NR_OPEN? 12205 // Have to remove LINK_MAX? 12206 // Have to remove OPEN_MAX? 12207 // Have to remove ARG_MAX? 12208 12209 // The number of data keys per process. 12210 // This is the value this implementation supports. 12211 12212 // Controlling the iterations of destructors for thread-specific data. 12213 // Number of iterations this implementation does. 12214 12215 // The number of threads per process. 12216 // We have no predefined limit on the number of threads. 12217 12218 // Maximum amount by which a process can descrease its asynchronous I/O 12219 // priority level. 12220 12221 // Minimum size for a thread. We are free to choose a reasonable value. 12222 12223 // Maximum number of timer expiration overruns. 12224 12225 // Maximum tty name length. 12226 12227 // Maximum login name length. This is arbitrary. 12228 12229 // Maximum host name length. 12230 12231 // Maximum message queue priority level. 12232 12233 // Maximum value the semaphore can have. 12234 12235 // ssize_t is not formally required to be the signed type 12236 // corresponding to size_t, but it is for all configurations supported 12237 // by glibc. 12238 12239 // This value is a guaranteed minimum maximum. 12240 // The current maximum can be got from `sysconf'. 12241 12242 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12243 // This file is part of the GNU C Library. 12244 // 12245 // The GNU C Library is free software; you can redistribute it and/or 12246 // modify it under the terms of the GNU Lesser General Public 12247 // License as published by the Free Software Foundation; either 12248 // version 2.1 of the License, or (at your option) any later version. 12249 // 12250 // The GNU C Library is distributed in the hope that it will be useful, 12251 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12252 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12253 // Lesser General Public License for more details. 12254 // 12255 // You should have received a copy of the GNU Lesser General Public 12256 // License along with the GNU C Library; if not, see 12257 // <https://www.gnu.org/licenses/>. 12258 12259 // Never include this file directly; include <limits.h> instead. 12260 12261 // The maximum `ibase' and `obase' values allowed by the `bc' utility. 12262 12263 // The maximum number of elements allowed in an array by the `bc' utility. 12264 12265 // The maximum `scale' value allowed by the `bc' utility. 12266 12267 // The maximum length of a string constant accepted by the `bc' utility. 12268 12269 // The maximum number of weights that can be assigned to an entry of 12270 // the LC_COLLATE `order' keyword in the locale definition file. 12271 12272 // The maximum number of expressions that can be nested 12273 // within parentheses by the `expr' utility. 12274 12275 // The maximum length, in bytes, of an input line. 12276 12277 // The maximum number of repeated occurrences of a regular expression 12278 // permitted when using the interval notation `\{M,N\}'. 12279 12280 // The maximum number of bytes in a character class name. We have no 12281 // fixed limit, 2048 is a high number. 12282 12283 // These values are implementation-specific, 12284 // and may vary within the implementation. 12285 // Their precise values can be obtained from sysconf. 12286 12287 // This value is defined like this in regex.h. 12288 12289 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12290 // 12291 // This file is part of GCC. 12292 // 12293 // GCC is free software; you can redistribute it and/or modify it under 12294 // the terms of the GNU General Public License as published by the Free 12295 // Software Foundation; either version 3, or (at your option) any later 12296 // version. 12297 // 12298 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12299 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 12300 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12301 // for more details. 12302 // 12303 // Under Section 7 of GPL version 3, you are granted additional 12304 // permissions described in the GCC Runtime Library Exception, version 12305 // 3.1, as published by the Free Software Foundation. 12306 // 12307 // You should have received a copy of the GNU General Public License and 12308 // a copy of the GCC Runtime Library Exception along with this program; 12309 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 12310 // <http://www.gnu.org/licenses/>. 12311 12312 // Number of bits in a `char'. 12313 12314 // Maximum length of a multibyte character. 12315 12316 // Minimum and maximum values a `signed char' can hold. 12317 12318 // Maximum value an `unsigned char' can hold. (Minimum is 0). 12319 12320 // Minimum and maximum values a `char' can hold. 12321 12322 // Minimum and maximum values a `signed short int' can hold. 12323 12324 // Maximum value an `unsigned short int' can hold. (Minimum is 0). 12325 12326 // Minimum and maximum values a `signed int' can hold. 12327 12328 // Maximum value an `unsigned int' can hold. (Minimum is 0). 12329 12330 // Minimum and maximum values a `signed long int' can hold. 12331 // (Same as `int'). 12332 12333 // Maximum value an `unsigned long int' can hold. (Minimum is 0). 12334 12335 // Minimum and maximum values a `signed long long int' can hold. 12336 12337 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 12338 12339 // This administrivia gets added to the end of limits.h 12340 // if the system has its own version of limits.h. 12341 12342 func XXRenderQueryFilters(tls *libc.TLS, dpy uintptr, drawable Drawable) uintptr { /* Filter.c:30:10: */ 12343 bp := tls.Alloc(33) 12344 defer tls.Free(33) 12345 12346 var info uintptr = XXRenderFindDisplay(tls, dpy) 12347 var xri uintptr 12348 var req uintptr 12349 // var rep XRenderQueryFiltersReply at bp, 32 12350 12351 var filters uintptr 12352 var name uintptr 12353 // var len uint8 at bp+32, 1 12354 12355 var i int32 12356 var nbytes uint32 12357 var nbytesAlias uint32 12358 var nbytesName uint32 12359 var reply_left uint32 12360 12361 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12362 return uintptr(0) 12363 } 12364 12365 if !(XXRenderQueryFormats(tls, dpy) != 0) { 12366 return uintptr(0) 12367 } 12368 12369 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 12370 if (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version < 6 { 12371 return uintptr(0) 12372 } 12373 12374 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12375 (*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) 12376 } 12377 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryFilters), uint32(Sz_xRenderQueryFiltersReq)) 12378 (*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12379 (*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryFilters) 12380 (*XRenderQueryFiltersReq)(unsafe.Pointer(req)).Fdrawable = drawable 12381 if !(x11.X_XReply(tls, dpy, bp, 0, XFalse) != 0) { 12382 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12383 (*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) 12384 } 12385 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12386 (*struct { 12387 f func(*libc.TLS, uintptr) int32 12388 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12389 } 12390 return uintptr(0) 12391 } 12392 12393 // Limit each component of combined size to 1/4 the max, which is far 12394 // more than they should ever possibly need. 12395 if (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).Flength < CARD32(int32(0x7fffffff)>>2) && (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumFilters < uint32(0x7fffffff/4)/uint32(unsafe.Sizeof(uintptr(0))) && (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases < uint32(0x7fffffff/4)/uint32(unsafe.Sizeof(int16(0))) { 12396 // Compute total number of bytes for filter names 12397 nbytes = (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).Flength << 2 12398 nbytesAlias = (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases * CARD32(2) 12399 if (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases&CARD32(1) != 0 { 12400 nbytesAlias = nbytesAlias + uint32(2) 12401 } 12402 nbytesName = nbytes - nbytesAlias 12403 12404 // Allocate one giant block for the whole data structure 12405 filters = libc.Xmalloc(tls, func() uint32 { 12406 if CARD32(unsafe.Sizeof(XFilters{}))+(*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumFilters*CARD32(unsafe.Sizeof(uintptr(0)))+(*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases*CARD32(unsafe.Sizeof(int16(0)))+nbytesName == CARD32(0) { 12407 return uint32(1) 12408 } 12409 return uint32(CARD32(unsafe.Sizeof(XFilters{})) + (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumFilters*CARD32(unsafe.Sizeof(uintptr(0))) + (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases*CARD32(unsafe.Sizeof(int16(0))) + nbytesName) 12410 }()) 12411 } else { 12412 filters = uintptr(0) 12413 } 12414 12415 if !(filters != 0) { 12416 x11.X_XEatDataWords(tls, dpy, (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength) 12417 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12418 (*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) 12419 } 12420 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12421 (*struct { 12422 f func(*libc.TLS, uintptr) int32 12423 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12424 } 12425 return uintptr(0) 12426 } 12427 12428 // Layout: 12429 // XFilters 12430 // numFilters char * pointers to filter names 12431 // numAliases short alias values 12432 // nbytesName char strings 12433 12434 (*XFilters)(unsafe.Pointer(filters)).Fnfilter = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters) 12435 (*XFilters)(unsafe.Pointer(filters)).Fnalias = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases) 12436 (*XFilters)(unsafe.Pointer(filters)).Ffilter = filters + uintptr(1)*16 12437 (*XFilters)(unsafe.Pointer(filters)).Falias = (*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumFilters)*4 12438 name = (*XFilters)(unsafe.Pointer(filters)).Falias + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)*2 12439 12440 // Read the filter aliases 12441 x11.X_XReadPad(tls, dpy, (*XFilters)(unsafe.Pointer(filters)).Falias, int32(CARD32(2)*(*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)) 12442 reply_left = CARD32(8) + (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).Flength - CARD32(2)*(*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases 12443 12444 // Read the filter names 12445 for i = 0; CARD32(i) < (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters; i++ { 12446 var l int32 12447 x11.X_XRead(tls, dpy, bp+32, 1) 12448 reply_left-- 12449 l = int32(*(*uint8)(unsafe.Pointer(bp + 32))) & 0xff 12450 if uint32(l)+uint32(1) > nbytesName { 12451 x11.X_XEatDataWords(tls, dpy, reply_left) 12452 libc.Xfree(tls, filters) 12453 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12454 (*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) 12455 } 12456 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12457 (*struct { 12458 f func(*libc.TLS, uintptr) int32 12459 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12460 } 12461 return uintptr(0) 12462 } 12463 nbytesName = nbytesName - uint32(l+1) 12464 *(*uintptr)(unsafe.Pointer((*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr(i)*4)) = name 12465 x11.X_XRead(tls, dpy, name, int32(l)) 12466 reply_left = reply_left - uint32(l) 12467 *(*uint8)(unsafe.Pointer(name + uintptr(l))) = uint8(0) 12468 name += uintptr(l + 1) 12469 } 12470 i = (int32(name) - int32((*XFilters)(unsafe.Pointer(filters)).Falias+uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)*2)) / 1 12471 12472 if i&3 != 0 { 12473 x11.X_XEatData(tls, dpy, uint32(4-i&3)) 12474 } 12475 12476 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12477 (*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) 12478 } 12479 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12480 (*struct { 12481 f func(*libc.TLS, uintptr) int32 12482 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12483 } 12484 return filters 12485 } 12486 12487 func XXRenderSetPictureFilter(tls *libc.TLS, dpy uintptr, picture Picture, filter uintptr, params uintptr, nparams int32) { /* Filter.c:153:1: */ 12488 var info uintptr = XXRenderFindDisplay(tls, dpy) 12489 var req uintptr 12490 var nbytes int32 = int32(libc.Xstrlen(tls, filter)) 12491 12492 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12493 return 12494 } 12495 12496 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12497 (*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) 12498 } 12499 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureFilter), uint32(Sz_xRenderSetPictureFilterReq)) 12500 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12501 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureFilter) 12502 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fpicture = picture 12503 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fnbytes = CARD16(nbytes) 12504 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16((nbytes+3)>>2 + nparams) 12505 { 12506 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12507 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, filter, uint32(nbytes)) 12508 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((nbytes + 3) & libc.CplInt32(3)) 12509 } else { 12510 x11.X_XSend(tls, dpy, filter, int32(nbytes)) 12511 } 12512 } 12513 12514 { 12515 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nparams<<2) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12516 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, params, uint32(nparams<<2)) 12517 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((nparams<<2 + 3) & libc.CplInt32(3)) 12518 } else { 12519 x11.X_XSend(tls, dpy, params, int32(nparams<<2)) 12520 } 12521 } 12522 12523 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12524 (*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) 12525 } 12526 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12527 (*struct { 12528 f func(*libc.TLS, uintptr) int32 12529 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12530 } 12531 } 12532 12533 // Xlib uses long for 32-bit values. Xrender uses int. This 12534 // matters on alpha. Note that this macro assumes that int is 32 bits 12535 // except on WORD64 machines where it is 64 bits. 12536 12537 func XXRenderCreateGlyphSet(tls *libc.TLS, dpy uintptr, format uintptr) GlyphSet { /* Glyph.c:31:1: */ 12538 var info uintptr = XXRenderFindDisplay(tls, dpy) 12539 var gsid GlyphSet 12540 var req uintptr 12541 12542 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12543 return GlyphSet(0) 12544 } 12545 12546 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12547 (*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) 12548 } 12549 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateGlyphSet), uint32(Sz_xRenderCreateGlyphSetReq)) 12550 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12551 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateGlyphSet) 12552 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fgsid = libc.AssignUint32(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 12553 Fext_data uintptr 12554 Fprivate1 uintptr 12555 Ffd int32 12556 Fprivate2 int32 12557 Fproto_major_version int32 12558 Fproto_minor_version int32 12559 Fvendor uintptr 12560 Fprivate3 XID 12561 Fprivate4 XID 12562 Fprivate5 XID 12563 Fprivate6 int32 12564 Fresource_alloc uintptr 12565 Fbyte_order int32 12566 Fbitmap_unit int32 12567 Fbitmap_pad int32 12568 Fbitmap_bit_order int32 12569 Fnformats int32 12570 Fpixmap_format uintptr 12571 Fprivate8 int32 12572 Frelease int32 12573 Fprivate9 uintptr 12574 Fprivate10 uintptr 12575 Fqlen int32 12576 Flast_request_read uint32 12577 Frequest uint32 12578 Fprivate11 XPointer 12579 Fprivate12 XPointer 12580 Fprivate13 XPointer 12581 Fprivate14 XPointer 12582 Fmax_request_size uint32 12583 Fdb uintptr 12584 Fprivate15 uintptr 12585 Fdisplay_name uintptr 12586 Fdefault_screen int32 12587 Fnscreens int32 12588 Fscreens uintptr 12589 Fmotion_buffer uint32 12590 Fprivate16 uint32 12591 Fmin_keycode int32 12592 Fmax_keycode int32 12593 Fprivate17 XPointer 12594 Fprivate18 XPointer 12595 Fprivate19 int32 12596 Fxdefaults uintptr 12597 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)) 12598 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fformat = (*XRenderPictFormat)(unsafe.Pointer(format)).Fid 12599 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12600 (*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) 12601 } 12602 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12603 (*struct { 12604 f func(*libc.TLS, uintptr) int32 12605 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12606 } 12607 return gsid 12608 } 12609 12610 func XXRenderReferenceGlyphSet(tls *libc.TLS, dpy uintptr, existing GlyphSet) GlyphSet { /* Glyph.c:50:1: */ 12611 var info uintptr = XXRenderFindDisplay(tls, dpy) 12612 var gsid GlyphSet 12613 var req uintptr 12614 12615 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12616 return GlyphSet(0) 12617 } 12618 12619 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12620 (*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) 12621 } 12622 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderReferenceGlyphSet), uint32(Sz_xRenderReferenceGlyphSetReq)) 12623 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12624 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderReferenceGlyphSet) 12625 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fgsid = libc.AssignUint32(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 12626 Fext_data uintptr 12627 Fprivate1 uintptr 12628 Ffd int32 12629 Fprivate2 int32 12630 Fproto_major_version int32 12631 Fproto_minor_version int32 12632 Fvendor uintptr 12633 Fprivate3 XID 12634 Fprivate4 XID 12635 Fprivate5 XID 12636 Fprivate6 int32 12637 Fresource_alloc uintptr 12638 Fbyte_order int32 12639 Fbitmap_unit int32 12640 Fbitmap_pad int32 12641 Fbitmap_bit_order int32 12642 Fnformats int32 12643 Fpixmap_format uintptr 12644 Fprivate8 int32 12645 Frelease int32 12646 Fprivate9 uintptr 12647 Fprivate10 uintptr 12648 Fqlen int32 12649 Flast_request_read uint32 12650 Frequest uint32 12651 Fprivate11 XPointer 12652 Fprivate12 XPointer 12653 Fprivate13 XPointer 12654 Fprivate14 XPointer 12655 Fmax_request_size uint32 12656 Fdb uintptr 12657 Fprivate15 uintptr 12658 Fdisplay_name uintptr 12659 Fdefault_screen int32 12660 Fnscreens int32 12661 Fscreens uintptr 12662 Fmotion_buffer uint32 12663 Fprivate16 uint32 12664 Fmin_keycode int32 12665 Fmax_keycode int32 12666 Fprivate17 XPointer 12667 Fprivate18 XPointer 12668 Fprivate19 int32 12669 Fxdefaults uintptr 12670 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)) 12671 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fexisting = existing 12672 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12673 (*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) 12674 } 12675 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12676 (*struct { 12677 f func(*libc.TLS, uintptr) int32 12678 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12679 } 12680 return gsid 12681 } 12682 12683 func XXRenderFreeGlyphSet(tls *libc.TLS, dpy uintptr, glyphset GlyphSet) { /* Glyph.c:69:1: */ 12684 var info uintptr = XXRenderFindDisplay(tls, dpy) 12685 var req uintptr 12686 12687 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12688 return 12689 } 12690 12691 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12692 (*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) 12693 } 12694 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphSet), uint32(Sz_xRenderFreeGlyphSetReq)) 12695 (*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12696 (*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphSet) 12697 (*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).Fglyphset = glyphset 12698 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12699 (*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) 12700 } 12701 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12702 (*struct { 12703 f func(*libc.TLS, uintptr) int32 12704 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12705 } 12706 } 12707 12708 func XXRenderAddGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, glyphs uintptr, nglyphs int32, images uintptr, nbyte_images int32) { /* Glyph.c:85:1: */ 12709 bp := tls.Alloc(4) 12710 defer tls.Free(4) 12711 12712 var info uintptr = XXRenderFindDisplay(tls, dpy) 12713 var req uintptr 12714 var len int32 12715 12716 if nbyte_images&3 != 0 { 12717 nbyte_images = nbyte_images + (4 - nbyte_images&3) 12718 } 12719 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12720 return 12721 } 12722 12723 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12724 (*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) 12725 } 12726 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddGlyphs), uint32(Sz_xRenderAddGlyphsReq)) 12727 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12728 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddGlyphs) 12729 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fglyphset = glyphset 12730 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fnglyphs = CARD32(nglyphs) 12731 len = int32((nglyphs*(Sz_xGlyphInfo+4) + nbyte_images) >> 2) 12732 if uint32(int32((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 12733 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 12734 { 12735 // var _BRdat CARD32 at bp, 4 12736 var _BRlen CARD32 = CARD32(int32((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) - 1) 12737 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 12738 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 12739 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 12740 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 12741 { 12742 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12743 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 12744 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 12745 } else { 12746 x11.X_XSend(tls, dpy, bp, 4) 12747 } 12748 } 12749 12750 } 12751 } else { 12752 len = len 12753 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 12754 } 12755 } else { 12756 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 12757 } 12758 { 12759 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nglyphs*4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12760 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, gids, uint32(nglyphs*4)) 12761 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((nglyphs*4 + 3) & libc.CplInt32(3)) 12762 } else { 12763 x11.X_XSend(tls, dpy, gids, int32(nglyphs*4)) 12764 } 12765 } 12766 12767 { 12768 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nglyphs*Sz_xGlyphInfo) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12769 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, glyphs, uint32(nglyphs*Sz_xGlyphInfo)) 12770 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((nglyphs*Sz_xGlyphInfo + 3) & libc.CplInt32(3)) 12771 } else { 12772 x11.X_XSend(tls, dpy, glyphs, int32(nglyphs*Sz_xGlyphInfo)) 12773 } 12774 } 12775 12776 { 12777 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbyte_images) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12778 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, images, uint32(nbyte_images)) 12779 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((nbyte_images + 3) & libc.CplInt32(3)) 12780 } else { 12781 x11.X_XSend(tls, dpy, images, int32(nbyte_images)) 12782 } 12783 } 12784 12785 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12786 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 12787 } 12788 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12789 (*struct { 12790 f func(*libc.TLS, uintptr) int32 12791 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12792 } 12793 } 12794 12795 func XXRenderFreeGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, nglyphs int32) { /* Glyph.c:116:1: */ 12796 bp := tls.Alloc(4) 12797 defer tls.Free(4) 12798 12799 var info uintptr = XXRenderFindDisplay(tls, dpy) 12800 var req uintptr 12801 var len int32 12802 12803 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12804 return 12805 } 12806 12807 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12808 (*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) 12809 } 12810 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphs), uint32(Sz_xRenderFreeGlyphsReq)) 12811 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12812 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphs) 12813 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Fglyphset = glyphset 12814 len = int32(nglyphs) 12815 if uint32(int32((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 12816 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 12817 { 12818 // var _BRdat CARD32 at bp, 4 12819 var _BRlen CARD32 = CARD32(int32((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) - 1) 12820 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 12821 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 12822 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 12823 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 12824 { 12825 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12826 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 12827 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 12828 } else { 12829 x11.X_XSend(tls, dpy, bp, 4) 12830 } 12831 } 12832 12833 } 12834 } else { 12835 len = len 12836 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 12837 } 12838 } else { 12839 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 12840 } 12841 len <<= 2 12842 { 12843 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12844 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, gids, uint32(int32(len))) 12845 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((len + 3) & libc.CplInt32(3)) 12846 } else { 12847 x11.X_XSend(tls, dpy, gids, len) 12848 } 12849 } 12850 12851 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12852 (*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) 12853 } 12854 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12855 (*struct { 12856 f func(*libc.TLS, uintptr) int32 12857 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12858 } 12859 } 12860 12861 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: */ 12862 var info uintptr = XXRenderFindDisplay(tls, dpy) 12863 var req uintptr 12864 var len int32 12865 var elt uintptr 12866 var nbytes int32 12867 12868 if !(nchar != 0) { 12869 return 12870 } 12871 12872 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12873 return 12874 } 12875 12876 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12877 (*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) 12878 } 12879 12880 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint32(Sz_xRenderCompositeGlyphs8Req)) 12881 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12882 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8) 12883 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 12884 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src 12885 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst 12886 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 12887 if maskFormat != 0 { 12888 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 12889 } 12890 return uint32(None) 12891 }() 12892 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = glyphset 12893 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 12894 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 12895 12896 // xGlyphElt must be aligned on a 32-bit boundary; this is 12897 // easily done by filling no more than 252 glyphs in each 12898 // bucket 12899 12900 len = int32(Sz_xGlyphElt*((nchar+252-1)/252) + nchar) 12901 12902 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16((len + 3) >> 2) // convert to number of 32-bit words 12903 12904 // If the entire request does not fit into the remaining space in the 12905 // buffer, flush the buffer first. 12906 12907 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12908 x11.X_XFlush(tls, dpy) 12909 } 12910 12911 for nchar > 252 { 12912 nbytes = 252 + Sz_xGlyphElt 12913 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12914 x11.X_XFlush(tls, dpy) 12915 } 12916 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 12917 libc.Xmemset(tls, elt, 0, uint32(nbytes)) 12918 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(nbytes) 12919 12920 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(252) 12921 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 12922 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 12923 xDst = 0 12924 yDst = 0 12925 libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint32(252)) 12926 nchar = nchar - 252 12927 string += uintptr(252) 12928 } 12929 12930 if nchar != 0 { 12931 nbytes = (nchar + Sz_xGlyphElt + 3) & libc.CplInt32(3) 12932 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12933 x11.X_XFlush(tls, dpy) 12934 } 12935 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 12936 libc.Xmemset(tls, elt, 0, uint32(nbytes)) 12937 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(nbytes) 12938 12939 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar) 12940 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 12941 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 12942 libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint32(nchar)) 12943 } 12944 12945 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12946 (*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) 12947 } 12948 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12949 (*struct { 12950 f func(*libc.TLS, uintptr) int32 12951 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12952 } 12953 } 12954 12955 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: */ 12956 var info uintptr = XXRenderFindDisplay(tls, dpy) 12957 var req uintptr 12958 var len int32 12959 var elt uintptr 12960 var nbytes int32 12961 12962 if !(nchar != 0) { 12963 return 12964 } 12965 12966 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12967 return 12968 } 12969 12970 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12971 (*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) 12972 } 12973 12974 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint32(Sz_xRenderCompositeGlyphs16Req)) 12975 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12976 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16) 12977 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 12978 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src 12979 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst 12980 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 12981 if maskFormat != 0 { 12982 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 12983 } 12984 return uint32(None) 12985 }() 12986 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = glyphset 12987 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 12988 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 12989 12990 len = int32(Sz_xGlyphElt*((nchar+254-1)/254) + nchar*2) 12991 12992 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16((len + 3) >> 2) // convert to number of 32-bit words 12993 12994 // If the entire request does not fit into the remaining space in the 12995 // buffer, flush the buffer first. 12996 12997 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12998 x11.X_XFlush(tls, dpy) 12999 } 13000 13001 for nchar > 254 { 13002 nbytes = 254*2 + Sz_xGlyphElt 13003 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13004 x11.X_XFlush(tls, dpy) 13005 } 13006 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13007 libc.Xmemset(tls, elt, 0, uint32(nbytes)) 13008 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(nbytes) 13009 13010 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254) 13011 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13012 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13013 xDst = 0 13014 yDst = 0 13015 libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint32(254*2)) 13016 nchar = nchar - 254 13017 string += 2 * uintptr(254) 13018 } 13019 13020 if nchar != 0 { 13021 nbytes = (nchar*2 + Sz_xGlyphElt + 3) & libc.CplInt32(3) 13022 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13023 x11.X_XFlush(tls, dpy) 13024 } 13025 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13026 libc.Xmemset(tls, elt, 0, uint32(nbytes)) 13027 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(nbytes) 13028 13029 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar) 13030 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13031 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13032 libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint32(nchar*2)) 13033 } 13034 13035 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13036 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 13037 } 13038 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13039 (*struct { 13040 f func(*libc.TLS, uintptr) int32 13041 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13042 } 13043 } 13044 13045 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: */ 13046 var info uintptr = XXRenderFindDisplay(tls, dpy) 13047 var req uintptr 13048 var len int32 13049 var elt uintptr 13050 var nbytes int32 13051 13052 if !(nchar != 0) { 13053 return 13054 } 13055 13056 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13057 return 13058 } 13059 13060 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13061 (*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) 13062 } 13063 13064 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint32(Sz_xRenderCompositeGlyphs32Req)) 13065 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13066 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32) 13067 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13068 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src 13069 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst 13070 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13071 if maskFormat != 0 { 13072 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 13073 } 13074 return uint32(None) 13075 }() 13076 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = glyphset 13077 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13078 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13079 13080 len = int32(Sz_xGlyphElt*((nchar+254-1)/254) + nchar*4) 13081 13082 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16((len + 3) >> 2) // convert to number of 32-bit words 13083 13084 // If the entire request does not fit into the remaining space in the 13085 // buffer, flush the buffer first. 13086 13087 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13088 x11.X_XFlush(tls, dpy) 13089 } 13090 13091 for nchar > 254 { 13092 nbytes = 254*4 + Sz_xGlyphElt 13093 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13094 x11.X_XFlush(tls, dpy) 13095 } 13096 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13097 libc.Xmemset(tls, elt, 0, uint32(nbytes)) 13098 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(nbytes) 13099 13100 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254) 13101 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13102 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13103 xDst = 0 13104 yDst = 0 13105 libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint32(254*4)) 13106 nchar = nchar - 254 13107 string += 4 * uintptr(254) 13108 } 13109 13110 if nchar != 0 { 13111 nbytes = nchar*4 + Sz_xGlyphElt 13112 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13113 x11.X_XFlush(tls, dpy) 13114 } 13115 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13116 libc.Xmemset(tls, elt, 0, uint32(nbytes)) 13117 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(nbytes) 13118 13119 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar) 13120 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13121 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13122 libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint32(nchar*4)) 13123 } 13124 13125 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13126 (*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) 13127 } 13128 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13129 (*struct { 13130 f func(*libc.TLS, uintptr) int32 13131 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13132 } 13133 } 13134 13135 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: */ 13136 bp := tls.Alloc(4) 13137 defer tls.Free(4) 13138 13139 var info uintptr = XXRenderFindDisplay(tls, dpy) 13140 var req uintptr 13141 // var glyphset GlyphSet at bp, 4 13142 13143 var len int32 13144 var elen int32 13145 var elt uintptr 13146 var i int32 13147 var chars uintptr 13148 var nchars int32 13149 13150 if !(nelt != 0) { 13151 return 13152 } 13153 13154 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13155 return 13156 } 13157 13158 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13159 (*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) 13160 } 13161 13162 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint32(Sz_xRenderCompositeGlyphs8Req)) 13163 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13164 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8) 13165 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13166 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src 13167 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst 13168 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13169 if maskFormat != 0 { 13170 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 13171 } 13172 return uint32(None) 13173 }() 13174 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset 13175 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13176 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13177 13178 // Compute the space necessary 13179 len = 0 13180 13181 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset 13182 for i = 0; i < nelt; i++ { 13183 // Check for glyphset change 13184 if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) { 13185 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset 13186 len = len + int32(Sz_xGlyphElt+4)>>2 13187 } 13188 nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars 13189 // xGlyphElt must be aligned on a 32-bit boundary; this is 13190 // easily done by filling no more than 252 glyphs in each 13191 // bucket 13192 elen = int32(Sz_xGlyphElt*((nchars+252-1)/252) + nchars) 13193 len = len + (elen+3)>>2 13194 } 13195 13196 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 13197 13198 // Send the glyphs 13199 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset 13200 for i = 0; i < nelt; i++ { 13201 // Switch glyphsets 13202 if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) { 13203 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset 13204 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13205 x11.X_XFlush(tls, dpy) 13206 } 13207 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13208 libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt)) 13209 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(Sz_xGlyphElt) 13210 13211 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff) 13212 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0) 13213 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0) 13214 { 13215 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13216 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 13217 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 13218 } else { 13219 x11.X_XSend(tls, dpy, bp, 4) 13220 } 13221 } 13222 13223 } 13224 nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars 13225 xDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).FxOff 13226 yDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).FyOff 13227 chars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fchars 13228 for nchars != 0 { 13229 var this_chars int32 13230 if nchars > 252 { 13231 this_chars = 252 13232 } else { 13233 this_chars = nchars 13234 } 13235 13236 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13237 x11.X_XFlush(tls, dpy) 13238 } 13239 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13240 libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt)) 13241 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(Sz_xGlyphElt) 13242 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars) 13243 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13244 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13245 xDst = 0 13246 yDst = 0 13247 { 13248 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(this_chars) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13249 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint32(this_chars)) 13250 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((this_chars + 3) & libc.CplInt32(3)) 13251 } else { 13252 x11.X_XSend(tls, dpy, chars, int32(this_chars)) 13253 } 13254 } 13255 13256 nchars = nchars - this_chars 13257 chars += uintptr(this_chars) 13258 } 13259 } 13260 13261 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13262 (*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) 13263 } 13264 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13265 (*struct { 13266 f func(*libc.TLS, uintptr) int32 13267 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13268 } 13269 } 13270 13271 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: */ 13272 bp := tls.Alloc(4) 13273 defer tls.Free(4) 13274 13275 var info uintptr = XXRenderFindDisplay(tls, dpy) 13276 var req uintptr 13277 // var glyphset GlyphSet at bp, 4 13278 13279 var len int32 13280 var elen int32 13281 var elt uintptr 13282 var i int32 13283 var chars uintptr 13284 var nchars int32 13285 13286 if !(nelt != 0) { 13287 return 13288 } 13289 13290 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13291 return 13292 } 13293 13294 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13295 (*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) 13296 } 13297 13298 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint32(Sz_xRenderCompositeGlyphs16Req)) 13299 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13300 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16) 13301 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13302 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fsrc = src 13303 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fdst = dst 13304 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13305 if maskFormat != 0 { 13306 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 13307 } 13308 return uint32(None) 13309 }() 13310 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fglyphset = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset 13311 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13312 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13313 13314 // Compute the space necessary 13315 len = 0 13316 13317 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset 13318 for i = 0; i < nelt; i++ { 13319 // Check for glyphset change 13320 if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) { 13321 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset 13322 len = len + int32(Sz_xGlyphElt+4)>>2 13323 } 13324 nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars 13325 // xGlyphElt must be aligned on a 32-bit boundary; this is 13326 // easily done by filling no more than 254 glyphs in each 13327 // bucket 13328 elen = int32(Sz_xGlyphElt*((nchars+254-1)/254) + nchars*2) 13329 len = len + (elen+3)>>2 13330 } 13331 13332 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 13333 13334 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset 13335 for i = 0; i < nelt; i++ { 13336 // Switch glyphsets 13337 if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) { 13338 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset 13339 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13340 x11.X_XFlush(tls, dpy) 13341 } 13342 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13343 libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt)) 13344 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(Sz_xGlyphElt) 13345 13346 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff) 13347 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0) 13348 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0) 13349 { 13350 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13351 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 13352 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 13353 } else { 13354 x11.X_XSend(tls, dpy, bp, 4) 13355 } 13356 } 13357 13358 } 13359 nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars 13360 xDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).FxOff 13361 yDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).FyOff 13362 chars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fchars 13363 for nchars != 0 { 13364 var this_chars int32 13365 if nchars > 254 { 13366 this_chars = 254 13367 } else { 13368 this_chars = nchars 13369 } 13370 var this_bytes int32 = this_chars * 2 13371 13372 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13373 x11.X_XFlush(tls, dpy) 13374 } 13375 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13376 libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt)) 13377 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(Sz_xGlyphElt) 13378 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars) 13379 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13380 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13381 xDst = 0 13382 yDst = 0 13383 { 13384 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(this_bytes) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13385 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint32(this_bytes)) 13386 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((this_bytes + 3) & libc.CplInt32(3)) 13387 } else { 13388 x11.X_XSend(tls, dpy, chars, int32(this_bytes)) 13389 } 13390 } 13391 13392 nchars = nchars - this_chars 13393 chars += 2 * uintptr(this_chars) 13394 } 13395 } 13396 13397 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13398 (*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) 13399 } 13400 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13401 (*struct { 13402 f func(*libc.TLS, uintptr) int32 13403 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13404 } 13405 } 13406 13407 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: */ 13408 bp := tls.Alloc(4) 13409 defer tls.Free(4) 13410 13411 var info uintptr = XXRenderFindDisplay(tls, dpy) 13412 var req uintptr 13413 // var glyphset GlyphSet at bp, 4 13414 13415 var len int32 13416 var elen int32 13417 var elt uintptr 13418 var i int32 13419 var chars uintptr 13420 var nchars int32 13421 13422 if !(nelt != 0) { 13423 return 13424 } 13425 13426 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13427 return 13428 } 13429 13430 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13431 (*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) 13432 } 13433 13434 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint32(Sz_xRenderCompositeGlyphs32Req)) 13435 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13436 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32) 13437 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13438 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fsrc = src 13439 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fdst = dst 13440 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13441 if maskFormat != 0 { 13442 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 13443 } 13444 return uint32(None) 13445 }() 13446 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fglyphset = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset 13447 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13448 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13449 13450 // Compute the space necessary 13451 len = 0 13452 13453 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset 13454 for i = 0; i < nelt; i++ { 13455 // Check for glyphset change 13456 if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) { 13457 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset 13458 len = len + int32(Sz_xGlyphElt+4)>>2 13459 } 13460 nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars 13461 elen = int32(Sz_xGlyphElt*((nchars+254-1)/254) + nchars*4) 13462 len = len + (elen+3)>>2 13463 } 13464 13465 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 13466 13467 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset 13468 for i = 0; i < nelt; i++ { 13469 // Switch glyphsets 13470 if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) { 13471 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset 13472 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13473 x11.X_XFlush(tls, dpy) 13474 } 13475 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13476 libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt)) 13477 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(Sz_xGlyphElt) 13478 13479 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff) 13480 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0) 13481 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0) 13482 { 13483 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13484 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 13485 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 13486 } else { 13487 x11.X_XSend(tls, dpy, bp, 4) 13488 } 13489 } 13490 13491 } 13492 nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars 13493 xDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).FxOff 13494 yDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).FyOff 13495 chars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fchars 13496 for nchars != 0 { 13497 var this_chars int32 13498 if nchars > 254 { 13499 this_chars = 254 13500 } else { 13501 this_chars = nchars 13502 } 13503 var this_bytes int32 = this_chars * 4 13504 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13505 x11.X_XFlush(tls, dpy) 13506 } 13507 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13508 libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt)) 13509 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(Sz_xGlyphElt) 13510 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars) 13511 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13512 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13513 xDst = 0 13514 yDst = 0 13515 { 13516 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(this_bytes) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13517 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint32(this_bytes)) 13518 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((this_bytes + 3) & libc.CplInt32(3)) 13519 } else { 13520 x11.X_XSend(tls, dpy, chars, int32(this_bytes)) 13521 } 13522 } 13523 13524 nchars = nchars - this_chars 13525 chars += 4 * uintptr(this_chars) 13526 } 13527 } 13528 13529 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13530 (*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) 13531 } 13532 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13533 (*struct { 13534 f func(*libc.TLS, uintptr) int32 13535 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13536 } 13537 } 13538 13539 // Xlib uses long for 32-bit values. Xrender uses int. This 13540 // matters on alpha. Note that this macro assumes that int is 32 bits 13541 // except on WORD64 machines where it is 64 bits. 13542 13543 //*********************************************************************** 13544 // 13545 // Copyright 1987, 1998 The Open Group 13546 // 13547 // Permission to use, copy, modify, distribute, and sell this software and its 13548 // documentation for any purpose is hereby granted without fee, provided that 13549 // the above copyright notice appear in all copies and that both that 13550 // copyright notice and this permission notice appear in supporting 13551 // documentation. 13552 // 13553 // The above copyright notice and this permission notice shall be included in 13554 // all copies or substantial portions of the Software. 13555 // 13556 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 13557 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13558 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 13559 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 13560 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 13561 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 13562 // 13563 // Except as contained in this notice, the name of The Open Group shall not be 13564 // used in advertising or otherwise to promote the sale, use or other dealings 13565 // in this Software without prior written authorization from The Open Group. 13566 // 13567 // 13568 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 13569 // 13570 // All Rights Reserved 13571 // 13572 // Permission to use, copy, modify, and distribute this software and its 13573 // documentation for any purpose and without fee is hereby granted, 13574 // provided that the above copyright notice appear in all copies and that 13575 // both that copyright notice and this permission notice appear in 13576 // supporting documentation, and that the name of Digital not be 13577 // used in advertising or publicity pertaining to distribution of the 13578 // software without specific, written prior permission. 13579 // 13580 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 13581 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 13582 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 13583 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 13584 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 13585 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 13586 // SOFTWARE. 13587 // 13588 // *********************************************************************** 13589 13590 type Box = struct { 13591 Fx1 int16 13592 Fx2 int16 13593 Fy1 int16 13594 Fy2 int16 13595 } /* Xregion.h:53:3 */ 13596 type BOX = struct { 13597 Fx1 int16 13598 Fx2 int16 13599 Fy1 int16 13600 Fy2 int16 13601 } /* Xregion.h:53:8 */ 13602 type BoxRec = struct { 13603 Fx1 int16 13604 Fx2 int16 13605 Fy1 int16 13606 Fy2 int16 13607 } /* Xregion.h:53:13 */ 13608 type BoxPtr = uintptr /* Xregion.h:53:21 */ 13609 13610 type RECTANGLE = struct { 13611 Fx int16 13612 Fy int16 13613 Fwidth int16 13614 Fheight int16 13615 } /* Xregion.h:57:2 */ 13616 type RectangleRec = struct { 13617 Fx int16 13618 Fy int16 13619 Fwidth int16 13620 Fheight int16 13621 } /* Xregion.h:57:13 */ 13622 type RectanglePtr = uintptr /* Xregion.h:57:27 */ 13623 13624 // clip region 13625 13626 type REGION = X_XRegion /* Xregion.h:80:3 */ 13627 13628 // Xutil.h contains the declaration: 13629 // typedef struct _XRegion *Region; 13630 13631 // 1 if two BOXs overlap. 13632 // 0 if two BOXs do not overlap. 13633 // Remember, x2 and y2 are not in the region 13634 13635 // update region extents 13636 13637 // Check to see if there is enough memory in the present region. 13638 13639 // this routine checks to see if the previous rectangle is the same 13640 // or subsumes the new rectangle to add. 13641 13642 // add a rectangle to the given Region 13643 13644 // add a rectangle to the given Region 13645 13646 // number of points to buffer before sending them off 13647 // to scanlines() : Must be an even number 13648 13649 // used to allocate buffers for points and link 13650 // the buffers together 13651 type X_POINTBLOCK = struct { 13652 Fpts [200]XPoint 13653 Fnext uintptr 13654 } /* Xregion.h:185:9 */ 13655 13656 // Xutil.h contains the declaration: 13657 // typedef struct _XRegion *Region; 13658 13659 // 1 if two BOXs overlap. 13660 // 0 if two BOXs do not overlap. 13661 // Remember, x2 and y2 are not in the region 13662 13663 // update region extents 13664 13665 // Check to see if there is enough memory in the present region. 13666 13667 // this routine checks to see if the previous rectangle is the same 13668 // or subsumes the new rectangle to add. 13669 13670 // add a rectangle to the given Region 13671 13672 // add a rectangle to the given Region 13673 13674 // number of points to buffer before sending them off 13675 // to scanlines() : Must be an even number 13676 13677 // used to allocate buffers for points and link 13678 // the buffers together 13679 type POINTBLOCK = X_POINTBLOCK /* Xregion.h:188:3 */ 13680 13681 func _XRenderProcessPictureAttributes(tls *libc.TLS, dpy uintptr, req uintptr, valuemask uint32, attributes uintptr) { /* Picture.c:32:1: */ 13682 bp := tls.Alloc(128) 13683 defer tls.Free(128) 13684 13685 // var values [32]uint32 at bp, 128 13686 13687 var value uintptr = bp /* values */ 13688 var nvalues uint32 13689 13690 if valuemask&uint32(int32(1)<<0) != 0 { 13691 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Frepeat) 13692 } 13693 if valuemask&uint32(int32(1)<<1) != 0 { 13694 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_map 13695 } 13696 if valuemask&uint32(int32(1)<<2) != 0 { 13697 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_x_origin) 13698 } 13699 if valuemask&uint32(int32(1)<<3) != 0 { 13700 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_y_origin) 13701 } 13702 if valuemask&uint32(int32(1)<<4) != 0 { 13703 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_x_origin) 13704 } 13705 if valuemask&uint32(int32(1)<<5) != 0 { 13706 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_y_origin) 13707 } 13708 if valuemask&uint32(int32(1)<<6) != 0 { 13709 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_mask 13710 } 13711 if valuemask&uint32(int32(1)<<7) != 0 { 13712 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fgraphics_exposures) 13713 } 13714 if valuemask&uint32(int32(1)<<8) != 0 { 13715 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fsubwindow_mode) 13716 } 13717 if valuemask&uint32(int32(1)<<9) != 0 { 13718 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_edge) 13719 } 13720 if valuemask&uint32(int32(1)<<10) != 0 { 13721 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_mode) 13722 } 13723 if valuemask&uint32(int32(1)<<11) != 0 { 13724 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fdither 13725 } 13726 if valuemask&uint32(int32(1)<<12) != 0 { 13727 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fcomponent_alpha) 13728 } 13729 13730 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(libc.AssignUint32(&nvalues, uint32(int32((value-bp)/4)))) 13731 13732 nvalues <<= 2 /* watch out for macros... */ 13733 { 13734 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(nvalues)) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13735 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(int32(int32(nvalues)))) 13736 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((int32(nvalues) + 3) & libc.CplInt32(3)) 13737 } else { 13738 x11.X_XSend(tls, dpy, bp, int32(nvalues)) 13739 } 13740 } 13741 13742 } 13743 13744 func XXRenderCreatePicture(tls *libc.TLS, dpy uintptr, drawable Drawable, format uintptr, valuemask uint32, attributes uintptr) Picture { /* Picture.c:75:1: */ 13745 var info uintptr = XXRenderFindDisplay(tls, dpy) 13746 var pid Picture 13747 var req uintptr 13748 13749 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13750 return Picture(0) 13751 } 13752 13753 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13754 (*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) 13755 } 13756 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreatePicture), uint32(Sz_xRenderCreatePictureReq)) 13757 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13758 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreatePicture) 13759 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 13760 Fext_data uintptr 13761 Fprivate1 uintptr 13762 Ffd int32 13763 Fprivate2 int32 13764 Fproto_major_version int32 13765 Fproto_minor_version int32 13766 Fvendor uintptr 13767 Fprivate3 XID 13768 Fprivate4 XID 13769 Fprivate5 XID 13770 Fprivate6 int32 13771 Fresource_alloc uintptr 13772 Fbyte_order int32 13773 Fbitmap_unit int32 13774 Fbitmap_pad int32 13775 Fbitmap_bit_order int32 13776 Fnformats int32 13777 Fpixmap_format uintptr 13778 Fprivate8 int32 13779 Frelease int32 13780 Fprivate9 uintptr 13781 Fprivate10 uintptr 13782 Fqlen int32 13783 Flast_request_read uint32 13784 Frequest uint32 13785 Fprivate11 XPointer 13786 Fprivate12 XPointer 13787 Fprivate13 XPointer 13788 Fprivate14 XPointer 13789 Fmax_request_size uint32 13790 Fdb uintptr 13791 Fprivate15 uintptr 13792 Fdisplay_name uintptr 13793 Fdefault_screen int32 13794 Fnscreens int32 13795 Fscreens uintptr 13796 Fmotion_buffer uint32 13797 Fprivate16 uint32 13798 Fmin_keycode int32 13799 Fmax_keycode int32 13800 Fprivate17 XPointer 13801 Fprivate18 XPointer 13802 Fprivate19 int32 13803 Fxdefaults uintptr 13804 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)) 13805 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fdrawable = drawable 13806 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fformat = (*XRenderPictFormat)(unsafe.Pointer(format)).Fid 13807 if libc.AssignPtrUint32(req+16, valuemask) != 0 { 13808 _XRenderProcessPictureAttributes(tls, dpy, 13809 req, 13810 valuemask, 13811 attributes) 13812 } 13813 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13814 (*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) 13815 } 13816 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13817 (*struct { 13818 f func(*libc.TLS, uintptr) int32 13819 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13820 } 13821 return pid 13822 } 13823 13824 func XXRenderChangePicture(tls *libc.TLS, dpy uintptr, picture Picture, valuemask uint32, attributes uintptr) { /* Picture.c:104:1: */ 13825 var info uintptr = XXRenderFindDisplay(tls, dpy) 13826 var req uintptr 13827 13828 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13829 return 13830 } 13831 13832 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13833 (*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) 13834 } 13835 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderChangePicture), uint32(Sz_xRenderChangePictureReq)) 13836 (*XRenderChangePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13837 (*XRenderChangePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderChangePicture) 13838 (*XRenderChangePictureReq)(unsafe.Pointer(req)).Fpicture = picture 13839 (*XRenderChangePictureReq)(unsafe.Pointer(req)).Fmask = valuemask 13840 _XRenderProcessPictureAttributes(tls, dpy, 13841 req, 13842 valuemask, 13843 attributes) 13844 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13845 (*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) 13846 } 13847 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13848 (*struct { 13849 f func(*libc.TLS, uintptr) int32 13850 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13851 } 13852 } 13853 13854 func _XRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, info uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:128:1: */ 13855 bp := tls.Alloc(4) 13856 defer tls.Free(4) 13857 13858 var req uintptr 13859 var len int32 13860 13861 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureClipRectangles), uint32(Sz_xRenderSetPictureClipRectanglesReq)) 13862 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13863 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureClipRectangles) 13864 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Fpicture = picture 13865 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FxOrigin = INT16(xOrigin) 13866 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FyOrigin = INT16(yOrigin) 13867 len = int32(n) << 1 13868 if uint32(int32((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 13869 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 13870 { 13871 // var _BRdat CARD32 at bp, 4 13872 var _BRlen CARD32 = CARD32(int32((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) - 1) 13873 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0) 13874 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 13875 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 13876 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 13877 { 13878 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13879 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 13880 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 13881 } else { 13882 x11.X_XSend(tls, dpy, bp, 4) 13883 } 13884 } 13885 13886 } 13887 } else { 13888 len = 1 13889 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 13890 } 13891 } else { 13892 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 13893 } 13894 len <<= 2 13895 { 13896 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13897 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rects, uint32(int32(len))) 13898 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((len + 3) & libc.CplInt32(3)) 13899 } else { 13900 x11.X_XSend(tls, dpy, rects, len) 13901 } 13902 } 13903 13904 } 13905 13906 func XXRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:152:1: */ 13907 var info uintptr = XXRenderFindDisplay(tls, dpy) 13908 13909 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13910 return 13911 } 13912 13913 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13914 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 13915 } 13916 _XRenderSetPictureClipRectangles(tls, dpy, info, picture, 13917 xOrigin, yOrigin, rects, n) 13918 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13919 (*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) 13920 } 13921 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13922 (*struct { 13923 f func(*libc.TLS, uintptr) int32 13924 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13925 } 13926 } 13927 13928 func XXRenderSetPictureClipRegion(tls *libc.TLS, dpy uintptr, picture Picture, r Region) { /* Picture.c:170:1: */ 13929 var info uintptr = XXRenderFindDisplay(tls, dpy) 13930 var i int32 13931 var xr uintptr 13932 var pr uintptr 13933 var pb uintptr 13934 var total uint32 13935 13936 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13937 return 13938 } 13939 13940 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13941 (*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) 13942 } 13943 total = uint32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) * uint32(unsafe.Sizeof(XRectangle{})) 13944 if libc.AssignUintptr(&xr, x11.X_XAllocTemp(tls, dpy, total)) != 0 { 13945 pr = xr 13946 pb = (*X_XRegion)(unsafe.Pointer(r)).Frects 13947 i = int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) 13948 __1: 13949 if !(libc.PreDecInt32(&i, 1) >= 0) { 13950 goto __3 13951 } 13952 { 13953 (*XRectangle)(unsafe.Pointer(pr)).Fx = (*BOX)(unsafe.Pointer(pb)).Fx1 13954 (*XRectangle)(unsafe.Pointer(pr)).Fy = (*BOX)(unsafe.Pointer(pb)).Fy1 13955 (*XRectangle)(unsafe.Pointer(pr)).Fwidth = uint16(int32((*BOX)(unsafe.Pointer(pb)).Fx2) - int32((*BOX)(unsafe.Pointer(pb)).Fx1)) 13956 (*XRectangle)(unsafe.Pointer(pr)).Fheight = uint16(int32((*BOX)(unsafe.Pointer(pb)).Fy2) - int32((*BOX)(unsafe.Pointer(pb)).Fy1)) 13957 13958 } 13959 goto __2 13960 __2: 13961 pr += 8 13962 pb += 8 13963 goto __1 13964 goto __3 13965 __3: 13966 } 13967 if xr != 0 || !(int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) != 0) { 13968 _XRenderSetPictureClipRectangles(tls, dpy, info, picture, 0, 0, 13969 xr, int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects)) 13970 } 13971 if xr != 0 { 13972 x11.X_XFreeTemp(tls, dpy, xr, total) 13973 } 13974 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13975 (*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) 13976 } 13977 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13978 (*struct { 13979 f func(*libc.TLS, uintptr) int32 13980 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13981 } 13982 } 13983 13984 func XXRenderSetPictureTransform(tls *libc.TLS, dpy uintptr, picture Picture, transform uintptr) { /* Picture.c:201:1: */ 13985 var info uintptr = XXRenderFindDisplay(tls, dpy) 13986 var req uintptr 13987 13988 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13989 return 13990 } 13991 13992 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13993 (*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) 13994 } 13995 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureTransform), uint32(Sz_xRenderSetPictureTransformReq)) 13996 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13997 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureTransform) 13998 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Fpicture = picture 13999 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix11 = INT32(*(*XFixed)(unsafe.Pointer(transform))) 14000 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix12 = INT32(*(*XFixed)(unsafe.Pointer(transform + 1*4))) 14001 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix13 = INT32(*(*XFixed)(unsafe.Pointer(transform + 2*4))) 14002 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix21 = INT32(*(*XFixed)(unsafe.Pointer(transform + 1*12))) 14003 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix22 = INT32(*(*XFixed)(unsafe.Pointer(transform + 1*12 + 1*4))) 14004 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix23 = INT32(*(*XFixed)(unsafe.Pointer(transform + 1*12 + 2*4))) 14005 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix31 = INT32(*(*XFixed)(unsafe.Pointer(transform + 2*12))) 14006 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix32 = INT32(*(*XFixed)(unsafe.Pointer(transform + 2*12 + 1*4))) 14007 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix33 = INT32(*(*XFixed)(unsafe.Pointer(transform + 2*12 + 2*4))) 14008 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14009 (*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) 14010 } 14011 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14012 (*struct { 14013 f func(*libc.TLS, uintptr) int32 14014 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14015 } 14016 14017 } 14018 14019 func XXRenderFreePicture(tls *libc.TLS, dpy uintptr, picture Picture) { /* Picture.c:229:1: */ 14020 var info uintptr = XXRenderFindDisplay(tls, dpy) 14021 var req uintptr 14022 14023 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14024 return 14025 } 14026 14027 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14028 (*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) 14029 } 14030 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreePicture), uint32(Sz_xRenderFreePictureReq)) 14031 (*XRenderFreePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14032 (*XRenderFreePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreePicture) 14033 (*XRenderFreePictureReq)(unsafe.Pointer(req)).Fpicture = picture 14034 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14035 (*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) 14036 } 14037 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14038 (*struct { 14039 f func(*libc.TLS, uintptr) int32 14040 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14041 } 14042 } 14043 14044 func XXRenderCreateSolidFill(tls *libc.TLS, dpy uintptr, color uintptr) Picture { /* Picture.c:246:9: */ 14045 var info uintptr = XXRenderFindDisplay(tls, dpy) 14046 var pid Picture 14047 var req uintptr 14048 14049 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14050 return Picture(0) 14051 } 14052 14053 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14054 (*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) 14055 } 14056 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateSolidFill), uint32(Sz_xRenderCreateSolidFillReq)) 14057 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14058 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateSolidFill) 14059 14060 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14061 Fext_data uintptr 14062 Fprivate1 uintptr 14063 Ffd int32 14064 Fprivate2 int32 14065 Fproto_major_version int32 14066 Fproto_minor_version int32 14067 Fvendor uintptr 14068 Fprivate3 XID 14069 Fprivate4 XID 14070 Fprivate5 XID 14071 Fprivate6 int32 14072 Fresource_alloc uintptr 14073 Fbyte_order int32 14074 Fbitmap_unit int32 14075 Fbitmap_pad int32 14076 Fbitmap_bit_order int32 14077 Fnformats int32 14078 Fpixmap_format uintptr 14079 Fprivate8 int32 14080 Frelease int32 14081 Fprivate9 uintptr 14082 Fprivate10 uintptr 14083 Fqlen int32 14084 Flast_request_read uint32 14085 Frequest uint32 14086 Fprivate11 XPointer 14087 Fprivate12 XPointer 14088 Fprivate13 XPointer 14089 Fprivate14 XPointer 14090 Fmax_request_size uint32 14091 Fdb uintptr 14092 Fprivate15 uintptr 14093 Fdisplay_name uintptr 14094 Fdefault_screen int32 14095 Fnscreens int32 14096 Fscreens uintptr 14097 Fmotion_buffer uint32 14098 Fprivate16 uint32 14099 Fmin_keycode int32 14100 Fmax_keycode int32 14101 Fprivate17 XPointer 14102 Fprivate18 XPointer 14103 Fprivate19 int32 14104 Fxdefaults uintptr 14105 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)) 14106 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred 14107 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen 14108 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue 14109 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha 14110 14111 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14112 (*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) 14113 } 14114 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14115 (*struct { 14116 f func(*libc.TLS, uintptr) int32 14117 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14118 } 14119 return pid 14120 } 14121 14122 func XXRenderCreateLinearGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:271:9: */ 14123 bp := tls.Alloc(4) 14124 defer tls.Free(4) 14125 14126 var info uintptr = XXRenderFindDisplay(tls, dpy) 14127 var pid Picture 14128 var req uintptr 14129 var len int32 14130 14131 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14132 return Picture(0) 14133 } 14134 14135 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14136 (*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) 14137 } 14138 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateLinearGradient), uint32(Sz_xRenderCreateLinearGradientReq)) 14139 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14140 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateLinearGradient) 14141 14142 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14143 Fext_data uintptr 14144 Fprivate1 uintptr 14145 Ffd int32 14146 Fprivate2 int32 14147 Fproto_major_version int32 14148 Fproto_minor_version int32 14149 Fvendor uintptr 14150 Fprivate3 XID 14151 Fprivate4 XID 14152 Fprivate5 XID 14153 Fprivate6 int32 14154 Fresource_alloc uintptr 14155 Fbyte_order int32 14156 Fbitmap_unit int32 14157 Fbitmap_pad int32 14158 Fbitmap_bit_order int32 14159 Fnformats int32 14160 Fpixmap_format uintptr 14161 Fprivate8 int32 14162 Frelease int32 14163 Fprivate9 uintptr 14164 Fprivate10 uintptr 14165 Fqlen int32 14166 Flast_request_read uint32 14167 Frequest uint32 14168 Fprivate11 XPointer 14169 Fprivate12 XPointer 14170 Fprivate13 XPointer 14171 Fprivate14 XPointer 14172 Fmax_request_size uint32 14173 Fdb uintptr 14174 Fprivate15 uintptr 14175 Fdisplay_name uintptr 14176 Fdefault_screen int32 14177 Fnscreens int32 14178 Fscreens uintptr 14179 Fmotion_buffer uint32 14180 Fprivate16 uint32 14181 Fmin_keycode int32 14182 Fmax_keycode int32 14183 Fprivate17 XPointer 14184 Fprivate18 XPointer 14185 Fprivate19 int32 14186 Fxdefaults uintptr 14187 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)) 14188 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fx = INT32((*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fx) 14189 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fy = INT32((*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fy) 14190 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fx = INT32((*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fx) 14191 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fy = INT32((*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fy) 14192 14193 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops) 14194 len = int32(nStops) * 3 14195 if uint32(int32((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 14196 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14197 { 14198 // var _BRdat CARD32 at bp, 4 14199 var _BRlen CARD32 = CARD32(int32((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) - 1) 14200 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14201 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 14202 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 14203 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 14204 { 14205 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14206 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 14207 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 14208 } else { 14209 x11.X_XSend(tls, dpy, bp, 4) 14210 } 14211 } 14212 14213 } 14214 } else { 14215 len = 6 14216 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14217 } 14218 } else { 14219 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14220 } 14221 { 14222 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14223 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint32(nStops*4)) 14224 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((nStops*4 + 3) & libc.CplInt32(3)) 14225 } else { 14226 x11.X_XSend(tls, dpy, stops, int32(nStops*4)) 14227 } 14228 } 14229 14230 { 14231 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*8) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14232 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint32(nStops*8)) 14233 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((nStops*8 + 3) & libc.CplInt32(3)) 14234 } else { 14235 x11.X_XSend(tls, dpy, colors, int32(nStops*8)) 14236 } 14237 } 14238 14239 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14240 (*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) 14241 } 14242 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14243 (*struct { 14244 f func(*libc.TLS, uintptr) int32 14245 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14246 } 14247 return pid 14248 } 14249 14250 func XXRenderCreateRadialGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:305:9: */ 14251 bp := tls.Alloc(4) 14252 defer tls.Free(4) 14253 14254 var info uintptr = XXRenderFindDisplay(tls, dpy) 14255 var pid Picture 14256 var req uintptr 14257 var len int32 14258 14259 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14260 return Picture(0) 14261 } 14262 14263 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14264 (*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) 14265 } 14266 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateRadialGradient), uint32(Sz_xRenderCreateRadialGradientReq)) 14267 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14268 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateRadialGradient) 14269 14270 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14271 Fext_data uintptr 14272 Fprivate1 uintptr 14273 Ffd int32 14274 Fprivate2 int32 14275 Fproto_major_version int32 14276 Fproto_minor_version int32 14277 Fvendor uintptr 14278 Fprivate3 XID 14279 Fprivate4 XID 14280 Fprivate5 XID 14281 Fprivate6 int32 14282 Fresource_alloc uintptr 14283 Fbyte_order int32 14284 Fbitmap_unit int32 14285 Fbitmap_pad int32 14286 Fbitmap_bit_order int32 14287 Fnformats int32 14288 Fpixmap_format uintptr 14289 Fprivate8 int32 14290 Frelease int32 14291 Fprivate9 uintptr 14292 Fprivate10 uintptr 14293 Fqlen int32 14294 Flast_request_read uint32 14295 Frequest uint32 14296 Fprivate11 XPointer 14297 Fprivate12 XPointer 14298 Fprivate13 XPointer 14299 Fprivate14 XPointer 14300 Fmax_request_size uint32 14301 Fdb uintptr 14302 Fprivate15 uintptr 14303 Fdisplay_name uintptr 14304 Fdefault_screen int32 14305 Fnscreens int32 14306 Fscreens uintptr 14307 Fmotion_buffer uint32 14308 Fprivate16 uint32 14309 Fmin_keycode int32 14310 Fmax_keycode int32 14311 Fprivate17 XPointer 14312 Fprivate18 XPointer 14313 Fprivate19 int32 14314 Fxdefaults uintptr 14315 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)) 14316 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fx = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fx) 14317 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fy = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fy) 14318 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fx = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fx) 14319 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fy = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fy) 14320 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner_radius = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fradius) 14321 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter_radius = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fradius) 14322 14323 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops) 14324 len = int32(nStops) * 3 14325 if uint32(int32((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 14326 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14327 { 14328 // var _BRdat CARD32 at bp, 4 14329 var _BRlen CARD32 = CARD32(int32((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) - 1) 14330 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14331 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 14332 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 14333 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 14334 { 14335 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14336 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 14337 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 14338 } else { 14339 x11.X_XSend(tls, dpy, bp, 4) 14340 } 14341 } 14342 14343 } 14344 } else { 14345 len = 6 14346 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14347 } 14348 } else { 14349 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14350 } 14351 { 14352 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14353 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint32(nStops*4)) 14354 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((nStops*4 + 3) & libc.CplInt32(3)) 14355 } else { 14356 x11.X_XSend(tls, dpy, stops, int32(nStops*4)) 14357 } 14358 } 14359 14360 { 14361 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*8) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14362 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint32(nStops*8)) 14363 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((nStops*8 + 3) & libc.CplInt32(3)) 14364 } else { 14365 x11.X_XSend(tls, dpy, colors, int32(nStops*8)) 14366 } 14367 } 14368 14369 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14370 (*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) 14371 } 14372 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14373 (*struct { 14374 f func(*libc.TLS, uintptr) int32 14375 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14376 } 14377 return pid 14378 } 14379 14380 func XXRenderCreateConicalGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:341:9: */ 14381 bp := tls.Alloc(4) 14382 defer tls.Free(4) 14383 14384 var info uintptr = XXRenderFindDisplay(tls, dpy) 14385 var pid Picture 14386 var req uintptr 14387 var len int32 14388 14389 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14390 return Picture(0) 14391 } 14392 14393 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14394 (*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) 14395 } 14396 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateConicalGradient), uint32(Sz_xRenderCreateConicalGradientReq)) 14397 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14398 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateConicalGradient) 14399 14400 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14401 Fext_data uintptr 14402 Fprivate1 uintptr 14403 Ffd int32 14404 Fprivate2 int32 14405 Fproto_major_version int32 14406 Fproto_minor_version int32 14407 Fvendor uintptr 14408 Fprivate3 XID 14409 Fprivate4 XID 14410 Fprivate5 XID 14411 Fprivate6 int32 14412 Fresource_alloc uintptr 14413 Fbyte_order int32 14414 Fbitmap_unit int32 14415 Fbitmap_pad int32 14416 Fbitmap_bit_order int32 14417 Fnformats int32 14418 Fpixmap_format uintptr 14419 Fprivate8 int32 14420 Frelease int32 14421 Fprivate9 uintptr 14422 Fprivate10 uintptr 14423 Fqlen int32 14424 Flast_request_read uint32 14425 Frequest uint32 14426 Fprivate11 XPointer 14427 Fprivate12 XPointer 14428 Fprivate13 XPointer 14429 Fprivate14 XPointer 14430 Fmax_request_size uint32 14431 Fdb uintptr 14432 Fprivate15 uintptr 14433 Fdisplay_name uintptr 14434 Fdefault_screen int32 14435 Fnscreens int32 14436 Fscreens uintptr 14437 Fmotion_buffer uint32 14438 Fprivate16 uint32 14439 Fmin_keycode int32 14440 Fmax_keycode int32 14441 Fprivate17 XPointer 14442 Fprivate18 XPointer 14443 Fprivate19 int32 14444 Fxdefaults uintptr 14445 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)) 14446 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fx = INT32((*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fx) 14447 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fy = INT32((*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fy) 14448 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fangle = INT32((*XConicalGradient)(unsafe.Pointer(gradient)).Fangle) 14449 14450 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops) 14451 len = int32(nStops) * 3 14452 if uint32(int32((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 14453 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14454 { 14455 // var _BRdat CARD32 at bp, 4 14456 var _BRlen CARD32 = CARD32(int32((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) - 1) 14457 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14458 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 14459 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 14460 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 14461 { 14462 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14463 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 14464 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 14465 } else { 14466 x11.X_XSend(tls, dpy, bp, 4) 14467 } 14468 } 14469 14470 } 14471 } else { 14472 len = 6 14473 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14474 } 14475 } else { 14476 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14477 } 14478 { 14479 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14480 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint32(nStops*4)) 14481 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((nStops*4 + 3) & libc.CplInt32(3)) 14482 } else { 14483 x11.X_XSend(tls, dpy, stops, int32(nStops*4)) 14484 } 14485 } 14486 14487 { 14488 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*8) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14489 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint32(nStops*8)) 14490 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((nStops*8 + 3) & libc.CplInt32(3)) 14491 } else { 14492 x11.X_XSend(tls, dpy, colors, int32(nStops*8)) 14493 } 14494 } 14495 14496 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14497 (*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) 14498 } 14499 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14500 (*struct { 14501 f func(*libc.TLS, uintptr) int32 14502 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14503 } 14504 return pid 14505 } 14506 14507 // Xlib uses long for 32-bit values. Xrender uses int. This 14508 // matters on alpha. Note that this macro assumes that int is 32 bits 14509 // except on WORD64 machines where it is 64 bits. 14510 14511 type X_Edge = struct { 14512 Fedge XLineFixed1 14513 Fcurrent_x XFixed 14514 FclockWise int32 14515 Fnext uintptr 14516 Fprev uintptr 14517 } /* Poly.c:29:9 */ 14518 14519 // Xlib uses long for 32-bit values. Xrender uses int. This 14520 // matters on alpha. Note that this macro assumes that int is 32 bits 14521 // except on WORD64 machines where it is 64 bits. 14522 14523 type Edge = X_Edge /* Poly.c:29:22 */ 14524 14525 func sCompareEdge(tls *libc.TLS, o1 uintptr, o2 uintptr) int32 { /* Poly.c:39:1: */ 14526 var e1 uintptr = o1 14527 var e2 uintptr = o2 14528 14529 return (*Edge)(unsafe.Pointer(e1)).Fedge.Fp1.Fy - (*Edge)(unsafe.Pointer(e2)).Fedge.Fp1.Fy 14530 } 14531 14532 func sXRenderComputeX(tls *libc.TLS, line uintptr, y XFixed) XFixed { /* Poly.c:47:1: */ 14533 var dx XFixed = (*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fx - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx 14534 var ex float64 = float64(y-(*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy) * float64(dx) 14535 var dy XFixed = (*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fy - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy 14536 14537 return (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx + libc.Int32FromFloat64(ex/float64(dy)) 14538 } 14539 14540 func sXRenderComputeInverseSlope(tls *libc.TLS, l uintptr) float64 { /* Poly.c:57:1: */ 14541 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)) 14542 } 14543 14544 func sXRenderComputeXIntercept(tls *libc.TLS, l uintptr, inverse_slope float64) float64 { /* Poly.c:64:1: */ 14545 return XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fx)/float64(65536) - inverse_slope*(XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fy)/float64(65536)) 14546 } 14547 14548 func sXRenderComputeIntersect(tls *libc.TLS, l1 uintptr, l2 uintptr) XFixed { /* Poly.c:70:1: */ 14549 // x = m1y + b1 14550 // x = m2y + b2 14551 // m1y + b1 = m2y + b2 14552 // y * (m1 - m2) = b2 - b1 14553 // y = (b2 - b1) / (m1 - m2) 14554 var m1 float64 = sXRenderComputeInverseSlope(tls, l1) 14555 var b1 float64 = sXRenderComputeXIntercept(tls, l1, m1) 14556 var m2 float64 = sXRenderComputeInverseSlope(tls, l2) 14557 var b2 float64 = sXRenderComputeXIntercept(tls, l2, m2) 14558 14559 return libc.Int32FromFloat64((b2 - b1) / (m1 - m2) * float64(65536)) 14560 } 14561 14562 func sXRenderComputeTrapezoids(tls *libc.TLS, edges uintptr, nedges int32, winding int32, traps uintptr) int32 { /* Poly.c:88:1: */ 14563 var ntraps int32 = 0 14564 var inactive int32 14565 var active uintptr 14566 var e uintptr 14567 var en uintptr 14568 var next uintptr 14569 var y XFixed 14570 var next_y XFixed 14571 var intersect XFixed 14572 14573 libc.Xqsort(tls, edges, uint32(nedges), uint32(unsafe.Sizeof(Edge{})), *(*uintptr)(unsafe.Pointer(&struct { 14574 f func(*libc.TLS, uintptr, uintptr) int32 14575 }{sCompareEdge}))) 14576 14577 y = (*Edge)(unsafe.Pointer(edges)).Fedge.Fp1.Fy 14578 active = uintptr(0) 14579 inactive = 0 14580 for active != 0 || inactive < nedges { 14581 // insert new active edges into list 14582 for inactive < nedges { 14583 e = edges + uintptr(inactive)*32 14584 if (*Edge)(unsafe.Pointer(e)).Fedge.Fp1.Fy > y { 14585 break 14586 } 14587 // move this edge into the active list 14588 inactive++ 14589 (*Edge)(unsafe.Pointer(e)).Fnext = active 14590 (*Edge)(unsafe.Pointer(e)).Fprev = uintptr(0) 14591 if active != 0 { 14592 (*Edge)(unsafe.Pointer(active)).Fprev = e 14593 } 14594 active = e 14595 } 14596 // compute x coordinates along this group 14597 for e = active; e != 0; e = (*Edge)(unsafe.Pointer(e)).Fnext { 14598 (*Edge)(unsafe.Pointer(e)).Fcurrent_x = sXRenderComputeX(tls, e, y) 14599 } 14600 14601 // sort active list 14602 for e = active; e != 0; e = next { 14603 next = (*Edge)(unsafe.Pointer(e)).Fnext 14604 // Find one later in the list that belongs before the 14605 // current one 14606 for en = next; en != 0; en = (*Edge)(unsafe.Pointer(en)).Fnext { 14607 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 { 14608 // insert en before e 14609 // 14610 // extract en 14611 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(en)).Fnext 14612 if (*Edge)(unsafe.Pointer(en)).Fnext != 0 { 14613 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(en)).Fprev 14614 } 14615 // insert en 14616 if (*Edge)(unsafe.Pointer(e)).Fprev != 0 { 14617 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = en 14618 } else { 14619 active = en 14620 } 14621 (*Edge)(unsafe.Pointer(en)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev 14622 (*Edge)(unsafe.Pointer(e)).Fprev = en 14623 (*Edge)(unsafe.Pointer(en)).Fnext = e 14624 // start over at en 14625 next = en 14626 break 14627 } 14628 } 14629 } 14630 // find next inflection point 14631 next_y = (*Edge)(unsafe.Pointer(active)).Fedge.Fp2.Fy 14632 for e = active; e != 0; e = en { 14633 if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy < next_y { 14634 next_y = (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy 14635 } 14636 en = (*Edge)(unsafe.Pointer(e)).Fnext 14637 // check intersect 14638 if en != 0 && (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fx > (*Edge)(unsafe.Pointer(en)).Fedge.Fp2.Fx { 14639 intersect = sXRenderComputeIntersect(tls, e, (*Edge)(unsafe.Pointer(e)).Fnext) 14640 // make sure this point is below the actual intersection 14641 intersect = intersect + 1 14642 if intersect < next_y { 14643 next_y = intersect 14644 } 14645 } 14646 } 14647 // check next inactive point 14648 if inactive < nedges && (*Edge)(unsafe.Pointer(edges+uintptr(inactive)*32)).Fedge.Fp1.Fy < next_y { 14649 next_y = (*Edge)(unsafe.Pointer(edges + uintptr(inactive)*32)).Fedge.Fp1.Fy 14650 } 14651 14652 // walk the list generating trapezoids 14653 for e = active; e != 0 && libc.AssignUintptr(&en, (*Edge)(unsafe.Pointer(e)).Fnext) != 0; e = (*Edge)(unsafe.Pointer(en)).Fnext { 14654 (*XTrapezoid1)(unsafe.Pointer(traps)).Ftop = y 14655 (*XTrapezoid1)(unsafe.Pointer(traps)).Fbottom = next_y 14656 (*XTrapezoid1)(unsafe.Pointer(traps)).Fleft = (*Edge)(unsafe.Pointer(e)).Fedge 14657 (*XTrapezoid1)(unsafe.Pointer(traps)).Fright = (*Edge)(unsafe.Pointer(en)).Fedge 14658 traps += 40 14659 ntraps++ 14660 } 14661 14662 y = next_y 14663 14664 // delete inactive edges from list 14665 for e = active; e != 0; e = next { 14666 next = (*Edge)(unsafe.Pointer(e)).Fnext 14667 if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy <= y { 14668 if (*Edge)(unsafe.Pointer(e)).Fprev != 0 { 14669 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(e)).Fnext 14670 } else { 14671 active = (*Edge)(unsafe.Pointer(e)).Fnext 14672 } 14673 if (*Edge)(unsafe.Pointer(e)).Fnext != 0 { 14674 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev 14675 } 14676 } 14677 } 14678 } 14679 return ntraps 14680 } 14681 14682 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: */ 14683 var edges uintptr 14684 var traps uintptr 14685 var i int32 14686 var nedges int32 14687 var ntraps int32 14688 var x XFixed 14689 var y XFixed 14690 var prevx XFixed = 0 14691 var prevy XFixed = 0 14692 var firstx XFixed = 0 14693 var firsty XFixed = 0 14694 var top XFixed = 0 14695 var bottom XFixed = 0 // GCCism 14696 14697 edges = libc.Xmalloc(tls, func() uint32 { 14698 if uint32(npoints)*uint32(unsafe.Sizeof(Edge{}))+uint32(npoints*npoints)*uint32(unsafe.Sizeof(XTrapezoid1{})) == uint32(0) { 14699 return uint32(1) 14700 } 14701 return uint32(npoints)*uint32(unsafe.Sizeof(Edge{})) + uint32(npoints*npoints)*uint32(unsafe.Sizeof(XTrapezoid1{})) 14702 }()) 14703 if !(edges != 0) { 14704 return 14705 } 14706 traps = edges + uintptr(npoints)*32 14707 nedges = 0 14708 for i = 0; i <= npoints; i++ { 14709 if i == npoints { 14710 x = firstx 14711 y = firsty 14712 } else { 14713 x = libc.Int32FromFloat64((*XPointDouble)(unsafe.Pointer(fpoints+uintptr(i)*16)).Fx * float64(65536)) 14714 y = libc.Int32FromFloat64((*XPointDouble)(unsafe.Pointer(fpoints+uintptr(i)*16)).Fy * float64(65536)) 14715 } 14716 if i != 0 { 14717 if y < top { 14718 top = y 14719 } else if y > bottom { 14720 bottom = y 14721 } 14722 if prevy < y { 14723 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp1.Fx = prevx 14724 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp1.Fy = prevy 14725 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp2.Fx = x 14726 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp2.Fy = y 14727 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).FclockWise = True 14728 nedges++ 14729 } else if prevy > y { 14730 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp1.Fx = x 14731 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp1.Fy = y 14732 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp2.Fx = prevx 14733 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp2.Fy = prevy 14734 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).FclockWise = False 14735 nedges++ 14736 } 14737 // drop horizontal edges 14738 } else { 14739 top = y 14740 bottom = y 14741 firstx = x 14742 firsty = y 14743 } 14744 prevx = x 14745 prevy = y 14746 } 14747 ntraps = sXRenderComputeTrapezoids(tls, edges, nedges, winding, traps) 14748 // XXX adjust xSrc/xDst 14749 XXRenderCompositeTrapezoids(tls, dpy, op, src, dst, maskFormat, xSrc, ySrc, traps, ntraps) 14750 libc.Xfree(tls, edges) 14751 } 14752 14753 // Xlib uses long for 32-bit values. Xrender uses int. This 14754 // matters on alpha. Note that this macro assumes that int is 32 bits 14755 // except on WORD64 machines where it is 64 bits. 14756 14757 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: */ 14758 bp := tls.Alloc(4) 14759 defer tls.Free(4) 14760 14761 var info uintptr = XXRenderFindDisplay(tls, dpy) 14762 var req uintptr 14763 var n int32 14764 var len int32 14765 var max_req uint32 14766 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14767 max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size 14768 } else { 14769 max_req = uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size) 14770 } 14771 14772 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14773 return 14774 } 14775 14776 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14777 (*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) 14778 } 14779 for ntrap != 0 { 14780 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTrapezoids), uint32(Sz_xRenderTrapezoidsReq)) 14781 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14782 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTrapezoids) 14783 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14784 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fsrc = src 14785 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fdst = dst 14786 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14787 if maskFormat != 0 { 14788 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 14789 } 14790 return uint32(0) 14791 }() 14792 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14793 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14794 n = ntrap 14795 len = int32(n) * (int32(Sz_xTrapezoid) >> 2) 14796 if uint32(len) > max_req-uint32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) { 14797 n = int32((max_req - uint32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)) / uint32(int32(Sz_xTrapezoid)>>2)) 14798 len = int32(n) * (int32(Sz_xTrapezoid) >> 2) 14799 } 14800 if uint32(int32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 14801 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14802 { 14803 // var _BRdat CARD32 at bp, 4 14804 var _BRlen CARD32 = CARD32(int32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) - 1) 14805 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14806 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 14807 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 14808 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 14809 { 14810 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14811 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 14812 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 14813 } else { 14814 x11.X_XSend(tls, dpy, bp, 4) 14815 } 14816 } 14817 14818 } 14819 } else { 14820 len = len 14821 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14822 } 14823 } else { 14824 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14825 } 14826 len <<= 2 14827 { 14828 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14829 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint32(int32(len))) 14830 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((len + 3) & libc.CplInt32(3)) 14831 } else { 14832 x11.X_XSend(tls, dpy, traps, len) 14833 } 14834 } 14835 14836 ntrap = ntrap - n 14837 traps += 40 * uintptr(n) 14838 } 14839 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14840 (*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) 14841 } 14842 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14843 (*struct { 14844 f func(*libc.TLS, uintptr) int32 14845 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14846 } 14847 } 14848 14849 // Xlib uses long for 32-bit values. Xrender uses int. This 14850 // matters on alpha. Note that this macro assumes that int is 32 bits 14851 // except on WORD64 machines where it is 64 bits. 14852 14853 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: */ 14854 bp := tls.Alloc(4) 14855 defer tls.Free(4) 14856 14857 var info uintptr = XXRenderFindDisplay(tls, dpy) 14858 var req uintptr 14859 var n int32 14860 var len int32 14861 14862 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14863 return 14864 } 14865 14866 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14867 (*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) 14868 } 14869 for ntriangle != 0 { 14870 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriangles), uint32(Sz_xRenderTrianglesReq)) 14871 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14872 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriangles) 14873 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14874 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Fsrc = src 14875 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Fdst = dst 14876 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14877 if maskFormat != 0 { 14878 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 14879 } 14880 return uint32(0) 14881 }() 14882 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14883 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14884 n = ntriangle 14885 len = int32(n) * (int32(Sz_xTriangle) >> 2) 14886 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && uint32(len) > uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)) { 14887 n = int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)) / uint32(int32(Sz_xTriangle)>>2)) 14888 len = int32(n) * (int32(Sz_xTriangle) >> 2) 14889 } 14890 if uint32(int32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 14891 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14892 { 14893 // var _BRdat CARD32 at bp, 4 14894 var _BRlen CARD32 = CARD32(int32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength) - 1) 14895 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14896 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 14897 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 14898 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 14899 { 14900 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14901 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 14902 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 14903 } else { 14904 x11.X_XSend(tls, dpy, bp, 4) 14905 } 14906 } 14907 14908 } 14909 } else { 14910 len = len 14911 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14912 } 14913 } else { 14914 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14915 } 14916 len <<= 2 14917 { 14918 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14919 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, triangles, uint32(int32(len))) 14920 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((len + 3) & libc.CplInt32(3)) 14921 } else { 14922 x11.X_XSend(tls, dpy, triangles, len) 14923 } 14924 } 14925 14926 ntriangle = ntriangle - n 14927 triangles += 24 * uintptr(n) 14928 } 14929 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14930 (*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) 14931 } 14932 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14933 (*struct { 14934 f func(*libc.TLS, uintptr) int32 14935 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14936 } 14937 } 14938 14939 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: */ 14940 bp := tls.Alloc(4) 14941 defer tls.Free(4) 14942 14943 var info uintptr = XXRenderFindDisplay(tls, dpy) 14944 var req uintptr 14945 var n int32 14946 var len int32 14947 14948 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14949 return 14950 } 14951 14952 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14953 (*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) 14954 } 14955 for npoint > 2 { 14956 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriStrip), uint32(Sz_xRenderTriStripReq)) 14957 (*XRenderTriStripReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14958 (*XRenderTriStripReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriStrip) 14959 (*XRenderTriStripReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14960 (*XRenderTriStripReq)(unsafe.Pointer(req)).Fsrc = src 14961 (*XRenderTriStripReq)(unsafe.Pointer(req)).Fdst = dst 14962 (*XRenderTriStripReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14963 if maskFormat != 0 { 14964 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 14965 } 14966 return uint32(0) 14967 }() 14968 (*XRenderTriStripReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14969 (*XRenderTriStripReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14970 n = npoint 14971 len = int32(n) * (int32(Sz_xPointFixed) >> 2) 14972 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && uint32(len) > uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)) { 14973 n = int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)) / uint32(int32(Sz_xPointFixed)>>2)) 14974 len = int32(n) * (int32(Sz_xPointFixed) >> 2) 14975 } 14976 if uint32(int32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 14977 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14978 { 14979 // var _BRdat CARD32 at bp, 4 14980 var _BRlen CARD32 = CARD32(int32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength) - 1) 14981 (*XRenderTriStripReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14982 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 14983 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 14984 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 14985 { 14986 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14987 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 14988 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 14989 } else { 14990 x11.X_XSend(tls, dpy, bp, 4) 14991 } 14992 } 14993 14994 } 14995 } else { 14996 len = len 14997 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14998 } 14999 } else { 15000 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 15001 } 15002 len <<= 2 15003 { 15004 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 15005 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint32(int32(len))) 15006 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((len + 3) & libc.CplInt32(3)) 15007 } else { 15008 x11.X_XSend(tls, dpy, points, len) 15009 } 15010 } 15011 15012 npoint = npoint - (n - 2) 15013 points += 8 * uintptr(n-2) 15014 } 15015 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15016 (*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) 15017 } 15018 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 15019 (*struct { 15020 f func(*libc.TLS, uintptr) int32 15021 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 15022 } 15023 } 15024 15025 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: */ 15026 bp := tls.Alloc(4) 15027 defer tls.Free(4) 15028 15029 var info uintptr = XXRenderFindDisplay(tls, dpy) 15030 var first uintptr = points 15031 var p uintptr 15032 var req uintptr 15033 var n int32 15034 var len int32 15035 15036 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 15037 return 15038 } 15039 15040 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15041 (*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) 15042 } 15043 points += 8 15044 npoint-- 15045 for npoint > 1 { 15046 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriFan), uint32(Sz_xRenderTriFanReq+Sz_xPointFixed)) 15047 (*XRenderTriFanReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 15048 (*XRenderTriFanReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriFan) 15049 (*XRenderTriFanReq)(unsafe.Pointer(req)).Fop = CARD8(op) 15050 (*XRenderTriFanReq)(unsafe.Pointer(req)).Fsrc = src 15051 (*XRenderTriFanReq)(unsafe.Pointer(req)).Fdst = dst 15052 (*XRenderTriFanReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 15053 if maskFormat != 0 { 15054 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 15055 } 15056 return uint32(0) 15057 }() 15058 (*XRenderTriFanReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 15059 (*XRenderTriFanReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 15060 p = req + uintptr(1)*24 15061 (*XPointFixed)(unsafe.Pointer(p)).Fx = INT32((*XPointFixed1)(unsafe.Pointer(first)).Fx) 15062 (*XPointFixed)(unsafe.Pointer(p)).Fy = INT32((*XPointFixed1)(unsafe.Pointer(first)).Fy) 15063 n = npoint 15064 len = int32(n) * (int32(Sz_xPointFixed) >> 2) 15065 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && uint32(len) > uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)) { 15066 n = int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)) / uint32(int32(Sz_xPointFixed)>>2)) 15067 len = int32(n) * (int32(Sz_xPointFixed) >> 2) 15068 } 15069 if uint32(int32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)+len) > uint32(uint32(65535)) { 15070 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 15071 { 15072 // var _BRdat CARD32 at bp, 4 15073 var _BRlen CARD32 = CARD32(int32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength) - 1) 15074 (*XRenderTriFanReq)(unsafe.Pointer(req)).Flength = CARD16(0) 15075 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)) 15076 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint32((_BRlen-CARD32(1))<<2)) 15077 *(*CARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + CARD32(len) + CARD32(2) 15078 { 15079 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 15080 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp, uint32(4)) 15081 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((4 + 3) & libc.CplInt32(3)) 15082 } else { 15083 x11.X_XSend(tls, dpy, bp, 4) 15084 } 15085 } 15086 15087 } 15088 } else { 15089 len = len 15090 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 15091 } 15092 } else { 15093 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 15094 } 15095 len <<= 2 15096 { 15097 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 15098 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint32(int32(len))) 15099 *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr((len + 3) & libc.CplInt32(3)) 15100 } else { 15101 x11.X_XSend(tls, dpy, points, len) 15102 } 15103 } 15104 15105 npoint = npoint - (n - 1) 15106 points += 8 * uintptr(n-1) 15107 } 15108 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15109 (*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) 15110 } 15111 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 15112 (*struct { 15113 f func(*libc.TLS, uintptr) int32 15114 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 15115 } 15116 } 15117 15118 // Xlib uses long for 32-bit values. Xrender uses int. This 15119 // matters on alpha. Note that this macro assumes that int is 32 bits 15120 // except on WORD64 machines where it is 64 bits. 15121 15122 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 15123 // 15124 // This file is part of GCC. 15125 // 15126 // GCC is free software; you can redistribute it and/or modify it under 15127 // the terms of the GNU General Public License as published by the Free 15128 // Software Foundation; either version 3, or (at your option) any later 15129 // version. 15130 // 15131 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 15132 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 15133 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15134 // for more details. 15135 // 15136 // Under Section 7 of GPL version 3, you are granted additional 15137 // permissions described in the GCC Runtime Library Exception, version 15138 // 3.1, as published by the Free Software Foundation. 15139 // 15140 // You should have received a copy of the GNU General Public License and 15141 // a copy of the GCC Runtime Library Exception along with this program; 15142 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 15143 // <http://www.gnu.org/licenses/>. 15144 15145 // This administrivia gets added to the beginning of limits.h 15146 // if the system has its own version of limits.h. 15147 15148 // We use _GCC_LIMITS_H_ because we want this not to match 15149 // any macros that the system's limits.h uses for its own purposes. 15150 15151 // Use "..." so that we find syslimits.h only in this same directory. 15152 // syslimits.h stands for the system's own limits.h file. 15153 // If we can use it ok unmodified, then we install this text. 15154 // If fixincludes fixes it, then the fixed version is installed 15155 // instead of this text. 15156 15157 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15158 // This file is part of the GNU C Library. 15159 // 15160 // The GNU C Library is free software; you can redistribute it and/or 15161 // modify it under the terms of the GNU Lesser General Public 15162 // License as published by the Free Software Foundation; either 15163 // version 2.1 of the License, or (at your option) any later version. 15164 // 15165 // The GNU C Library is distributed in the hope that it will be useful, 15166 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15167 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15168 // Lesser General Public License for more details. 15169 // 15170 // You should have received a copy of the GNU Lesser General Public 15171 // License along with the GNU C Library; if not, see 15172 // <https://www.gnu.org/licenses/>. 15173 15174 // ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h> 15175 15176 // Handle feature test macros at the start of a header. 15177 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 15178 // This file is part of the GNU C Library. 15179 // 15180 // The GNU C Library is free software; you can redistribute it and/or 15181 // modify it under the terms of the GNU Lesser General Public 15182 // License as published by the Free Software Foundation; either 15183 // version 2.1 of the License, or (at your option) any later version. 15184 // 15185 // The GNU C Library is distributed in the hope that it will be useful, 15186 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15187 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15188 // Lesser General Public License for more details. 15189 // 15190 // You should have received a copy of the GNU Lesser General Public 15191 // License along with the GNU C Library; if not, see 15192 // <https://www.gnu.org/licenses/>. 15193 15194 // This header is internal to glibc and should not be included outside 15195 // of glibc headers. Headers including it must define 15196 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 15197 // cannot have multiple include guards because ISO C feature test 15198 // macros depend on the definition of the macro when an affected 15199 // header is included, not when the first system header is 15200 // included. 15201 15202 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15203 // This file is part of the GNU C Library. 15204 // 15205 // The GNU C Library is free software; you can redistribute it and/or 15206 // modify it under the terms of the GNU Lesser General Public 15207 // License as published by the Free Software Foundation; either 15208 // version 2.1 of the License, or (at your option) any later version. 15209 // 15210 // The GNU C Library is distributed in the hope that it will be useful, 15211 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15212 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15213 // Lesser General Public License for more details. 15214 // 15215 // You should have received a copy of the GNU Lesser General Public 15216 // License along with the GNU C Library; if not, see 15217 // <https://www.gnu.org/licenses/>. 15218 15219 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 15220 // macro. 15221 15222 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 15223 // macro. Most but not all symbols enabled by that macro in TS 15224 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 15225 // still require that macro in C2X. 15226 15227 // ISO/IEC TS 18661-4:2015 defines the 15228 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 15229 // functions, the symbols from this TS are enabled unconditionally in 15230 // C2X. 15231 15232 // ISO/IEC TS 18661-3:2015 defines the 15233 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 15234 15235 // Maximum length of any multibyte character in any locale. 15236 // We define this value here since the gcc header does not define 15237 // the correct value. 15238 15239 // If we are not using GNU CC we have to define all the symbols ourself. 15240 // Otherwise use gcc's definitions (see below). 15241 15242 // Get the compiler's limits.h, which defines almost all the ISO constants. 15243 // 15244 // We put this #include_next outside the double inclusion check because 15245 // it should be possible to include this file more than once and still get 15246 // the definitions from gcc's header. 15247 15248 // The <limits.h> files in some gcc versions don't define LLONG_MIN, 15249 // LLONG_MAX, and ULLONG_MAX. Instead only the values gcc defined for 15250 // ages are available. 15251 15252 // The integer width macros are not defined by GCC's <limits.h> before 15253 // GCC 7, or if _GNU_SOURCE rather than 15254 // __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. 15255 15256 // POSIX adds things to <limits.h>. 15257 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15258 // This file is part of the GNU C Library. 15259 // 15260 // The GNU C Library is free software; you can redistribute it and/or 15261 // modify it under the terms of the GNU Lesser General Public 15262 // License as published by the Free Software Foundation; either 15263 // version 2.1 of the License, or (at your option) any later version. 15264 // 15265 // The GNU C Library is distributed in the hope that it will be useful, 15266 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15267 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15268 // Lesser General Public License for more details. 15269 // 15270 // You should have received a copy of the GNU Lesser General Public 15271 // License along with the GNU C Library; if not, see 15272 // <https://www.gnu.org/licenses/>. 15273 15274 // POSIX Standard: 2.9.2 Minimum Values Added to <limits.h> 15275 // 15276 // Never include this file directly; use <limits.h> instead. 15277 15278 // Copyright (C) 1999-2020 Free Software Foundation, Inc. 15279 // This file is part of the GNU C Library. 15280 // 15281 // The GNU C Library is free software; you can redistribute it and/or 15282 // modify it under the terms of the GNU Lesser General Public 15283 // License as published by the Free Software Foundation; either 15284 // version 2.1 of the License, or (at your option) any later version. 15285 // 15286 // The GNU C Library is distributed in the hope that it will be useful, 15287 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15288 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15289 // Lesser General Public License for more details. 15290 // 15291 // You should have received a copy of the GNU Lesser General Public 15292 // License along with the GNU C Library; if not, see 15293 // <https://www.gnu.org/licenses/>. 15294 15295 // These are the standard-mandated minimum values. 15296 15297 // Minimum number of operations in one list I/O call. 15298 15299 // Minimal number of outstanding asynchronous I/O operations. 15300 15301 // Maximum length of arguments to `execve', including environment. 15302 15303 // Maximum simultaneous processes per real user ID. 15304 15305 // Minimal number of timer expiration overruns. 15306 15307 // Maximum length of a host name (not including the terminating null) 15308 // as returned from the GETHOSTNAME function. 15309 15310 // Maximum link count of a file. 15311 15312 // Maximum length of login name. 15313 15314 // Number of bytes in a terminal canonical input queue. 15315 15316 // Number of bytes for which space will be 15317 // available in a terminal input queue. 15318 15319 // Maximum number of message queues open for a process. 15320 15321 // Maximum number of supported message priorities. 15322 15323 // Number of bytes in a filename. 15324 15325 // Number of simultaneous supplementary group IDs per process. 15326 15327 // Number of files one process can have open at once. 15328 15329 // Number of bytes in a pathname. 15330 15331 // Number of bytes than can be written atomically to a pipe. 15332 15333 // The number of repeated occurrences of a BRE permitted by the 15334 // REGEXEC and REGCOMP functions when using the interval notation. 15335 15336 // Minimal number of realtime signals reserved for the application. 15337 15338 // Number of semaphores a process can have. 15339 15340 // Maximal value of a semaphore. 15341 15342 // Number of pending realtime signals. 15343 15344 // Largest value of a `ssize_t'. 15345 15346 // Number of streams a process can have open at once. 15347 15348 // The number of bytes in a symbolic link. 15349 15350 // The number of symbolic links that can be traversed in the 15351 // resolution of a pathname in the absence of a loop. 15352 15353 // Number of timer for a process. 15354 15355 // Maximum number of characters in a tty name. 15356 15357 // Maximum length of a timezone name (element of `tzname'). 15358 15359 // Maximum clock resolution in nanoseconds. 15360 15361 // Get the implementation-specific values for the above. 15362 // Minimum guaranteed maximum values for system limits. Linux version. 15363 // Copyright (C) 1993-2020 Free Software Foundation, Inc. 15364 // This file is part of the GNU C Library. 15365 // 15366 // The GNU C Library is free software; you can redistribute it and/or 15367 // modify it under the terms of the GNU Lesser General Public License as 15368 // published by the Free Software Foundation; either version 2.1 of the 15369 // License, or (at your option) any later version. 15370 // 15371 // The GNU C Library is distributed in the hope that it will be useful, 15372 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15373 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15374 // Lesser General Public License for more details. 15375 // 15376 // You should have received a copy of the GNU Lesser General Public 15377 // License along with the GNU C Library; see the file COPYING.LIB. If 15378 // not, see <https://www.gnu.org/licenses/>. 15379 15380 // The kernel header pollutes the namespace with the NR_OPEN symbol 15381 // and defines LINK_MAX although filesystems have different maxima. A 15382 // similar thing is true for OPEN_MAX: the limit can be changed at 15383 // runtime and therefore the macro must not be defined. Remove this 15384 // after including the header if necessary. 15385 15386 // The kernel sources contain a file with all the needed information. 15387 // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note 15388 15389 // Have to remove NR_OPEN? 15390 // Have to remove LINK_MAX? 15391 // Have to remove OPEN_MAX? 15392 // Have to remove ARG_MAX? 15393 15394 // The number of data keys per process. 15395 // This is the value this implementation supports. 15396 15397 // Controlling the iterations of destructors for thread-specific data. 15398 // Number of iterations this implementation does. 15399 15400 // The number of threads per process. 15401 // We have no predefined limit on the number of threads. 15402 15403 // Maximum amount by which a process can descrease its asynchronous I/O 15404 // priority level. 15405 15406 // Minimum size for a thread. We are free to choose a reasonable value. 15407 15408 // Maximum number of timer expiration overruns. 15409 15410 // Maximum tty name length. 15411 15412 // Maximum login name length. This is arbitrary. 15413 15414 // Maximum host name length. 15415 15416 // Maximum message queue priority level. 15417 15418 // Maximum value the semaphore can have. 15419 15420 // ssize_t is not formally required to be the signed type 15421 // corresponding to size_t, but it is for all configurations supported 15422 // by glibc. 15423 15424 // This value is a guaranteed minimum maximum. 15425 // The current maximum can be got from `sysconf'. 15426 15427 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15428 // This file is part of the GNU C Library. 15429 // 15430 // The GNU C Library is free software; you can redistribute it and/or 15431 // modify it under the terms of the GNU Lesser General Public 15432 // License as published by the Free Software Foundation; either 15433 // version 2.1 of the License, or (at your option) any later version. 15434 // 15435 // The GNU C Library is distributed in the hope that it will be useful, 15436 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15437 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15438 // Lesser General Public License for more details. 15439 // 15440 // You should have received a copy of the GNU Lesser General Public 15441 // License along with the GNU C Library; if not, see 15442 // <https://www.gnu.org/licenses/>. 15443 15444 // Never include this file directly; include <limits.h> instead. 15445 15446 // The maximum `ibase' and `obase' values allowed by the `bc' utility. 15447 15448 // The maximum number of elements allowed in an array by the `bc' utility. 15449 15450 // The maximum `scale' value allowed by the `bc' utility. 15451 15452 // The maximum length of a string constant accepted by the `bc' utility. 15453 15454 // The maximum number of weights that can be assigned to an entry of 15455 // the LC_COLLATE `order' keyword in the locale definition file. 15456 15457 // The maximum number of expressions that can be nested 15458 // within parentheses by the `expr' utility. 15459 15460 // The maximum length, in bytes, of an input line. 15461 15462 // The maximum number of repeated occurrences of a regular expression 15463 // permitted when using the interval notation `\{M,N\}'. 15464 15465 // The maximum number of bytes in a character class name. We have no 15466 // fixed limit, 2048 is a high number. 15467 15468 // These values are implementation-specific, 15469 // and may vary within the implementation. 15470 // Their precise values can be obtained from sysconf. 15471 15472 // This value is defined like this in regex.h. 15473 15474 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15475 // 15476 // This file is part of GCC. 15477 // 15478 // GCC is free software; you can redistribute it and/or modify it under 15479 // the terms of the GNU General Public License as published by the Free 15480 // Software Foundation; either version 3, or (at your option) any later 15481 // version. 15482 // 15483 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 15484 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 15485 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15486 // for more details. 15487 // 15488 // Under Section 7 of GPL version 3, you are granted additional 15489 // permissions described in the GCC Runtime Library Exception, version 15490 // 3.1, as published by the Free Software Foundation. 15491 // 15492 // You should have received a copy of the GNU General Public License and 15493 // a copy of the GCC Runtime Library Exception along with this program; 15494 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 15495 // <http://www.gnu.org/licenses/>. 15496 15497 // Number of bits in a `char'. 15498 15499 // Maximum length of a multibyte character. 15500 15501 // Minimum and maximum values a `signed char' can hold. 15502 15503 // Maximum value an `unsigned char' can hold. (Minimum is 0). 15504 15505 // Minimum and maximum values a `char' can hold. 15506 15507 // Minimum and maximum values a `signed short int' can hold. 15508 15509 // Maximum value an `unsigned short int' can hold. (Minimum is 0). 15510 15511 // Minimum and maximum values a `signed int' can hold. 15512 15513 // Maximum value an `unsigned int' can hold. (Minimum is 0). 15514 15515 // Minimum and maximum values a `signed long int' can hold. 15516 // (Same as `int'). 15517 15518 // Maximum value an `unsigned long int' can hold. (Minimum is 0). 15519 15520 // Minimum and maximum values a `signed long long int' can hold. 15521 15522 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 15523 15524 // This administrivia gets added to the end of limits.h 15525 // if the system has its own version of limits.h. 15526 15527 var XXRenderExtensionInfo XRenderExtInfo /* Xrender.c:31:16: */ 15528 var XXRenderExtensionName = *(*[7]uint8)(unsafe.Pointer(ts + 6 /* "RENDER" */)) /* Xrender.c:32:6 */ 15529 15530 // XRenderExtFindDisplay - look for a display in this extension; keeps a 15531 // cache of the most-recently used for efficiency. (Replaces 15532 // XextFindDisplay.) 15533 func sXRenderExtFindDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) uintptr { /* Xrender.c:41:30: */ 15534 var dpyinfo uintptr 15535 15536 // see if this was the most recently accessed display 15537 if libc.AssignUintptr(&dpyinfo, (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur) != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy { 15538 return dpyinfo 15539 } 15540 15541 // look for display in list 15542 if x11.X_XLockMutex_fn != 0 { 15543 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15544 } 15545 for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext { 15546 if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy { 15547 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo // cache most recently used 15548 if x11.X_XUnlockMutex_fn != 0 { 15549 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15550 } 15551 return dpyinfo 15552 } 15553 } 15554 if x11.X_XUnlockMutex_fn != 0 { 15555 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15556 } 15557 15558 return uintptr(0) 15559 } 15560 15561 // If the server is missing support for any of the required depths on 15562 // any screen, tell the application that Render is not present. 15563 15564 // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps 15565 15566 type X_DepthCheckRec = struct { 15567 Fnext uintptr 15568 Fdpy uintptr 15569 Fmissing CARD32 15570 Fserial uint32 15571 } /* Xrender.c:86:9 */ 15572 15573 // If the server is missing support for any of the required depths on 15574 // any screen, tell the application that Render is not present. 15575 15576 // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps 15577 15578 type DepthCheckRec = X_DepthCheckRec /* Xrender.c:91:3 */ 15579 type DepthCheckPtr = uintptr /* Xrender.c:91:18 */ 15580 15581 var depthChecks DepthCheckPtr /* Xrender.c:93:22: */ 15582 15583 func sXRenderDepthCheckErrorHandler(tls *libc.TLS, dpy uintptr, evt uintptr) int32 { /* Xrender.c:96:1: */ 15584 if int32((*XErrorEvent)(unsafe.Pointer(evt)).Frequest_code) == X_CreatePixmap && int32((*XErrorEvent)(unsafe.Pointer(evt)).Ferror_code) == BadValue { 15585 var d DepthCheckPtr 15586 if x11.X_XLockMutex_fn != 0 { 15587 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15588 } 15589 for d = depthChecks; d != 0; d = (*X_DepthCheckRec)(unsafe.Pointer(d)).Fnext { 15590 if (*X_DepthCheckRec)(unsafe.Pointer(d)).Fdpy == dpy { 15591 if int32((*XErrorEvent)(unsafe.Pointer(evt)).Fserial-(*X_DepthCheckRec)(unsafe.Pointer(d)).Fserial) >= 0 { 15592 *(*CARD32)(unsafe.Pointer(d + 8)) |= CARD32(uint32(1) << ((*XErrorEvent)(unsafe.Pointer(evt)).Fresourceid - XID(1))) 15593 } 15594 break 15595 } 15596 } 15597 if x11.X_XUnlockMutex_fn != 0 { 15598 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15599 } 15600 } 15601 return 0 15602 } 15603 15604 func sXRenderHasDepths(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:115:1: */ 15605 bp := tls.Alloc(16) 15606 defer tls.Free(16) 15607 15608 var s int32 15609 15610 for s = 0; s < (*struct { 15611 Fext_data uintptr 15612 Fprivate1 uintptr 15613 Ffd int32 15614 Fprivate2 int32 15615 Fproto_major_version int32 15616 Fproto_minor_version int32 15617 Fvendor uintptr 15618 Fprivate3 XID 15619 Fprivate4 XID 15620 Fprivate5 XID 15621 Fprivate6 int32 15622 Fresource_alloc uintptr 15623 Fbyte_order int32 15624 Fbitmap_unit int32 15625 Fbitmap_pad int32 15626 Fbitmap_bit_order int32 15627 Fnformats int32 15628 Fpixmap_format uintptr 15629 Fprivate8 int32 15630 Frelease int32 15631 Fprivate9 uintptr 15632 Fprivate10 uintptr 15633 Fqlen int32 15634 Flast_request_read uint32 15635 Frequest uint32 15636 Fprivate11 XPointer 15637 Fprivate12 XPointer 15638 Fprivate13 XPointer 15639 Fprivate14 XPointer 15640 Fmax_request_size uint32 15641 Fdb uintptr 15642 Fprivate15 uintptr 15643 Fdisplay_name uintptr 15644 Fdefault_screen int32 15645 Fnscreens int32 15646 Fscreens uintptr 15647 Fmotion_buffer uint32 15648 Fprivate16 uint32 15649 Fmin_keycode int32 15650 Fmax_keycode int32 15651 Fprivate17 XPointer 15652 Fprivate18 XPointer 15653 Fprivate19 int32 15654 Fxdefaults uintptr 15655 })(unsafe.Pointer(dpy)).Fnscreens; s++ { 15656 var depths CARD32 = CARD32(0) 15657 var missing CARD32 15658 var scr uintptr = (*struct { 15659 Fext_data uintptr 15660 Fprivate1 uintptr 15661 Ffd int32 15662 Fprivate2 int32 15663 Fproto_major_version int32 15664 Fproto_minor_version int32 15665 Fvendor uintptr 15666 Fprivate3 XID 15667 Fprivate4 XID 15668 Fprivate5 XID 15669 Fprivate6 int32 15670 Fresource_alloc uintptr 15671 Fbyte_order int32 15672 Fbitmap_unit int32 15673 Fbitmap_pad int32 15674 Fbitmap_bit_order int32 15675 Fnformats int32 15676 Fpixmap_format uintptr 15677 Fprivate8 int32 15678 Frelease int32 15679 Fprivate9 uintptr 15680 Fprivate10 uintptr 15681 Fqlen int32 15682 Flast_request_read uint32 15683 Frequest uint32 15684 Fprivate11 XPointer 15685 Fprivate12 XPointer 15686 Fprivate13 XPointer 15687 Fprivate14 XPointer 15688 Fmax_request_size uint32 15689 Fdb uintptr 15690 Fprivate15 uintptr 15691 Fdisplay_name uintptr 15692 Fdefault_screen int32 15693 Fnscreens int32 15694 Fscreens uintptr 15695 Fmotion_buffer uint32 15696 Fprivate16 uint32 15697 Fmin_keycode int32 15698 Fmax_keycode int32 15699 Fprivate17 XPointer 15700 Fprivate18 XPointer 15701 Fprivate19 int32 15702 Fxdefaults uintptr 15703 })(unsafe.Pointer(dpy)).Fscreens + uintptr(s)*80 15704 var d int32 15705 15706 for d = 0; d < (*Screen)(unsafe.Pointer(scr)).Fndepths; d++ { 15707 depths = depths | CARD32(uint32(1)<<((*Depth)(unsafe.Pointer((*Screen)(unsafe.Pointer(scr)).Fdepths+uintptr(d)*12)).Fdepth-1)) 15708 } 15709 missing = ^depths & (uint32(1)<<(1-1) | uint32(1)<<(4-1) | uint32(1)<<(8-1) | uint32(1)<<(24-1) | uint32(1)<<(32-1)) 15710 if missing != 0 { 15711 // var dc DepthCheckRec at bp, 16 15712 15713 var dp uintptr 15714 var previousHandler XErrorHandler 15715 15716 // Ok, this is ugly. It should be sufficient at this 15717 // point to just return False, but Xinerama is broken at 15718 // this point and only advertises depths which have an 15719 // associated visual. Of course, the other depths still 15720 // work, but the only way to find out is to try them. 15721 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fdpy = dpy 15722 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fmissing = CARD32(0) 15723 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fserial = x11.XXNextRequest(tls, dpy) 15724 if x11.X_XLockMutex_fn != 0 { 15725 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15726 } 15727 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext = depthChecks 15728 depthChecks = bp /* &dc */ 15729 if x11.X_XUnlockMutex_fn != 0 { 15730 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15731 } 15732 // I suspect this is not really thread safe, but Xlib doesn't 15733 // provide a lot of options here 15734 previousHandler = x11.XXSetErrorHandler(tls, *(*uintptr)(unsafe.Pointer(&struct { 15735 f func(*libc.TLS, uintptr, uintptr) int32 15736 }{sXRenderDepthCheckErrorHandler}))) 15737 // Try each missing depth and see if pixmap creation succeeds 15738 for d = 1; d <= 32; d++ { 15739 // don't check depth 1 == Xcursor recurses... 15740 if missing&CARD32(uint32(1)<<(d-1)) != 0 && d != 1 { 15741 var p Pixmap 15742 p = x11.XXCreatePixmap(tls, dpy, (*Screen)(unsafe.Pointer((*struct { 15743 Fext_data uintptr 15744 Fprivate1 uintptr 15745 Ffd int32 15746 Fprivate2 int32 15747 Fproto_major_version int32 15748 Fproto_minor_version int32 15749 Fvendor uintptr 15750 Fprivate3 XID 15751 Fprivate4 XID 15752 Fprivate5 XID 15753 Fprivate6 int32 15754 Fresource_alloc uintptr 15755 Fbyte_order int32 15756 Fbitmap_unit int32 15757 Fbitmap_pad int32 15758 Fbitmap_bit_order int32 15759 Fnformats int32 15760 Fpixmap_format uintptr 15761 Fprivate8 int32 15762 Frelease int32 15763 Fprivate9 uintptr 15764 Fprivate10 uintptr 15765 Fqlen int32 15766 Flast_request_read uint32 15767 Frequest uint32 15768 Fprivate11 XPointer 15769 Fprivate12 XPointer 15770 Fprivate13 XPointer 15771 Fprivate14 XPointer 15772 Fmax_request_size uint32 15773 Fdb uintptr 15774 Fprivate15 uintptr 15775 Fdisplay_name uintptr 15776 Fdefault_screen int32 15777 Fnscreens int32 15778 Fscreens uintptr 15779 Fmotion_buffer uint32 15780 Fprivate16 uint32 15781 Fmin_keycode int32 15782 Fmax_keycode int32 15783 Fprivate17 XPointer 15784 Fprivate18 XPointer 15785 Fprivate19 int32 15786 Fxdefaults uintptr 15787 })(unsafe.Pointer(dpy)).Fscreens+uintptr(s)*80)).Froot, uint32(1), uint32(1), uint32(d)) 15788 x11.XXFreePixmap(tls, dpy, p) 15789 } 15790 } 15791 x11.XXSync(tls, dpy, False) 15792 x11.XXSetErrorHandler(tls, previousHandler) 15793 // Unhook from the list of depth check records 15794 if x11.X_XLockMutex_fn != 0 { 15795 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15796 } 15797 for dp = uintptr(unsafe.Pointer(&depthChecks)); *(*uintptr)(unsafe.Pointer(dp)) != 0; dp = *(*uintptr)(unsafe.Pointer(dp)) { 15798 if *(*uintptr)(unsafe.Pointer(dp)) == bp { 15799 *(*uintptr)(unsafe.Pointer(dp)) = (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext 15800 break 15801 } 15802 } 15803 if x11.X_XUnlockMutex_fn != 0 { 15804 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15805 } 15806 if (*DepthCheckRec)(unsafe.Pointer(bp)).Fmissing != 0 { 15807 return False 15808 } 15809 } 15810 } 15811 return True 15812 } 15813 15814 // XRenderExtAddDisplay - add a display to this extension. (Replaces 15815 // XextAddDisplay) 15816 func sXRenderExtAddDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr, ext_name uintptr) uintptr { /* Xrender.c:190:30: */ 15817 var dpyinfo uintptr 15818 15819 dpyinfo = libc.Xmalloc(tls, func() uint32 { 15820 if uint32(unsafe.Sizeof(XRenderExtDisplayInfo{})) == uint32(0) { 15821 return uint32(1) 15822 } 15823 return uint32(unsafe.Sizeof(XRenderExtDisplayInfo{})) 15824 }()) 15825 if !(dpyinfo != 0) { 15826 return uintptr(0) 15827 } 15828 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay = dpy 15829 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Finfo = uintptr(0) 15830 15831 if sXRenderHasDepths(tls, dpy) != 0 { 15832 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = x11.XXInitExtension(tls, dpy, ext_name) 15833 } else { 15834 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = uintptr(0) 15835 } 15836 15837 // if the server has the extension, then we can initialize the 15838 // appropriate function vectors 15839 if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes != 0 { 15840 x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes)).Fextension, 15841 *(*uintptr)(unsafe.Pointer(&struct { 15842 f func(*libc.TLS, uintptr, uintptr) int32 15843 }{sXRenderCloseDisplay}))) 15844 } else { 15845 // The server doesn't have this extension. 15846 // Use a private Xlib-internal extension to hang the close_display 15847 // hook on so that the "cache" (extinfo->cur) is properly cleaned. 15848 // (XBUG 7955) 15849 var codes uintptr = x11.XXAddExtension(tls, dpy) 15850 if !(codes != 0) { 15851 x11.XXFree(tls, dpyinfo) 15852 return uintptr(0) 15853 } 15854 x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer(codes)).Fextension, *(*uintptr)(unsafe.Pointer(&struct { 15855 f func(*libc.TLS, uintptr, uintptr) int32 15856 }{sXRenderCloseDisplay}))) 15857 } 15858 15859 // now, chain it onto the list 15860 if x11.X_XLockMutex_fn != 0 { 15861 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15862 } 15863 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead 15864 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = dpyinfo 15865 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo 15866 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays++ 15867 if x11.X_XUnlockMutex_fn != 0 { 15868 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15869 } 15870 return dpyinfo 15871 } 15872 15873 // XRenderExtRemoveDisplay - remove the indicated display from the 15874 // extension object. (Replaces XextRemoveDisplay.) 15875 func sXRenderExtRemoveDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) int32 { /* Xrender.c:246:1: */ 15876 var dpyinfo uintptr 15877 var prev uintptr 15878 15879 // locate this display and its back link so that it can be removed 15880 if x11.X_XLockMutex_fn != 0 { 15881 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15882 } 15883 prev = uintptr(0) 15884 for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext { 15885 if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy { 15886 break 15887 } 15888 prev = dpyinfo 15889 } 15890 if !(dpyinfo != 0) { 15891 if x11.X_XUnlockMutex_fn != 0 { 15892 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15893 } 15894 return 0 // hmm, actually an error 15895 } 15896 15897 // remove the display from the list; handles going to zero 15898 if prev != 0 { 15899 (*XRenderExtDisplayInfo)(unsafe.Pointer(prev)).Fnext = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext 15900 } else { 15901 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext 15902 } 15903 15904 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays-- 15905 if dpyinfo == (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur { 15906 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = uintptr(0) 15907 } // flush cache 15908 if x11.X_XUnlockMutex_fn != 0 { 15909 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15910 } 15911 15912 libc.Xfree(tls, dpyinfo) 15913 return 1 15914 } 15915 15916 func XXRenderFindDisplay(tls *libc.TLS, dpy uintptr) uintptr { /* Xrender.c:282:23: */ 15917 var dpyinfo uintptr 15918 15919 dpyinfo = sXRenderExtFindDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy) 15920 if !(dpyinfo != 0) { 15921 dpyinfo = sXRenderExtAddDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy, 15922 uintptr(unsafe.Pointer(&XXRenderExtensionName))) 15923 } 15924 return dpyinfo 15925 } 15926 15927 func sXRenderCloseDisplay(tls *libc.TLS, dpy uintptr, codes uintptr) int32 { /* Xrender.c:295:1: */ 15928 var info uintptr = XXRenderFindDisplay(tls, dpy) 15929 if info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0 { 15930 x11.XXFree(tls, (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo) 15931 } 15932 15933 return sXRenderExtRemoveDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy) 15934 } 15935 15936 // *************************************************************************** 15937 // 15938 // * 15939 // Render public interfaces * 15940 // * 15941 // 15942 15943 func XXRenderQueryExtension(tls *libc.TLS, dpy uintptr, event_basep uintptr, error_basep uintptr) int32 { /* Xrender.c:309:6: */ 15944 var info uintptr = XXRenderFindDisplay(tls, dpy) 15945 15946 if info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0 { 15947 *(*int32)(unsafe.Pointer(event_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_event 15948 *(*int32)(unsafe.Pointer(error_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_error 15949 return True 15950 } else { 15951 return False 15952 } 15953 return int32(0) 15954 } 15955 15956 func XXRenderQueryVersion(tls *libc.TLS, dpy uintptr, major_versionp uintptr, minor_versionp uintptr) int32 { /* Xrender.c:323:8: */ 15957 var info uintptr = XXRenderFindDisplay(tls, dpy) 15958 var xri uintptr 15959 15960 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 15961 return 0 15962 } 15963 15964 if !(XXRenderQueryFormats(tls, dpy) != 0) { 15965 return 0 15966 } 15967 15968 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 15969 *(*int32)(unsafe.Pointer(major_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version 15970 *(*int32)(unsafe.Pointer(minor_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version 15971 return 1 15972 } 15973 15974 func _XRenderFindFormat(tls *libc.TLS, xri uintptr, format PictFormat) uintptr { /* Xrender.c:342:26: */ 15975 var nf int32 15976 15977 for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ { 15978 if (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fid == format { 15979 return (*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32 15980 } 15981 } 15982 return uintptr(0) 15983 } 15984 15985 func _XRenderFindVisual(tls *libc.TLS, dpy uintptr, vid VisualID) uintptr { /* Xrender.c:353:15: */ 15986 return x11.X_XVIDtoVisual(tls, dpy, vid) 15987 } 15988 15989 type X_renderVersionState = struct { 15990 Fversion_seq uint32 15991 Ferror int32 15992 Fmajor_version int32 15993 Fminor_version int32 15994 } /* Xrender.c:359:9 */ 15995 15996 type X_XrenderVersionState = X_renderVersionState /* Xrender.c:365:3 */ 15997 15998 func _XRenderVersionHandler(tls *libc.TLS, dpy uintptr, rep uintptr, buf uintptr, len int32, data XPointer) int32 { /* Xrender.c:368:1: */ 15999 bp := tls.Alloc(32) 16000 defer tls.Free(32) 16001 16002 // var replbuf XRenderQueryVersionReply at bp, 32 16003 16004 var repl uintptr 16005 var state uintptr = data 16006 16007 if (*Display)(unsafe.Pointer(dpy)).Flast_request_read != (*X_XrenderVersionState)(unsafe.Pointer(state)).Fversion_seq { 16008 return False 16009 } 16010 if int32((*XGenericReply)(unsafe.Pointer(rep)).Ftype) == X_Error { 16011 (*X_XrenderVersionState)(unsafe.Pointer(state)).Ferror = True 16012 return False 16013 } 16014 repl = x11.X_XGetAsyncReply(tls, dpy, bp, rep, buf, len, 16015 int32(Sz_xRenderQueryVersionReply-Sz_xReply)>>2, 16016 True) 16017 (*X_XrenderVersionState)(unsafe.Pointer(state)).Fmajor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FmajorVersion) 16018 (*X_XrenderVersionState)(unsafe.Pointer(state)).Fminor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FminorVersion) 16019 return True 16020 } 16021 16022 func XXRenderQueryFormats(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:395:1: */ 16023 bp := tls.Alloc(60) 16024 defer tls.Free(60) 16025 16026 var info uintptr = XXRenderFindDisplay(tls, dpy) 16027 // var async X_XAsyncHandler at bp+16, 12 16028 16029 // var async_state X_XrenderVersionState at bp, 16 16030 16031 var vreq uintptr 16032 // var rep XRenderQueryPictFormatsReply at bp+28, 32 16033 16034 var req uintptr 16035 var xri uintptr 16036 var format uintptr 16037 var screen uintptr 16038 var depth uintptr 16039 var visual uintptr 16040 var xFormat uintptr 16041 var xScreen uintptr 16042 var xDepth uintptr 16043 var xVisual uintptr 16044 var xSubpixel uintptr 16045 var xData uintptr 16046 var nf int32 16047 var ns int32 16048 var nd int32 16049 var nv int32 16050 var rlength uint32 16051 var nbytes uint32 16052 16053 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16054 return 0 16055 } 16056 16057 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16058 (*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) 16059 } 16060 if (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0 { 16061 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16062 (*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) 16063 } 16064 return 1 16065 } 16066 vreq = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryVersion), uint32(Sz_xRenderQueryVersionReq)) 16067 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 16068 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FrenderReqType = CARD8(X_RenderQueryVersion) 16069 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FmajorVersion = CARD32(RENDER_MAJOR) 16070 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FminorVersion = CARD32(RENDER_MINOR) 16071 16072 (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fversion_seq = (*Display)(unsafe.Pointer(dpy)).Frequest 16073 (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Ferror = False 16074 (*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fnext = (*Display)(unsafe.Pointer(dpy)).Fasync_handlers 16075 (*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fhandler = *(*uintptr)(unsafe.Pointer(&struct { 16076 f func(*libc.TLS, uintptr, uintptr, uintptr, int32, XPointer) int32 16077 }{_XRenderVersionHandler})) 16078 (*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fdata = bp /* &async_state */ 16079 (*Display)(unsafe.Pointer(dpy)).Fasync_handlers = bp + 16 /* &async */ 16080 16081 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictFormats), uint32(Sz_xRenderQueryPictFormatsReq)) 16082 (*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 16083 (*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictFormats) 16084 16085 if !(x11.X_XReply(tls, dpy, bp+28, 0, XFalse) != 0) { 16086 { 16087 if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == bp+16 { 16088 (*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 16)).Fnext 16089 } else { 16090 x11.X_XDeqAsyncHandler(tls, dpy, bp+16) 16091 } 16092 } 16093 16094 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16095 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 16096 } 16097 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16098 (*struct { 16099 f func(*libc.TLS, uintptr) int32 16100 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16101 } 16102 return 0 16103 } 16104 { 16105 if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == bp+16 { 16106 (*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 16)).Fnext 16107 } else { 16108 x11.X_XDeqAsyncHandler(tls, dpy, bp+16) 16109 } 16110 } 16111 16112 if (*X_XrenderVersionState)(unsafe.Pointer(bp)).Ferror != 0 { 16113 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16114 (*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) 16115 } 16116 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16117 (*struct { 16118 f func(*libc.TLS, uintptr) int32 16119 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16120 } 16121 return 0 16122 } 16123 // Check for the lack of sub-pixel data 16124 if (*X_XrenderVersionState)(unsafe.Pointer(bp)).Fmajor_version == 0 && (*X_XrenderVersionState)(unsafe.Pointer(bp)).Fminor_version < 6 { 16125 (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumSubpixel = CARD32(0) 16126 } 16127 16128 if (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumFormats < uint32(0x7fffffff/4)/uint32(unsafe.Sizeof(XRenderPictFormat{})) && (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumScreens < uint32(0x7fffffff/4)/uint32(unsafe.Sizeof(XRenderScreen{})) && (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumDepths < uint32(0x7fffffff/4)/uint32(unsafe.Sizeof(XRenderDepth{})) && (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumVisuals < uint32(0x7fffffff/4)/uint32(unsafe.Sizeof(XRenderVisual{})) && (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumSubpixel < CARD32(0x7fffffff/4/4) && (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).Flength < CARD32(int32(0x7fffffff)>>2) { 16129 xri = libc.Xmalloc(tls, func() uint32 { 16130 if CARD32(unsafe.Sizeof(XRenderInfo{}))+(*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumFormats*CARD32(unsafe.Sizeof(XRenderPictFormat{}))+(*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumScreens*CARD32(unsafe.Sizeof(XRenderScreen{}))+(*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumDepths*CARD32(unsafe.Sizeof(XRenderDepth{}))+(*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumVisuals*CARD32(unsafe.Sizeof(XRenderVisual{})) == CARD32(0) { 16131 return uint32(1) 16132 } 16133 return uint32(CARD32(unsafe.Sizeof(XRenderInfo{})) + (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumFormats*CARD32(unsafe.Sizeof(XRenderPictFormat{})) + (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumScreens*CARD32(unsafe.Sizeof(XRenderScreen{})) + (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumDepths*CARD32(unsafe.Sizeof(XRenderDepth{})) + (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumVisuals*CARD32(unsafe.Sizeof(XRenderVisual{}))) 16134 }()) 16135 rlength = (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumFormats*CARD32(unsafe.Sizeof(XPictFormInfo{})) + (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumScreens*CARD32(unsafe.Sizeof(XPictScreen{})) + (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumDepths*CARD32(unsafe.Sizeof(XPictDepth{})) + (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumVisuals*CARD32(unsafe.Sizeof(XPictVisual{})) + (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumSubpixel*CARD32(4) 16136 xData = libc.Xmalloc(tls, func() uint32 { 16137 if rlength == uint32(0) { 16138 return uint32(1) 16139 } 16140 return uint32(rlength) 16141 }()) 16142 nbytes = (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).Flength << 2 16143 } else { 16144 xri = uintptr(0) 16145 xData = uintptr(0) 16146 rlength = libc.AssignUint32(&nbytes, uint32(0)) 16147 } 16148 16149 if !(xri != 0) || !(xData != 0) || nbytes < rlength { 16150 if xri != 0 { 16151 libc.Xfree(tls, xri) 16152 } 16153 if xData != 0 { 16154 libc.Xfree(tls, xData) 16155 } 16156 x11.X_XEatDataWords(tls, dpy, (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength) 16157 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16158 (*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) 16159 } 16160 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16161 (*struct { 16162 f func(*libc.TLS, uintptr) int32 16163 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16164 } 16165 return 0 16166 } 16167 (*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fmajor_version 16168 (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fminor_version 16169 (*XRenderInfo)(unsafe.Pointer(xri)).Fformat = xri + uintptr(1)*64 16170 (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumFormats) 16171 (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen = (*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumFormats)*32 16172 (*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumScreens) 16173 (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumScreens)*16 16174 (*XRenderInfo)(unsafe.Pointer(xri)).Fndepth = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumDepths) 16175 (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual = (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumDepths)*12 16176 (*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumVisuals) 16177 x11.X_XRead(tls, dpy, xData, int32(rlength)) 16178 format = (*XRenderInfo)(unsafe.Pointer(xri)).Fformat 16179 xFormat = xData 16180 for nf = 0; CARD32(nf) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats; nf++ { 16181 (*XRenderPictFormat)(unsafe.Pointer(format)).Fid = (*XPictFormInfo)(unsafe.Pointer(xFormat)).Fid 16182 (*XRenderPictFormat)(unsafe.Pointer(format)).Ftype = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Ftype) 16183 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdepth = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdepth) 16184 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fred = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fred) 16185 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FredMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FredMask) 16186 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fgreen = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fgreen) 16187 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FgreenMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FgreenMask) 16188 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fblue = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fblue) 16189 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FblueMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FblueMask) 16190 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Falpha = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Falpha) 16191 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FalphaMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FalphaMask) 16192 (*XRenderPictFormat)(unsafe.Pointer(format)).Fcolormap = (*XPictFormInfo)(unsafe.Pointer(xFormat)).Fcolormap 16193 format += 32 16194 xFormat += 28 16195 } 16196 xScreen = xFormat 16197 screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen 16198 depth = (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth 16199 visual = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual 16200 for ns = 0; ns < (*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen; ns++ { 16201 (*XRenderScreen)(unsafe.Pointer(screen)).Fdepths = depth 16202 (*XRenderScreen)(unsafe.Pointer(screen)).Fndepths = int32((*XPictScreen)(unsafe.Pointer(xScreen)).FnDepth) 16203 (*XRenderScreen)(unsafe.Pointer(screen)).Ffallback = _XRenderFindFormat(tls, xri, (*XPictScreen)(unsafe.Pointer(xScreen)).Ffallback) 16204 (*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = SubPixelUnknown 16205 xDepth = xScreen + uintptr(1)*8 16206 if CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumDepths { 16207 libc.Xfree(tls, xri) 16208 libc.Xfree(tls, xData) 16209 x11.X_XEatDataWords(tls, dpy, (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength) 16210 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16211 (*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) 16212 } 16213 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16214 (*struct { 16215 f func(*libc.TLS, uintptr) int32 16216 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16217 } 16218 return 0 16219 } 16220 *(*CARD32)(unsafe.Pointer(bp + 28 + 16)) -= CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths) 16221 for nd = 0; nd < (*XRenderScreen)(unsafe.Pointer(screen)).Fndepths; nd++ { 16222 (*XRenderDepth)(unsafe.Pointer(depth)).Fdepth = int32((*XPictDepth)(unsafe.Pointer(xDepth)).Fdepth) 16223 (*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals = int32((*XPictDepth)(unsafe.Pointer(xDepth)).FnPictVisuals) 16224 (*XRenderDepth)(unsafe.Pointer(depth)).Fvisuals = visual 16225 xVisual = xDepth + uintptr(1)*8 16226 if CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28)).FnumVisuals { 16227 libc.Xfree(tls, xri) 16228 libc.Xfree(tls, xData) 16229 x11.X_XEatDataWords(tls, dpy, (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength) 16230 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16231 (*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) 16232 } 16233 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16234 (*struct { 16235 f func(*libc.TLS, uintptr) int32 16236 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16237 } 16238 return 0 16239 } 16240 *(*CARD32)(unsafe.Pointer(bp + 28 + 20)) -= CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals) 16241 for nv = 0; nv < (*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals; nv++ { 16242 (*XRenderVisual)(unsafe.Pointer(visual)).Fvisual = _XRenderFindVisual(tls, dpy, (*XPictVisual)(unsafe.Pointer(xVisual)).Fvisual) 16243 (*XRenderVisual)(unsafe.Pointer(visual)).Fformat = _XRenderFindFormat(tls, xri, (*XPictVisual)(unsafe.Pointer(xVisual)).Fformat) 16244 visual += 8 16245 xVisual += 8 16246 } 16247 depth += 12 16248 xDepth = xVisual 16249 } 16250 screen += 16 16251 xScreen = xDepth 16252 } 16253 xSubpixel = xScreen 16254 screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen 16255 for ns = 0; CARD32(ns) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumSubpixel; ns++ { 16256 (*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = int32(*(*CARD32)(unsafe.Pointer(xSubpixel))) 16257 xSubpixel += 4 16258 screen += 16 16259 } 16260 (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo = xri 16261 // Skip any extra data 16262 if nbytes > rlength { 16263 x11.X_XEatData(tls, dpy, nbytes-rlength) 16264 } 16265 16266 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16267 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 16268 } 16269 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16270 (*struct { 16271 f func(*libc.TLS, uintptr) int32 16272 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16273 } 16274 libc.Xfree(tls, xData) 16275 return 1 16276 } 16277 16278 func XXRenderQuerySubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32) int32 { /* Xrender.c:595:1: */ 16279 var info uintptr = XXRenderFindDisplay(tls, dpy) 16280 var xri uintptr 16281 16282 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16283 return SubPixelUnknown 16284 } 16285 16286 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16287 return SubPixelUnknown 16288 } 16289 16290 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16291 return (*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*16)).Fsubpixel 16292 } 16293 16294 func XXRenderSetSubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32, subpixel int32) int32 { /* Xrender.c:611:1: */ 16295 var info uintptr = XXRenderFindDisplay(tls, dpy) 16296 var xri uintptr 16297 16298 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16299 return False 16300 } 16301 16302 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16303 return False 16304 } 16305 16306 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16307 (*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*16)).Fsubpixel = subpixel 16308 return True 16309 } 16310 16311 func XXRenderFindVisualFormat(tls *libc.TLS, dpy uintptr, visual uintptr) uintptr { /* Xrender.c:627:19: */ 16312 var info uintptr = XXRenderFindDisplay(tls, dpy) 16313 var nv int32 16314 var xri uintptr 16315 var xrv uintptr 16316 16317 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16318 return uintptr(0) 16319 } 16320 16321 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16322 return uintptr(0) 16323 } 16324 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16325 nv = 0 16326 xrv = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual 16327 __1: 16328 if !(nv < (*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual) { 16329 goto __3 16330 } 16331 if (*XRenderVisual)(unsafe.Pointer(xrv)).Fvisual == visual { 16332 return (*XRenderVisual)(unsafe.Pointer(xrv)).Fformat 16333 } 16334 goto __2 16335 __2: 16336 nv++ 16337 xrv += 8 16338 goto __1 16339 goto __3 16340 __3: 16341 ; 16342 return uintptr(0) 16343 } 16344 16345 func XXRenderFindFormat(tls *libc.TLS, dpy uintptr, mask uint32, template uintptr, count int32) uintptr { /* Xrender.c:645:19: */ 16346 var info uintptr = XXRenderFindDisplay(tls, dpy) 16347 var nf int32 16348 var xri uintptr 16349 16350 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16351 return uintptr(0) 16352 } 16353 16354 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16355 return uintptr(0) 16356 } 16357 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16358 for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ { 16359 if mask&uint32(int32(1)<<0) != 0 { 16360 if (*XRenderPictFormat)(unsafe.Pointer(template)).Fid != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fid { 16361 continue 16362 } 16363 } 16364 if mask&uint32(int32(1)<<1) != 0 { 16365 if (*XRenderPictFormat)(unsafe.Pointer(template)).Ftype != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Ftype { 16366 continue 16367 } 16368 } 16369 if mask&uint32(int32(1)<<2) != 0 { 16370 if (*XRenderPictFormat)(unsafe.Pointer(template)).Fdepth != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdepth { 16371 continue 16372 } 16373 } 16374 if mask&uint32(int32(1)<<3) != 0 { 16375 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fred) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.Fred) { 16376 continue 16377 } 16378 } 16379 if mask&uint32(int32(1)<<4) != 0 { 16380 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FredMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.FredMask) { 16381 continue 16382 } 16383 } 16384 if mask&uint32(int32(1)<<5) != 0 { 16385 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fgreen) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.Fgreen) { 16386 continue 16387 } 16388 } 16389 if mask&uint32(int32(1)<<6) != 0 { 16390 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FgreenMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.FgreenMask) { 16391 continue 16392 } 16393 } 16394 if mask&uint32(int32(1)<<7) != 0 { 16395 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fblue) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.Fblue) { 16396 continue 16397 } 16398 } 16399 if mask&uint32(int32(1)<<8) != 0 { 16400 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FblueMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.FblueMask) { 16401 continue 16402 } 16403 } 16404 if mask&uint32(int32(1)<<9) != 0 { 16405 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Falpha) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.Falpha) { 16406 continue 16407 } 16408 } 16409 if mask&uint32(int32(1)<<10) != 0 { 16410 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FalphaMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.FalphaMask) { 16411 continue 16412 } 16413 } 16414 if mask&uint32(int32(1)<<11) != 0 { 16415 if (*XRenderPictFormat)(unsafe.Pointer(template)).Fcolormap != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fcolormap { 16416 continue 16417 } 16418 } 16419 if libc.PostDecInt32(&count, 1) == 0 { 16420 return (*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32 16421 } 16422 } 16423 return uintptr(0) 16424 } 16425 16426 func XXRenderFindStandardFormat(tls *libc.TLS, dpy uintptr, format int32) uintptr { /* Xrender.c:703:19: */ 16427 16428 if 0 <= format && format < PictStandardNUM { 16429 return XXRenderFindFormat(tls, dpy, 16430 standardFormats[format].Fmask, 16431 uintptr(unsafe.Pointer(&standardFormats))+uintptr(format)*36, 16432 0) 16433 } 16434 return uintptr(0) 16435 } 16436 16437 var standardFormats = [5]struct { 16438 Ftempl XRenderPictFormat 16439 Fmask uint32 16440 }{{ 16441 // PictStandardARGB32 16442 Ftempl: XRenderPictFormat{ // id 16443 Ftype: PictTypeDirect, // type 16444 Fdepth: 32, // depth 16445 Fdirect: XRenderDirectFormat{ // direct 16446 Fred: int16(16), // direct.red 16447 FredMask: int16(0xff), // direct.redMask 16448 Fgreen: int16(8), // direct.green 16449 FgreenMask: int16(0xff), // direct.blue 16450 FblueMask: int16(0xff), // direct.blueMask 16451 Falpha: int16(24), // direct.alpha 16452 FalphaMask: int16(0xff), // direct.alphaMask 16453 }, // colormap 16454 }, 16455 Fmask: uint32(int32(1)<<1 | int32(1)<<2 | int32(1)<<3 | int32(1)<<4 | int32(1)<<5 | int32(1)<<6 | int32(1)<<7 | int32(1)<<8 | int32(1)<<9 | int32(1)<<10), 16456 }, 16457 // PictStandardRGB24 16458 { 16459 Ftempl: XRenderPictFormat{ // id 16460 Ftype: PictTypeDirect, // type 16461 Fdepth: 24, // depth 16462 Fdirect: XRenderDirectFormat{ // direct 16463 Fred: int16(16), // direct.red 16464 FredMask: int16(0xff), // direct.redMask 16465 Fgreen: int16(8), // direct.green 16466 FgreenMask: int16(0xff), // direct.blue 16467 FblueMask: int16(0xff), // direct.alphaMask 16468 }, // colormap 16469 }, 16470 Fmask: uint32(int32(1)<<1 | int32(1)<<2 | int32(1)<<3 | int32(1)<<4 | int32(1)<<5 | int32(1)<<6 | int32(1)<<7 | int32(1)<<8 | int32(1)<<10), 16471 }, 16472 // PictStandardA8 16473 { 16474 Ftempl: XRenderPictFormat{ // id 16475 Ftype: PictTypeDirect, // type 16476 Fdepth: 8, // depth 16477 Fdirect: XRenderDirectFormat{ // direct.alpha 16478 FalphaMask: int16(0xff), // direct.alphaMask 16479 }, // colormap 16480 }, 16481 Fmask: uint32(int32(1)<<1 | int32(1)<<2 | int32(1)<<4 | int32(1)<<6 | int32(1)<<8 | int32(1)<<9 | int32(1)<<10), 16482 }, 16483 // PictStandardA4 16484 { 16485 Ftempl: XRenderPictFormat{ // id 16486 Ftype: PictTypeDirect, // type 16487 Fdepth: 4, // depth 16488 Fdirect: XRenderDirectFormat{ // direct.alpha 16489 FalphaMask: int16(0x0f), // direct.alphaMask 16490 }, // colormap 16491 }, 16492 Fmask: uint32(int32(1)<<1 | int32(1)<<2 | int32(1)<<4 | int32(1)<<6 | int32(1)<<8 | int32(1)<<9 | int32(1)<<10), 16493 }, 16494 // PictStandardA1 16495 { 16496 Ftempl: XRenderPictFormat{ // id 16497 Ftype: PictTypeDirect, // type 16498 Fdepth: 1, // depth 16499 Fdirect: XRenderDirectFormat{ // direct.alpha 16500 FalphaMask: int16(0x01), // direct.alphaMask 16501 }, // colormap 16502 }, 16503 Fmask: uint32(int32(1)<<1 | int32(1)<<2 | int32(1)<<4 | int32(1)<<6 | int32(1)<<8 | int32(1)<<9 | int32(1)<<10), 16504 }, 16505 } /* Xrender.c:710:7 */ 16506 16507 func XXRenderQueryPictIndexValues(tls *libc.TLS, dpy uintptr, format uintptr, num uintptr) uintptr { /* Xrender.c:856:13: */ 16508 bp := tls.Alloc(44) 16509 defer tls.Free(44) 16510 16511 var info uintptr = XXRenderFindDisplay(tls, dpy) 16512 var req uintptr 16513 // var rep XRenderQueryPictIndexValuesReply at bp, 32 16514 16515 var values uintptr 16516 var nbytes uint32 16517 var nread uint32 16518 var rlength uint32 16519 var i uint32 16520 16521 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16522 return uintptr(0) 16523 } 16524 16525 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16526 (*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) 16527 } 16528 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictIndexValues), uint32(Sz_xRenderQueryPictIndexValuesReq)) 16529 (*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 16530 (*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictIndexValues) 16531 (*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).Fformat = (*XRenderPictFormat)(unsafe.Pointer(format)).Fid 16532 if !(x11.X_XReply(tls, dpy, bp, 0, XFalse) != 0) { 16533 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16534 (*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) 16535 } 16536 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16537 (*struct { 16538 f func(*libc.TLS, uintptr) int32 16539 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16540 } 16541 return uintptr(0) 16542 } 16543 16544 if (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).Flength < CARD32(int32(0x7fffffff)>>2) && (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).FnumIndexValues < uint32(0x7fffffff)/uint32(unsafe.Sizeof(XIndexValue1{})) { 16545 // request data length 16546 nbytes = uint32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).Flength << 2) 16547 // bytes of actual data in the request 16548 nread = uint32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).FnumIndexValues * CARD32(Sz_xIndexValue)) 16549 // size of array returned to application 16550 rlength = uint32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).FnumIndexValues * CARD32(unsafe.Sizeof(XIndexValue1{}))) 16551 16552 // allocate returned data 16553 values = libc.Xmalloc(tls, func() uint32 { 16554 if rlength == uint32(0) { 16555 return uint32(1) 16556 } 16557 return rlength 16558 }()) 16559 } else { 16560 nbytes = libc.AssignUint32(&nread, libc.AssignUint32(&rlength, uint32(0))) 16561 values = uintptr(0) 16562 } 16563 16564 if !(values != 0) { 16565 x11.X_XEatDataWords(tls, dpy, (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength) 16566 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16567 (*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) 16568 } 16569 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16570 (*struct { 16571 f func(*libc.TLS, uintptr) int32 16572 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16573 } 16574 return uintptr(0) 16575 } 16576 16577 // read the values one at a time and convert 16578 *(*int32)(unsafe.Pointer(num)) = int32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues) 16579 for i = uint32(0); CARD32(i) < (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues; i++ { 16580 // var value XIndexValue at bp+32, 12 16581 16582 x11.X_XRead(tls, dpy, bp+32, Sz_xIndexValue) 16583 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Fpixel = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fpixel 16584 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Fred = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fred 16585 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Fgreen = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fgreen 16586 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Fblue = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fblue 16587 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Falpha = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Falpha 16588 } 16589 // skip any padding 16590 if nbytes > nread { 16591 x11.X_XEatData(tls, dpy, uint32(nbytes-nread)) 16592 } 16593 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16594 (*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) 16595 } 16596 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16597 (*struct { 16598 f func(*libc.TLS, uintptr) int32 16599 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16600 } 16601 return values 16602 } 16603 16604 var ts1 = "rgba:\x00RENDER\x00" 16605 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data