modernc.org/xrender@v1.0.9/lib/xrender_linux_arm64.go (about) 1 // Code generated by 'ccgo -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -lmodernc.org/x11/lib -o lib/xrender_linux_arm64.go -pkgname xrender -trace-translation-units /tmp/go-generate-2462973507/cdb.json libXrender.a', DO NOT EDIT. 2 3 package xrender 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 11 "modernc.org/libc" 12 "modernc.org/libc/sys/types" 13 "modernc.org/x11/lib" 14 ) 15 16 var _ = math.Pi 17 var _ reflect.Kind 18 var _ atomic.Value 19 var _ unsafe.Pointer 20 var _ *libc.TLS 21 var _ types.Size_t 22 23 const ( 24 Above = 0 25 AllHints = 127 26 AllTemporary = 0 27 AllValues = 0x000F 28 AllocAll = 1 29 AllocNone = 0 30 AllowExposures = 1 31 AlreadyGrabbed = 1 32 Always = 2 33 AnyButton = 0 34 AnyKey = 0 35 AnyModifier = 32768 36 AnyPropertyType = 0 37 ArcChord = 0 38 ArcPieSlice = 1 39 AsyncBoth = 6 40 AsyncKeyboard = 3 41 AsyncPointer = 0 42 AutoRepeatModeDefault = 2 43 AutoRepeatModeOff = 0 44 AutoRepeatModeOn = 1 45 B16 = 0 46 B32 = 0 47 BIG_ENDIAN = 4321 48 BUFSIZE = 2048 49 BYTE_ORDER = 1234 50 BadAccess = 10 51 BadAlloc = 11 52 BadAtom = 5 53 BadColor = 12 54 BadCursor = 6 55 BadDrawable = 9 56 BadFont = 7 57 BadGC = 13 58 BadGlyph = 4 59 BadGlyphSet = 3 60 BadIDChoice = 14 61 BadImplementation = 17 62 BadLength = 16 63 BadMatch = 8 64 BadName = 15 65 BadPictFormat = 0 66 BadPictOp = 2 67 BadPicture = 1 68 BadPixmap = 4 69 BadRequest = 1 70 BadValue = 2 71 BadWindow = 3 72 Below = 1 73 BitmapFileInvalid = 2 74 BitmapNoMemory = 3 75 BitmapOpenFailed = 1 76 BitmapSuccess = 0 77 BottomIf = 3 78 Button1 = 1 79 Button1Mask = 256 80 Button1MotionMask = 256 81 Button2 = 2 82 Button2Mask = 512 83 Button2MotionMask = 512 84 Button3 = 3 85 Button3Mask = 1024 86 Button3MotionMask = 1024 87 Button4 = 4 88 Button4Mask = 2048 89 Button4MotionMask = 2048 90 Button5 = 5 91 Button5Mask = 4096 92 Button5MotionMask = 4096 93 ButtonMotionMask = 8192 94 ButtonPress = 4 95 ButtonPressMask = 4 96 ButtonRelease = 5 97 ButtonReleaseMask = 8 98 CPAlphaMap = 2 99 CPAlphaXOrigin = 4 100 CPAlphaYOrigin = 8 101 CPClipMask = 64 102 CPClipXOrigin = 16 103 CPClipYOrigin = 32 104 CPComponentAlpha = 4096 105 CPDither = 2048 106 CPGraphicsExposure = 128 107 CPLastBit = 12 108 CPPolyEdge = 512 109 CPPolyMode = 1024 110 CPRepeat = 1 111 CPSubwindowMode = 256 112 CURSORFONT = "cursor" 113 CWBackPixel = 2 114 CWBackPixmap = 1 115 CWBackingPixel = 256 116 CWBackingPlanes = 128 117 CWBackingStore = 64 118 CWBitGravity = 16 119 CWBorderPixel = 8 120 CWBorderPixmap = 4 121 CWBorderWidth = 16 122 CWColormap = 8192 123 CWCursor = 16384 124 CWDontPropagate = 4096 125 CWEventMask = 2048 126 CWHeight = 8 127 CWOverrideRedirect = 512 128 CWSaveUnder = 1024 129 CWSibling = 32 130 CWStackMode = 64 131 CWWidth = 4 132 CWWinGravity = 32 133 CWX = 1 134 CWY = 2 135 CapButt = 1 136 CapNotLast = 0 137 CapProjecting = 3 138 CapRound = 2 139 CenterGravity = 5 140 CirculateNotify = 26 141 CirculateRequest = 27 142 ClientMessage = 33 143 ClipByChildren = 0 144 ColormapChangeMask = 8388608 145 ColormapInstalled = 1 146 ColormapNotify = 32 147 ColormapUninstalled = 0 148 Complex = 0 149 ConfigureNotify = 22 150 ConfigureRequest = 23 151 ControlMapIndex = 2 152 ControlMask = 4 153 Convex = 2 154 CoordModeOrigin = 0 155 CoordModePrevious = 1 156 CopyFromParent = 0 157 CreateNotify = 16 158 CurrentTime = 0 159 CursorShape = 0 160 DefaultBlanking = 2 161 DefaultExposures = 2 162 DestroyAll = 0 163 DestroyNotify = 17 164 DirectColor = 5 165 DisableAccess = 0 166 DisableScreenInterval = 0 167 DisableScreenSaver = 0 168 DoBlue = 4 169 DoGreen = 2 170 DoRed = 1 171 DontAllowExposures = 0 172 DontCareState = 0 173 DontPreferBlanking = 0 174 E2BIG = 7 175 EACCES = 13 176 EADDRINUSE = 98 177 EADDRNOTAVAIL = 99 178 EADV = 68 179 EAFNOSUPPORT = 97 180 EAGAIN = 11 181 EALREADY = 114 182 EBADE = 52 183 EBADF = 9 184 EBADFD = 77 185 EBADMSG = 74 186 EBADR = 53 187 EBADRQC = 56 188 EBADSLT = 57 189 EBFONT = 59 190 EBUSY = 16 191 ECANCELED = 125 192 ECHILD = 10 193 ECHRNG = 44 194 ECOMM = 70 195 ECONNABORTED = 103 196 ECONNREFUSED = 111 197 ECONNRESET = 104 198 EDEADLK = 35 199 EDEADLOCK = 35 200 EDESTADDRREQ = 89 201 EDOM = 33 202 EDOTDOT = 73 203 EDQUOT = 122 204 EEXIST = 17 205 EFAULT = 14 206 EFBIG = 27 207 EHOSTDOWN = 112 208 EHOSTUNREACH = 113 209 EHWPOISON = 133 210 EIDRM = 43 211 EILSEQ = 84 212 EINPROGRESS = 115 213 EINTR = 4 214 EINVAL = 22 215 EIO = 5 216 EISCONN = 106 217 EISDIR = 21 218 EISNAM = 120 219 EKEYEXPIRED = 127 220 EKEYREJECTED = 129 221 EKEYREVOKED = 128 222 EL2HLT = 51 223 EL2NSYNC = 45 224 EL3HLT = 46 225 EL3RST = 47 226 ELFlagFocus = 1 227 ELFlagSameScreen = 2 228 ELIBACC = 79 229 ELIBBAD = 80 230 ELIBEXEC = 83 231 ELIBMAX = 82 232 ELIBSCN = 81 233 ELNRNG = 48 234 ELOOP = 40 235 EMEDIUMTYPE = 124 236 EMFILE = 24 237 EMLINK = 31 238 EMSGSIZE = 90 239 EMULTIHOP = 72 240 ENAMETOOLONG = 36 241 ENAVAIL = 119 242 ENETDOWN = 100 243 ENETRESET = 102 244 ENETUNREACH = 101 245 ENFILE = 23 246 ENOANO = 55 247 ENOBUFS = 105 248 ENOCSI = 50 249 ENODATA = 61 250 ENODEV = 19 251 ENOENT = 2 252 ENOEXEC = 8 253 ENOKEY = 126 254 ENOLCK = 37 255 ENOLINK = 67 256 ENOMEDIUM = 123 257 ENOMEM = 12 258 ENOMSG = 42 259 ENONET = 64 260 ENOPKG = 65 261 ENOPROTOOPT = 92 262 ENOSPC = 28 263 ENOSR = 63 264 ENOSTR = 60 265 ENOSYS = 38 266 ENOTBLK = 15 267 ENOTCONN = 107 268 ENOTDIR = 20 269 ENOTEMPTY = 39 270 ENOTNAM = 118 271 ENOTRECOVERABLE = 131 272 ENOTSOCK = 88 273 ENOTSUP = 95 274 ENOTTY = 25 275 ENOTUNIQ = 76 276 ENXIO = 6 277 EOPNOTSUPP = 95 278 EOVERFLOW = 75 279 EOWNERDEAD = 130 280 EPERM = 1 281 EPFNOSUPPORT = 96 282 EPIPE = 32 283 EPROTO = 71 284 EPROTONOSUPPORT = 93 285 EPROTOTYPE = 91 286 ERANGE = 34 287 EREMCHG = 78 288 EREMOTE = 66 289 EREMOTEIO = 121 290 ERESTART = 85 291 ERFKILL = 132 292 EROFS = 30 293 ESHUTDOWN = 108 294 ESOCKTNOSUPPORT = 94 295 ESPIPE = 29 296 ESRCH = 3 297 ESRMNT = 69 298 ESTALE = 116 299 ESTRPIPE = 86 300 ETIME = 62 301 ETIMEDOUT = 110 302 ETOOMANYREFS = 109 303 ETXTBSY = 26 304 EUCLEAN = 117 305 EUNATCH = 49 306 EUSERS = 87 307 EWOULDBLOCK = 11 308 EXDEV = 18 309 EXFULL = 54 310 EXIT_FAILURE = 1 311 EXIT_SUCCESS = 0 312 EastGravity = 6 313 EnableAccess = 1 314 EnterNotify = 7 315 EnterWindowMask = 16 316 EvenOddRule = 0 317 Expose = 12 318 ExposureMask = 32768 319 FARCSPERBATCH = 256 320 FD_SETSIZE = 1024 321 FRCTSPERBATCH = 256 322 FUNCPROTO = 15 323 False = 0 324 FamilyChaos = 2 325 FamilyDECnet = 1 326 FamilyInternet = 0 327 FamilyInternet6 = 6 328 FamilyServerInterpreted = 5 329 FillOpaqueStippled = 3 330 FillSolid = 0 331 FillStippled = 2 332 FillTiled = 1 333 FilterAliasNone = -1 334 FilterBest = "best" 335 FilterBilinear = "bilinear" 336 FilterConvolution = "convolution" 337 FilterFast = "fast" 338 FilterGood = "good" 339 FilterNearest = "nearest" 340 FirstExtensionError = 128 341 FocusChangeMask = 2097152 342 FocusIn = 9 343 FocusOut = 10 344 FontChange = 255 345 FontLeftToRight = 0 346 FontRightToLeft = 1 347 ForgetGravity = 0 348 GCArcMode = 4194304 349 GCBackground = 8 350 GCCapStyle = 64 351 GCClipMask = 524288 352 GCClipXOrigin = 131072 353 GCClipYOrigin = 262144 354 GCDashList = 2097152 355 GCDashOffset = 1048576 356 GCFillRule = 512 357 GCFillStyle = 256 358 GCFont = 16384 359 GCForeground = 4 360 GCFunction = 1 361 GCGraphicsExposures = 65536 362 GCJoinStyle = 128 363 GCLastBit = 22 364 GCLineStyle = 32 365 GCLineWidth = 16 366 GCPlaneMask = 2 367 GCStipple = 2048 368 GCSubwindowMode = 32768 369 GCTile = 1024 370 GCTileStipXOrigin = 4096 371 GCTileStipYOrigin = 8192 372 GXand = 0x1 373 GXandInverted = 0x4 374 GXandReverse = 0x2 375 GXclear = 0x0 376 GXcopy = 0x3 377 GXcopyInverted = 0xc 378 GXequiv = 0x9 379 GXinvert = 0xa 380 GXnand = 0xe 381 GXnoop = 0x5 382 GXnor = 0x8 383 GXor = 0x7 384 GXorInverted = 0xd 385 GXorReverse = 0xb 386 GXset = 0xf 387 GXxor = 0x6 388 GenericEvent = 35 389 GrabFrozen = 4 390 GrabInvalidTime = 2 391 GrabModeAsync = 1 392 GrabModeSync = 0 393 GrabNotViewable = 3 394 GrabSuccess = 0 395 GraphicsExpose = 13 396 GravityNotify = 24 397 GrayScale = 1 398 HAVE_CONFIG_H = 1 399 HAVE_DLFCN_H = 1 400 HAVE_INTTYPES_H = 1 401 HAVE_MEMORY_H = 1 402 HAVE_STDINT_H = 1 403 HAVE_STDLIB_H = 1 404 HAVE_STRINGS_H = 1 405 HAVE_STRING_H = 1 406 HAVE_SYS_STAT_H = 1 407 HAVE_SYS_TYPES_H = 1 408 HAVE_UNISTD_H = 1 409 HeightValue = 0x0008 410 HostDelete = 1 411 HostInsert = 0 412 INT16_MAX = 32767 413 INT16_MIN = -32768 414 INT32_MAX = 2147483647 415 INT32_MIN = -2147483648 416 INT64_MAX = 9223372036854775807 417 INT64_MIN = -9223372036854775808 418 INT8_MAX = 127 419 INT8_MIN = -128 420 INTMAX_MAX = 9223372036854775807 421 INTMAX_MIN = -9223372036854775808 422 INTPTR_MAX = 9223372036854775807 423 INTPTR_MIN = -9223372036854775808 424 INT_FAST16_MAX = 9223372036854775807 425 INT_FAST16_MIN = -9223372036854775808 426 INT_FAST32_MAX = 9223372036854775807 427 INT_FAST32_MIN = -9223372036854775808 428 INT_FAST64_MAX = 9223372036854775807 429 INT_FAST64_MIN = -9223372036854775808 430 INT_FAST8_MAX = 127 431 INT_FAST8_MIN = -128 432 INT_LEAST16_MAX = 32767 433 INT_LEAST16_MIN = -32768 434 INT_LEAST32_MAX = 2147483647 435 INT_LEAST32_MIN = -2147483648 436 INT_LEAST64_MAX = 9223372036854775807 437 INT_LEAST64_MIN = -9223372036854775808 438 INT_LEAST8_MAX = 127 439 INT_LEAST8_MIN = -128 440 IconMaskHint = 32 441 IconPixmapHint = 4 442 IconPositionHint = 16 443 IconWindowHint = 8 444 IconicState = 3 445 InactiveState = 4 446 IncludeInferiors = 1 447 InputFocus = 1 448 InputHint = 1 449 InputOnly = 2 450 InputOutput = 1 451 IsUnmapped = 0 452 IsUnviewable = 1 453 IsViewable = 2 454 JoinBevel = 2 455 JoinMiter = 0 456 JoinRound = 1 457 KBAutoRepeatMode = 128 458 KBBellDuration = 8 459 KBBellPercent = 2 460 KBBellPitch = 4 461 KBKey = 64 462 KBKeyClickPercent = 1 463 KBLed = 16 464 KBLedMode = 32 465 KeyPress = 2 466 KeyPressMask = 1 467 KeyRelease = 3 468 KeyReleaseMask = 2 469 KeymapNotify = 11 470 KeymapStateMask = 16384 471 LASTEvent = 36 472 LITTLE_ENDIAN = 1234 473 LOCKED = 1 474 LONG64 = 0 475 LSBFirst = 0 476 LT_OBJDIR = ".libs/" 477 LastExtensionError = 255 478 LeaveNotify = 8 479 LeaveWindowMask = 32 480 LedModeOff = 0 481 LedModeOn = 1 482 LineDoubleDash = 2 483 LineOnOffDash = 1 484 LineSolid = 0 485 LockMapIndex = 1 486 LockMask = 2 487 LowerHighest = 1 488 MALLOC_0_RETURNS_NULL = 1 489 MSBFirst = 1 490 MapNotify = 19 491 MapRequest = 20 492 MappingBusy = 1 493 MappingFailed = 2 494 MappingKeyboard = 1 495 MappingModifier = 0 496 MappingNotify = 34 497 MappingPointer = 2 498 MappingSuccess = 0 499 Mod1MapIndex = 3 500 Mod1Mask = 8 501 Mod2MapIndex = 4 502 Mod2Mask = 16 503 Mod3MapIndex = 5 504 Mod3Mask = 32 505 Mod4MapIndex = 6 506 Mod4Mask = 64 507 Mod5MapIndex = 7 508 Mod5Mask = 128 509 MotionNotify = 6 510 NARROWPROTO = 0 511 NLOCAL = 256 512 NeedFunctionPrototypes = 1 513 NeedNestedPrototypes = 1 514 NeedVarargsPrototypes = 1 515 NeedWidePrototypes = 0 516 NoEventMask = 0 517 NoExpose = 14 518 NoSymbol = 0 519 NoValue = 0x0000 520 Nonconvex = 1 521 None = 0 522 NormalState = 1 523 NorthEastGravity = 3 524 NorthGravity = 2 525 NorthWestGravity = 1 526 NotUseful = 0 527 NotifyAncestor = 0 528 NotifyDetailNone = 7 529 NotifyGrab = 1 530 NotifyHint = 1 531 NotifyInferior = 2 532 NotifyNonlinear = 3 533 NotifyNonlinearVirtual = 4 534 NotifyNormal = 0 535 NotifyPointer = 5 536 NotifyPointerRoot = 6 537 NotifyUngrab = 2 538 NotifyVirtual = 1 539 NotifyWhileGrabbed = 3 540 Opposite = 4 541 OwnerGrabButtonMask = 16777216 542 PACKAGE = "libXrender" 543 PACKAGE_BUGREPORT = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" 544 PACKAGE_NAME = "libXrender" 545 PACKAGE_STRING = "libXrender 0.9.10" 546 PACKAGE_TARNAME = "libXrender" 547 PACKAGE_URL = "" 548 PACKAGE_VERSION = "0.9.10" 549 PACKAGE_VERSION_MAJOR = 0 550 PACKAGE_VERSION_MINOR = 9 551 PACKAGE_VERSION_PATCHLEVEL = 10 552 PAllHints = 252 553 PAspect = 128 554 PBaseSize = 256 555 PDP_ENDIAN = 3412 556 PMaxSize = 32 557 PMinSize = 16 558 PPosition = 4 559 PResizeInc = 64 560 PSize = 8 561 PTRDIFF_MAX = 9223372036854775807 562 PTRDIFF_MIN = -9223372036854775808 563 PTSPERBATCH = 1024 564 PWinGravity = 512 565 ParentRelative = 1 566 PictFormatAlpha = 512 567 PictFormatAlphaMask = 1024 568 PictFormatBlue = 128 569 PictFormatBlueMask = 256 570 PictFormatColormap = 2048 571 PictFormatDepth = 4 572 PictFormatGreen = 32 573 PictFormatGreenMask = 64 574 PictFormatID = 1 575 PictFormatRed = 8 576 PictFormatRedMask = 16 577 PictFormatType = 2 578 PictOpAdd = 12 579 PictOpAtop = 9 580 PictOpAtopReverse = 10 581 PictOpBlendMaximum = 0x3e 582 PictOpBlendMinimum = 0x30 583 PictOpClear = 0 584 PictOpColorBurn = 0x36 585 PictOpColorDodge = 0x35 586 PictOpConjointAtop = 0x29 587 PictOpConjointAtopReverse = 0x2a 588 PictOpConjointClear = 0x20 589 PictOpConjointDst = 0x22 590 PictOpConjointIn = 0x25 591 PictOpConjointInReverse = 0x26 592 PictOpConjointMaximum = 0x2b 593 PictOpConjointMinimum = 0x20 594 PictOpConjointOut = 0x27 595 PictOpConjointOutReverse = 0x28 596 PictOpConjointOver = 0x23 597 PictOpConjointOverReverse = 0x24 598 PictOpConjointSrc = 0x21 599 PictOpConjointXor = 0x2b 600 PictOpDarken = 0x33 601 PictOpDifference = 0x39 602 PictOpDisjointAtop = 0x19 603 PictOpDisjointAtopReverse = 0x1a 604 PictOpDisjointClear = 0x10 605 PictOpDisjointDst = 0x12 606 PictOpDisjointIn = 0x15 607 PictOpDisjointInReverse = 0x16 608 PictOpDisjointMaximum = 0x1b 609 PictOpDisjointMinimum = 0x10 610 PictOpDisjointOut = 0x17 611 PictOpDisjointOutReverse = 0x18 612 PictOpDisjointOver = 0x13 613 PictOpDisjointOverReverse = 0x14 614 PictOpDisjointSrc = 0x11 615 PictOpDisjointXor = 0x1b 616 PictOpDst = 2 617 PictOpExclusion = 0x3a 618 PictOpHSLColor = 0x3d 619 PictOpHSLHue = 0x3b 620 PictOpHSLLuminosity = 0x3e 621 PictOpHSLSaturation = 0x3c 622 PictOpHardLight = 0x37 623 PictOpIn = 5 624 PictOpInReverse = 6 625 PictOpLighten = 0x34 626 PictOpMaximum = 13 627 PictOpMinimum = 0 628 PictOpMultiply = 0x30 629 PictOpOut = 7 630 PictOpOutReverse = 8 631 PictOpOver = 3 632 PictOpOverReverse = 4 633 PictOpOverlay = 0x32 634 PictOpSaturate = 13 635 PictOpScreen = 0x31 636 PictOpSoftLight = 0x38 637 PictOpSrc = 1 638 PictOpXor = 11 639 PictStandardA1 = 4 640 PictStandardA4 = 3 641 PictStandardA8 = 2 642 PictStandardARGB32 = 0 643 PictStandardNUM = 5 644 PictStandardRGB24 = 1 645 PictTypeDirect = 1 646 PictTypeIndexed = 0 647 PlaceOnBottom = 1 648 PlaceOnTop = 0 649 PointerMotionHintMask = 128 650 PointerMotionMask = 64 651 PointerRoot = 1 652 PointerWindow = 0 653 PolyEdgeSharp = 0 654 PolyEdgeSmooth = 1 655 PolyModeImprecise = 1 656 PolyModePrecise = 0 657 PreferBlanking = 1 658 PropModeAppend = 2 659 PropModePrepend = 1 660 PropModeReplace = 0 661 PropertyChangeMask = 4194304 662 PropertyDelete = 1 663 PropertyNewValue = 0 664 PropertyNotify = 28 665 PseudoColor = 3 666 QueuedAfterFlush = 2 667 QueuedAfterReading = 1 668 QueuedAlready = 0 669 RAND_MAX = 2147483647 670 RENDER_MAJOR = 0 671 RENDER_MINOR = 11 672 RENDER_NAME = "RENDER" 673 RaiseLowest = 0 674 RectangleIn = 1 675 RectangleOut = 0 676 RectanglePart = 2 677 RenderNumberErrors = 5 678 RenderNumberRequests = 37 679 ReparentNotify = 21 680 RepeatNone = 0 681 RepeatNormal = 1 682 RepeatPad = 2 683 RepeatReflect = 3 684 ReplayKeyboard = 5 685 ReplayPointer = 2 686 ResizeRedirectMask = 262144 687 ResizeRequest = 25 688 RetainPermanent = 1 689 RetainTemporary = 2 690 RevertToParent = 2 691 SIG_ATOMIC_MAX = 2147483647 692 SIG_ATOMIC_MIN = -2147483648 693 SIZE_MAX = 18446744073709551615 694 STDC_HEADERS = 1 695 ScreenSaverActive = 1 696 ScreenSaverReset = 0 697 SelectionClear = 29 698 SelectionNotify = 31 699 SelectionRequest = 30 700 SetModeDelete = 1 701 SetModeInsert = 0 702 ShiftMapIndex = 0 703 ShiftMask = 1 704 SouthEastGravity = 9 705 SouthGravity = 8 706 SouthWestGravity = 7 707 StateHint = 2 708 StaticColor = 2 709 StaticGravity = 10 710 StaticGray = 0 711 StippleShape = 2 712 StructureNotifyMask = 131072 713 SubPixelHorizontalBGR = 2 714 SubPixelHorizontalRGB = 1 715 SubPixelNone = 5 716 SubPixelUnknown = 0 717 SubPixelVerticalBGR = 4 718 SubPixelVerticalRGB = 3 719 SubstructureNotifyMask = 524288 720 SubstructureRedirectMask = 1048576 721 Success = 0 722 SyncBoth = 7 723 SyncKeyboard = 4 724 SyncPointer = 1 725 TileShape = 1 726 TopIf = 2 727 True = 1 728 TrueColor = 4 729 UINT16_MAX = 65535 730 UINT32_MAX = 4294967295 731 UINT64_MAX = 18446744073709551615 732 UINT8_MAX = 255 733 UINTMAX_MAX = 18446744073709551615 734 UINTPTR_MAX = 18446744073709551615 735 UINT_FAST16_MAX = 18446744073709551615 736 UINT_FAST32_MAX = 18446744073709551615 737 UINT_FAST64_MAX = 18446744073709551615 738 UINT_FAST8_MAX = 255 739 UINT_LEAST16_MAX = 65535 740 UINT_LEAST32_MAX = 4294967295 741 UINT_LEAST64_MAX = 18446744073709551615 742 UINT_LEAST8_MAX = 255 743 UNLOCKED = 0 744 USPosition = 1 745 USSize = 2 746 UnmapGravity = 0 747 UnmapNotify = 18 748 Unsorted = 0 749 VERSION = "0.9.10" 750 VisibilityChangeMask = 65536 751 VisibilityFullyObscured = 2 752 VisibilityNotify = 15 753 VisibilityPartiallyObscured = 1 754 VisibilityUnobscured = 0 755 VisualAllMask = 0x1FF 756 VisualBitsPerRGBMask = 0x100 757 VisualBlueMaskMask = 0x40 758 VisualClassMask = 0x8 759 VisualColormapSizeMask = 0x80 760 VisualDepthMask = 0x4 761 VisualGreenMaskMask = 0x20 762 VisualIDMask = 0x1 763 VisualNoMask = 0x0 764 VisualRedMaskMask = 0x10 765 VisualScreenMask = 0x2 766 WCHAR_MAX = 4294967295 767 WCHAR_MIN = 0 768 WCONTINUED = 8 769 WEXITED = 4 770 WINT_MAX = 4294967295 771 WINT_MIN = 0 772 WLNSPERBATCH = 50 773 WNOHANG = 1 774 WNOWAIT = 0x01000000 775 WORD64ALIGN = 0 776 WRCTSPERBATCH = 10 777 WSTOPPED = 2 778 WUNTRACED = 2 779 WestGravity = 4 780 WhenMapped = 1 781 WidthValue = 0x0004 782 WindingRule = 1 783 WindowGroupHint = 64 784 WithdrawnState = 0 785 XBufferOverflow = -1 786 XCNOENT = 2 787 XCNOMEM = 1 788 XCSUCCESS = 0 789 XConverterNotFound = -3 790 XIMHighlight = 4 791 XIMHotKeyStateOFF = 2 792 XIMHotKeyStateON = 1 793 XIMInitialState = 1 794 XIMPreeditArea = 0x0001 795 XIMPreeditCallbacks = 0x0002 796 XIMPreeditDisable = 2 797 XIMPreeditEnable = 1 798 XIMPreeditNone = 0x0010 799 XIMPreeditNothing = 0x0008 800 XIMPreeditPosition = 0x0004 801 XIMPreeditUnKnown = 0 802 XIMPreserveState = 2 803 XIMPrimary = 32 804 XIMReverse = 1 805 XIMSecondary = 64 806 XIMStatusArea = 0x0100 807 XIMStatusCallbacks = 0x0200 808 XIMStatusNone = 0x0800 809 XIMStatusNothing = 0x0400 810 XIMStringConversionBottomEdge = 8 811 XIMStringConversionBuffer = 1 812 XIMStringConversionChar = 4 813 XIMStringConversionConcealed = 16 814 XIMStringConversionLeftEdge = 1 815 XIMStringConversionLine = 2 816 XIMStringConversionRetrieval = 2 817 XIMStringConversionRightEdge = 2 818 XIMStringConversionSubstitution = 1 819 XIMStringConversionTopEdge = 4 820 XIMStringConversionWord = 3 821 XIMStringConversionWrapped = 32 822 XIMTertiary = 128 823 XIMUnderline = 2 824 XIMVisibleToBackword = 512 825 XIMVisibleToCenter = 1024 826 XIMVisibleToForward = 256 827 XK_0 = 0x0030 828 XK_1 = 0x0031 829 XK_2 = 0x0032 830 XK_3 = 0x0033 831 XK_4 = 0x0034 832 XK_5 = 0x0035 833 XK_6 = 0x0036 834 XK_7 = 0x0037 835 XK_8 = 0x0038 836 XK_9 = 0x0039 837 XK_A = 0x0041 838 XK_AE = 0x00c6 839 XK_ARABIC = 0 840 XK_ARMENIAN = 0 841 XK_Aacute = 0x00c1 842 XK_Abelowdot = 0x1001ea0 843 XK_Abreve = 0x01c3 844 XK_Abreveacute = 0x1001eae 845 XK_Abrevebelowdot = 0x1001eb6 846 XK_Abrevegrave = 0x1001eb0 847 XK_Abrevehook = 0x1001eb2 848 XK_Abrevetilde = 0x1001eb4 849 XK_AccessX_Enable = 0xfe70 850 XK_AccessX_Feedback_Enable = 0xfe71 851 XK_Acircumflex = 0x00c2 852 XK_Acircumflexacute = 0x1001ea4 853 XK_Acircumflexbelowdot = 0x1001eac 854 XK_Acircumflexgrave = 0x1001ea6 855 XK_Acircumflexhook = 0x1001ea8 856 XK_Acircumflextilde = 0x1001eaa 857 XK_Adiaeresis = 0x00c4 858 XK_Agrave = 0x00c0 859 XK_Ahook = 0x1001ea2 860 XK_Alt_L = 0xffe9 861 XK_Alt_R = 0xffea 862 XK_Amacron = 0x03c0 863 XK_Aogonek = 0x01a1 864 XK_Arabic_0 = 0x1000660 865 XK_Arabic_1 = 0x1000661 866 XK_Arabic_2 = 0x1000662 867 XK_Arabic_3 = 0x1000663 868 XK_Arabic_4 = 0x1000664 869 XK_Arabic_5 = 0x1000665 870 XK_Arabic_6 = 0x1000666 871 XK_Arabic_7 = 0x1000667 872 XK_Arabic_8 = 0x1000668 873 XK_Arabic_9 = 0x1000669 874 XK_Arabic_ain = 0x05d9 875 XK_Arabic_alef = 0x05c7 876 XK_Arabic_alefmaksura = 0x05e9 877 XK_Arabic_beh = 0x05c8 878 XK_Arabic_comma = 0x05ac 879 XK_Arabic_dad = 0x05d6 880 XK_Arabic_dal = 0x05cf 881 XK_Arabic_damma = 0x05ef 882 XK_Arabic_dammatan = 0x05ec 883 XK_Arabic_ddal = 0x1000688 884 XK_Arabic_farsi_yeh = 0x10006cc 885 XK_Arabic_fatha = 0x05ee 886 XK_Arabic_fathatan = 0x05eb 887 XK_Arabic_feh = 0x05e1 888 XK_Arabic_fullstop = 0x10006d4 889 XK_Arabic_gaf = 0x10006af 890 XK_Arabic_ghain = 0x05da 891 XK_Arabic_ha = 0x05e7 892 XK_Arabic_hah = 0x05cd 893 XK_Arabic_hamza = 0x05c1 894 XK_Arabic_hamza_above = 0x1000654 895 XK_Arabic_hamza_below = 0x1000655 896 XK_Arabic_hamzaonalef = 0x05c3 897 XK_Arabic_hamzaonwaw = 0x05c4 898 XK_Arabic_hamzaonyeh = 0x05c6 899 XK_Arabic_hamzaunderalef = 0x05c5 900 XK_Arabic_heh = 0x05e7 901 XK_Arabic_heh_doachashmee = 0x10006be 902 XK_Arabic_heh_goal = 0x10006c1 903 XK_Arabic_jeem = 0x05cc 904 XK_Arabic_jeh = 0x1000698 905 XK_Arabic_kaf = 0x05e3 906 XK_Arabic_kasra = 0x05f0 907 XK_Arabic_kasratan = 0x05ed 908 XK_Arabic_keheh = 0x10006a9 909 XK_Arabic_khah = 0x05ce 910 XK_Arabic_lam = 0x05e4 911 XK_Arabic_madda_above = 0x1000653 912 XK_Arabic_maddaonalef = 0x05c2 913 XK_Arabic_meem = 0x05e5 914 XK_Arabic_noon = 0x05e6 915 XK_Arabic_noon_ghunna = 0x10006ba 916 XK_Arabic_peh = 0x100067e 917 XK_Arabic_percent = 0x100066a 918 XK_Arabic_qaf = 0x05e2 919 XK_Arabic_question_mark = 0x05bf 920 XK_Arabic_ra = 0x05d1 921 XK_Arabic_rreh = 0x1000691 922 XK_Arabic_sad = 0x05d5 923 XK_Arabic_seen = 0x05d3 924 XK_Arabic_semicolon = 0x05bb 925 XK_Arabic_shadda = 0x05f1 926 XK_Arabic_sheen = 0x05d4 927 XK_Arabic_sukun = 0x05f2 928 XK_Arabic_superscript_alef = 0x1000670 929 XK_Arabic_switch = 0xff7e 930 XK_Arabic_tah = 0x05d7 931 XK_Arabic_tatweel = 0x05e0 932 XK_Arabic_tcheh = 0x1000686 933 XK_Arabic_teh = 0x05ca 934 XK_Arabic_tehmarbuta = 0x05c9 935 XK_Arabic_thal = 0x05d0 936 XK_Arabic_theh = 0x05cb 937 XK_Arabic_tteh = 0x1000679 938 XK_Arabic_veh = 0x10006a4 939 XK_Arabic_waw = 0x05e8 940 XK_Arabic_yeh = 0x05ea 941 XK_Arabic_yeh_baree = 0x10006d2 942 XK_Arabic_zah = 0x05d8 943 XK_Arabic_zain = 0x05d2 944 XK_Aring = 0x00c5 945 XK_Armenian_AT = 0x1000538 946 XK_Armenian_AYB = 0x1000531 947 XK_Armenian_BEN = 0x1000532 948 XK_Armenian_CHA = 0x1000549 949 XK_Armenian_DA = 0x1000534 950 XK_Armenian_DZA = 0x1000541 951 XK_Armenian_E = 0x1000537 952 XK_Armenian_FE = 0x1000556 953 XK_Armenian_GHAT = 0x1000542 954 XK_Armenian_GIM = 0x1000533 955 XK_Armenian_HI = 0x1000545 956 XK_Armenian_HO = 0x1000540 957 XK_Armenian_INI = 0x100053b 958 XK_Armenian_JE = 0x100054b 959 XK_Armenian_KE = 0x1000554 960 XK_Armenian_KEN = 0x100053f 961 XK_Armenian_KHE = 0x100053d 962 XK_Armenian_LYUN = 0x100053c 963 XK_Armenian_MEN = 0x1000544 964 XK_Armenian_NU = 0x1000546 965 XK_Armenian_O = 0x1000555 966 XK_Armenian_PE = 0x100054a 967 XK_Armenian_PYUR = 0x1000553 968 XK_Armenian_RA = 0x100054c 969 XK_Armenian_RE = 0x1000550 970 XK_Armenian_SE = 0x100054d 971 XK_Armenian_SHA = 0x1000547 972 XK_Armenian_TCHE = 0x1000543 973 XK_Armenian_TO = 0x1000539 974 XK_Armenian_TSA = 0x100053e 975 XK_Armenian_TSO = 0x1000551 976 XK_Armenian_TYUN = 0x100054f 977 XK_Armenian_VEV = 0x100054e 978 XK_Armenian_VO = 0x1000548 979 XK_Armenian_VYUN = 0x1000552 980 XK_Armenian_YECH = 0x1000535 981 XK_Armenian_ZA = 0x1000536 982 XK_Armenian_ZHE = 0x100053a 983 XK_Armenian_accent = 0x100055b 984 XK_Armenian_amanak = 0x100055c 985 XK_Armenian_apostrophe = 0x100055a 986 XK_Armenian_at = 0x1000568 987 XK_Armenian_ayb = 0x1000561 988 XK_Armenian_ben = 0x1000562 989 XK_Armenian_but = 0x100055d 990 XK_Armenian_cha = 0x1000579 991 XK_Armenian_da = 0x1000564 992 XK_Armenian_dza = 0x1000571 993 XK_Armenian_e = 0x1000567 994 XK_Armenian_exclam = 0x100055c 995 XK_Armenian_fe = 0x1000586 996 XK_Armenian_full_stop = 0x1000589 997 XK_Armenian_ghat = 0x1000572 998 XK_Armenian_gim = 0x1000563 999 XK_Armenian_hi = 0x1000575 1000 XK_Armenian_ho = 0x1000570 1001 XK_Armenian_hyphen = 0x100058a 1002 XK_Armenian_ini = 0x100056b 1003 XK_Armenian_je = 0x100057b 1004 XK_Armenian_ke = 0x1000584 1005 XK_Armenian_ken = 0x100056f 1006 XK_Armenian_khe = 0x100056d 1007 XK_Armenian_ligature_ew = 0x1000587 1008 XK_Armenian_lyun = 0x100056c 1009 XK_Armenian_men = 0x1000574 1010 XK_Armenian_nu = 0x1000576 1011 XK_Armenian_o = 0x1000585 1012 XK_Armenian_paruyk = 0x100055e 1013 XK_Armenian_pe = 0x100057a 1014 XK_Armenian_pyur = 0x1000583 1015 XK_Armenian_question = 0x100055e 1016 XK_Armenian_ra = 0x100057c 1017 XK_Armenian_re = 0x1000580 1018 XK_Armenian_se = 0x100057d 1019 XK_Armenian_separation_mark = 0x100055d 1020 XK_Armenian_sha = 0x1000577 1021 XK_Armenian_shesht = 0x100055b 1022 XK_Armenian_tche = 0x1000573 1023 XK_Armenian_to = 0x1000569 1024 XK_Armenian_tsa = 0x100056e 1025 XK_Armenian_tso = 0x1000581 1026 XK_Armenian_tyun = 0x100057f 1027 XK_Armenian_verjaket = 0x1000589 1028 XK_Armenian_vev = 0x100057e 1029 XK_Armenian_vo = 0x1000578 1030 XK_Armenian_vyun = 0x1000582 1031 XK_Armenian_yech = 0x1000565 1032 XK_Armenian_yentamna = 0x100058a 1033 XK_Armenian_za = 0x1000566 1034 XK_Armenian_zhe = 0x100056a 1035 XK_Atilde = 0x00c3 1036 XK_AudibleBell_Enable = 0xfe7a 1037 XK_B = 0x0042 1038 XK_BRAILLE = 0 1039 XK_Babovedot = 0x1001e02 1040 XK_BackSpace = 0xff08 1041 XK_Begin = 0xff58 1042 XK_BounceKeys_Enable = 0xfe74 1043 XK_Break = 0xff6b 1044 XK_Byelorussian_SHORTU = 0x06be 1045 XK_Byelorussian_shortu = 0x06ae 1046 XK_C = 0x0043 1047 XK_CAUCASUS = 0 1048 XK_CH = 0xfea2 1049 XK_CURRENCY = 0 1050 XK_CYRILLIC = 0 1051 XK_C_H = 0xfea5 1052 XK_C_h = 0xfea4 1053 XK_Cabovedot = 0x02c5 1054 XK_Cacute = 0x01c6 1055 XK_Cancel = 0xff69 1056 XK_Caps_Lock = 0xffe5 1057 XK_Ccaron = 0x01c8 1058 XK_Ccedilla = 0x00c7 1059 XK_Ccircumflex = 0x02c6 1060 XK_Ch = 0xfea1 1061 XK_Clear = 0xff0b 1062 XK_Codeinput = 0xff37 1063 XK_ColonSign = 0x10020a1 1064 XK_Control_L = 0xffe3 1065 XK_Control_R = 0xffe4 1066 XK_CruzeiroSign = 0x10020a2 1067 XK_Cyrillic_A = 0x06e1 1068 XK_Cyrillic_BE = 0x06e2 1069 XK_Cyrillic_CHE = 0x06fe 1070 XK_Cyrillic_CHE_descender = 0x10004b6 1071 XK_Cyrillic_CHE_vertstroke = 0x10004b8 1072 XK_Cyrillic_DE = 0x06e4 1073 XK_Cyrillic_DZHE = 0x06bf 1074 XK_Cyrillic_E = 0x06fc 1075 XK_Cyrillic_EF = 0x06e6 1076 XK_Cyrillic_EL = 0x06ec 1077 XK_Cyrillic_EM = 0x06ed 1078 XK_Cyrillic_EN = 0x06ee 1079 XK_Cyrillic_EN_descender = 0x10004a2 1080 XK_Cyrillic_ER = 0x06f2 1081 XK_Cyrillic_ES = 0x06f3 1082 XK_Cyrillic_GHE = 0x06e7 1083 XK_Cyrillic_GHE_bar = 0x1000492 1084 XK_Cyrillic_HA = 0x06e8 1085 XK_Cyrillic_HARDSIGN = 0x06ff 1086 XK_Cyrillic_HA_descender = 0x10004b2 1087 XK_Cyrillic_I = 0x06e9 1088 XK_Cyrillic_IE = 0x06e5 1089 XK_Cyrillic_IO = 0x06b3 1090 XK_Cyrillic_I_macron = 0x10004e2 1091 XK_Cyrillic_JE = 0x06b8 1092 XK_Cyrillic_KA = 0x06eb 1093 XK_Cyrillic_KA_descender = 0x100049a 1094 XK_Cyrillic_KA_vertstroke = 0x100049c 1095 XK_Cyrillic_LJE = 0x06b9 1096 XK_Cyrillic_NJE = 0x06ba 1097 XK_Cyrillic_O = 0x06ef 1098 XK_Cyrillic_O_bar = 0x10004e8 1099 XK_Cyrillic_PE = 0x06f0 1100 XK_Cyrillic_SCHWA = 0x10004d8 1101 XK_Cyrillic_SHA = 0x06fb 1102 XK_Cyrillic_SHCHA = 0x06fd 1103 XK_Cyrillic_SHHA = 0x10004ba 1104 XK_Cyrillic_SHORTI = 0x06ea 1105 XK_Cyrillic_SOFTSIGN = 0x06f8 1106 XK_Cyrillic_TE = 0x06f4 1107 XK_Cyrillic_TSE = 0x06e3 1108 XK_Cyrillic_U = 0x06f5 1109 XK_Cyrillic_U_macron = 0x10004ee 1110 XK_Cyrillic_U_straight = 0x10004ae 1111 XK_Cyrillic_U_straight_bar = 0x10004b0 1112 XK_Cyrillic_VE = 0x06f7 1113 XK_Cyrillic_YA = 0x06f1 1114 XK_Cyrillic_YERU = 0x06f9 1115 XK_Cyrillic_YU = 0x06e0 1116 XK_Cyrillic_ZE = 0x06fa 1117 XK_Cyrillic_ZHE = 0x06f6 1118 XK_Cyrillic_ZHE_descender = 0x1000496 1119 XK_Cyrillic_a = 0x06c1 1120 XK_Cyrillic_be = 0x06c2 1121 XK_Cyrillic_che = 0x06de 1122 XK_Cyrillic_che_descender = 0x10004b7 1123 XK_Cyrillic_che_vertstroke = 0x10004b9 1124 XK_Cyrillic_de = 0x06c4 1125 XK_Cyrillic_dzhe = 0x06af 1126 XK_Cyrillic_e = 0x06dc 1127 XK_Cyrillic_ef = 0x06c6 1128 XK_Cyrillic_el = 0x06cc 1129 XK_Cyrillic_em = 0x06cd 1130 XK_Cyrillic_en = 0x06ce 1131 XK_Cyrillic_en_descender = 0x10004a3 1132 XK_Cyrillic_er = 0x06d2 1133 XK_Cyrillic_es = 0x06d3 1134 XK_Cyrillic_ghe = 0x06c7 1135 XK_Cyrillic_ghe_bar = 0x1000493 1136 XK_Cyrillic_ha = 0x06c8 1137 XK_Cyrillic_ha_descender = 0x10004b3 1138 XK_Cyrillic_hardsign = 0x06df 1139 XK_Cyrillic_i = 0x06c9 1140 XK_Cyrillic_i_macron = 0x10004e3 1141 XK_Cyrillic_ie = 0x06c5 1142 XK_Cyrillic_io = 0x06a3 1143 XK_Cyrillic_je = 0x06a8 1144 XK_Cyrillic_ka = 0x06cb 1145 XK_Cyrillic_ka_descender = 0x100049b 1146 XK_Cyrillic_ka_vertstroke = 0x100049d 1147 XK_Cyrillic_lje = 0x06a9 1148 XK_Cyrillic_nje = 0x06aa 1149 XK_Cyrillic_o = 0x06cf 1150 XK_Cyrillic_o_bar = 0x10004e9 1151 XK_Cyrillic_pe = 0x06d0 1152 XK_Cyrillic_schwa = 0x10004d9 1153 XK_Cyrillic_sha = 0x06db 1154 XK_Cyrillic_shcha = 0x06dd 1155 XK_Cyrillic_shha = 0x10004bb 1156 XK_Cyrillic_shorti = 0x06ca 1157 XK_Cyrillic_softsign = 0x06d8 1158 XK_Cyrillic_te = 0x06d4 1159 XK_Cyrillic_tse = 0x06c3 1160 XK_Cyrillic_u = 0x06d5 1161 XK_Cyrillic_u_macron = 0x10004ef 1162 XK_Cyrillic_u_straight = 0x10004af 1163 XK_Cyrillic_u_straight_bar = 0x10004b1 1164 XK_Cyrillic_ve = 0x06d7 1165 XK_Cyrillic_ya = 0x06d1 1166 XK_Cyrillic_yeru = 0x06d9 1167 XK_Cyrillic_yu = 0x06c0 1168 XK_Cyrillic_ze = 0x06da 1169 XK_Cyrillic_zhe = 0x06d6 1170 XK_Cyrillic_zhe_descender = 0x1000497 1171 XK_D = 0x0044 1172 XK_Dabovedot = 0x1001e0a 1173 XK_Dcaron = 0x01cf 1174 XK_Delete = 0xffff 1175 XK_DongSign = 0x10020ab 1176 XK_Down = 0xff54 1177 XK_Dstroke = 0x01d0 1178 XK_E = 0x0045 1179 XK_ENG = 0x03bd 1180 XK_ETH = 0x00d0 1181 XK_EZH = 0x10001b7 1182 XK_Eabovedot = 0x03cc 1183 XK_Eacute = 0x00c9 1184 XK_Ebelowdot = 0x1001eb8 1185 XK_Ecaron = 0x01cc 1186 XK_Ecircumflex = 0x00ca 1187 XK_Ecircumflexacute = 0x1001ebe 1188 XK_Ecircumflexbelowdot = 0x1001ec6 1189 XK_Ecircumflexgrave = 0x1001ec0 1190 XK_Ecircumflexhook = 0x1001ec2 1191 XK_Ecircumflextilde = 0x1001ec4 1192 XK_EcuSign = 0x10020a0 1193 XK_Ediaeresis = 0x00cb 1194 XK_Egrave = 0x00c8 1195 XK_Ehook = 0x1001eba 1196 XK_Eisu_Shift = 0xff2f 1197 XK_Eisu_toggle = 0xff30 1198 XK_Emacron = 0x03aa 1199 XK_End = 0xff57 1200 XK_Eogonek = 0x01ca 1201 XK_Escape = 0xff1b 1202 XK_Eth = 0x00d0 1203 XK_Etilde = 0x1001ebc 1204 XK_EuroSign = 0x20ac 1205 XK_Execute = 0xff62 1206 XK_F = 0x0046 1207 XK_F1 = 0xffbe 1208 XK_F10 = 0xffc7 1209 XK_F11 = 0xffc8 1210 XK_F12 = 0xffc9 1211 XK_F13 = 0xffca 1212 XK_F14 = 0xffcb 1213 XK_F15 = 0xffcc 1214 XK_F16 = 0xffcd 1215 XK_F17 = 0xffce 1216 XK_F18 = 0xffcf 1217 XK_F19 = 0xffd0 1218 XK_F2 = 0xffbf 1219 XK_F20 = 0xffd1 1220 XK_F21 = 0xffd2 1221 XK_F22 = 0xffd3 1222 XK_F23 = 0xffd4 1223 XK_F24 = 0xffd5 1224 XK_F25 = 0xffd6 1225 XK_F26 = 0xffd7 1226 XK_F27 = 0xffd8 1227 XK_F28 = 0xffd9 1228 XK_F29 = 0xffda 1229 XK_F3 = 0xffc0 1230 XK_F30 = 0xffdb 1231 XK_F31 = 0xffdc 1232 XK_F32 = 0xffdd 1233 XK_F33 = 0xffde 1234 XK_F34 = 0xffdf 1235 XK_F35 = 0xffe0 1236 XK_F4 = 0xffc1 1237 XK_F5 = 0xffc2 1238 XK_F6 = 0xffc3 1239 XK_F7 = 0xffc4 1240 XK_F8 = 0xffc5 1241 XK_F9 = 0xffc6 1242 XK_FFrancSign = 0x10020a3 1243 XK_Fabovedot = 0x1001e1e 1244 XK_Farsi_0 = 0x10006f0 1245 XK_Farsi_1 = 0x10006f1 1246 XK_Farsi_2 = 0x10006f2 1247 XK_Farsi_3 = 0x10006f3 1248 XK_Farsi_4 = 0x10006f4 1249 XK_Farsi_5 = 0x10006f5 1250 XK_Farsi_6 = 0x10006f6 1251 XK_Farsi_7 = 0x10006f7 1252 XK_Farsi_8 = 0x10006f8 1253 XK_Farsi_9 = 0x10006f9 1254 XK_Farsi_yeh = 0x10006cc 1255 XK_Find = 0xff68 1256 XK_First_Virtual_Screen = 0xfed0 1257 XK_G = 0x0047 1258 XK_GEORGIAN = 0 1259 XK_GREEK = 0 1260 XK_Gabovedot = 0x02d5 1261 XK_Gbreve = 0x02ab 1262 XK_Gcaron = 0x10001e6 1263 XK_Gcedilla = 0x03ab 1264 XK_Gcircumflex = 0x02d8 1265 XK_Georgian_an = 0x10010d0 1266 XK_Georgian_ban = 0x10010d1 1267 XK_Georgian_can = 0x10010ea 1268 XK_Georgian_char = 0x10010ed 1269 XK_Georgian_chin = 0x10010e9 1270 XK_Georgian_cil = 0x10010ec 1271 XK_Georgian_don = 0x10010d3 1272 XK_Georgian_en = 0x10010d4 1273 XK_Georgian_fi = 0x10010f6 1274 XK_Georgian_gan = 0x10010d2 1275 XK_Georgian_ghan = 0x10010e6 1276 XK_Georgian_hae = 0x10010f0 1277 XK_Georgian_har = 0x10010f4 1278 XK_Georgian_he = 0x10010f1 1279 XK_Georgian_hie = 0x10010f2 1280 XK_Georgian_hoe = 0x10010f5 1281 XK_Georgian_in = 0x10010d8 1282 XK_Georgian_jhan = 0x10010ef 1283 XK_Georgian_jil = 0x10010eb 1284 XK_Georgian_kan = 0x10010d9 1285 XK_Georgian_khar = 0x10010e5 1286 XK_Georgian_las = 0x10010da 1287 XK_Georgian_man = 0x10010db 1288 XK_Georgian_nar = 0x10010dc 1289 XK_Georgian_on = 0x10010dd 1290 XK_Georgian_par = 0x10010de 1291 XK_Georgian_phar = 0x10010e4 1292 XK_Georgian_qar = 0x10010e7 1293 XK_Georgian_rae = 0x10010e0 1294 XK_Georgian_san = 0x10010e1 1295 XK_Georgian_shin = 0x10010e8 1296 XK_Georgian_tan = 0x10010d7 1297 XK_Georgian_tar = 0x10010e2 1298 XK_Georgian_un = 0x10010e3 1299 XK_Georgian_vin = 0x10010d5 1300 XK_Georgian_we = 0x10010f3 1301 XK_Georgian_xan = 0x10010ee 1302 XK_Georgian_zen = 0x10010d6 1303 XK_Georgian_zhar = 0x10010df 1304 XK_Greek_ALPHA = 0x07c1 1305 XK_Greek_ALPHAaccent = 0x07a1 1306 XK_Greek_BETA = 0x07c2 1307 XK_Greek_CHI = 0x07d7 1308 XK_Greek_DELTA = 0x07c4 1309 XK_Greek_EPSILON = 0x07c5 1310 XK_Greek_EPSILONaccent = 0x07a2 1311 XK_Greek_ETA = 0x07c7 1312 XK_Greek_ETAaccent = 0x07a3 1313 XK_Greek_GAMMA = 0x07c3 1314 XK_Greek_IOTA = 0x07c9 1315 XK_Greek_IOTAaccent = 0x07a4 1316 XK_Greek_IOTAdiaeresis = 0x07a5 1317 XK_Greek_IOTAdieresis = 0x07a5 1318 XK_Greek_KAPPA = 0x07ca 1319 XK_Greek_LAMBDA = 0x07cb 1320 XK_Greek_LAMDA = 0x07cb 1321 XK_Greek_MU = 0x07cc 1322 XK_Greek_NU = 0x07cd 1323 XK_Greek_OMEGA = 0x07d9 1324 XK_Greek_OMEGAaccent = 0x07ab 1325 XK_Greek_OMICRON = 0x07cf 1326 XK_Greek_OMICRONaccent = 0x07a7 1327 XK_Greek_PHI = 0x07d6 1328 XK_Greek_PI = 0x07d0 1329 XK_Greek_PSI = 0x07d8 1330 XK_Greek_RHO = 0x07d1 1331 XK_Greek_SIGMA = 0x07d2 1332 XK_Greek_TAU = 0x07d4 1333 XK_Greek_THETA = 0x07c8 1334 XK_Greek_UPSILON = 0x07d5 1335 XK_Greek_UPSILONaccent = 0x07a8 1336 XK_Greek_UPSILONdieresis = 0x07a9 1337 XK_Greek_XI = 0x07ce 1338 XK_Greek_ZETA = 0x07c6 1339 XK_Greek_accentdieresis = 0x07ae 1340 XK_Greek_alpha = 0x07e1 1341 XK_Greek_alphaaccent = 0x07b1 1342 XK_Greek_beta = 0x07e2 1343 XK_Greek_chi = 0x07f7 1344 XK_Greek_delta = 0x07e4 1345 XK_Greek_epsilon = 0x07e5 1346 XK_Greek_epsilonaccent = 0x07b2 1347 XK_Greek_eta = 0x07e7 1348 XK_Greek_etaaccent = 0x07b3 1349 XK_Greek_finalsmallsigma = 0x07f3 1350 XK_Greek_gamma = 0x07e3 1351 XK_Greek_horizbar = 0x07af 1352 XK_Greek_iota = 0x07e9 1353 XK_Greek_iotaaccent = 0x07b4 1354 XK_Greek_iotaaccentdieresis = 0x07b6 1355 XK_Greek_iotadieresis = 0x07b5 1356 XK_Greek_kappa = 0x07ea 1357 XK_Greek_lambda = 0x07eb 1358 XK_Greek_lamda = 0x07eb 1359 XK_Greek_mu = 0x07ec 1360 XK_Greek_nu = 0x07ed 1361 XK_Greek_omega = 0x07f9 1362 XK_Greek_omegaaccent = 0x07bb 1363 XK_Greek_omicron = 0x07ef 1364 XK_Greek_omicronaccent = 0x07b7 1365 XK_Greek_phi = 0x07f6 1366 XK_Greek_pi = 0x07f0 1367 XK_Greek_psi = 0x07f8 1368 XK_Greek_rho = 0x07f1 1369 XK_Greek_sigma = 0x07f2 1370 XK_Greek_switch = 0xff7e 1371 XK_Greek_tau = 0x07f4 1372 XK_Greek_theta = 0x07e8 1373 XK_Greek_upsilon = 0x07f5 1374 XK_Greek_upsilonaccent = 0x07b8 1375 XK_Greek_upsilonaccentdieresis = 0x07ba 1376 XK_Greek_upsilondieresis = 0x07b9 1377 XK_Greek_xi = 0x07ee 1378 XK_Greek_zeta = 0x07e6 1379 XK_H = 0x0048 1380 XK_HEBREW = 0 1381 XK_Hangul = 0xff31 1382 XK_Hangul_A = 0x0ebf 1383 XK_Hangul_AE = 0x0ec0 1384 XK_Hangul_AraeA = 0x0ef6 1385 XK_Hangul_AraeAE = 0x0ef7 1386 XK_Hangul_Banja = 0xff39 1387 XK_Hangul_Cieuc = 0x0eba 1388 XK_Hangul_Codeinput = 0xff37 1389 XK_Hangul_Dikeud = 0x0ea7 1390 XK_Hangul_E = 0x0ec4 1391 XK_Hangul_EO = 0x0ec3 1392 XK_Hangul_EU = 0x0ed1 1393 XK_Hangul_End = 0xff33 1394 XK_Hangul_Hanja = 0xff34 1395 XK_Hangul_Hieuh = 0x0ebe 1396 XK_Hangul_I = 0x0ed3 1397 XK_Hangul_Ieung = 0x0eb7 1398 XK_Hangul_J_Cieuc = 0x0eea 1399 XK_Hangul_J_Dikeud = 0x0eda 1400 XK_Hangul_J_Hieuh = 0x0eee 1401 XK_Hangul_J_Ieung = 0x0ee8 1402 XK_Hangul_J_Jieuj = 0x0ee9 1403 XK_Hangul_J_Khieuq = 0x0eeb 1404 XK_Hangul_J_Kiyeog = 0x0ed4 1405 XK_Hangul_J_KiyeogSios = 0x0ed6 1406 XK_Hangul_J_KkogjiDalrinIeung = 0x0ef9 1407 XK_Hangul_J_Mieum = 0x0ee3 1408 XK_Hangul_J_Nieun = 0x0ed7 1409 XK_Hangul_J_NieunHieuh = 0x0ed9 1410 XK_Hangul_J_NieunJieuj = 0x0ed8 1411 XK_Hangul_J_PanSios = 0x0ef8 1412 XK_Hangul_J_Phieuf = 0x0eed 1413 XK_Hangul_J_Pieub = 0x0ee4 1414 XK_Hangul_J_PieubSios = 0x0ee5 1415 XK_Hangul_J_Rieul = 0x0edb 1416 XK_Hangul_J_RieulHieuh = 0x0ee2 1417 XK_Hangul_J_RieulKiyeog = 0x0edc 1418 XK_Hangul_J_RieulMieum = 0x0edd 1419 XK_Hangul_J_RieulPhieuf = 0x0ee1 1420 XK_Hangul_J_RieulPieub = 0x0ede 1421 XK_Hangul_J_RieulSios = 0x0edf 1422 XK_Hangul_J_RieulTieut = 0x0ee0 1423 XK_Hangul_J_Sios = 0x0ee6 1424 XK_Hangul_J_SsangKiyeog = 0x0ed5 1425 XK_Hangul_J_SsangSios = 0x0ee7 1426 XK_Hangul_J_Tieut = 0x0eec 1427 XK_Hangul_J_YeorinHieuh = 0x0efa 1428 XK_Hangul_Jamo = 0xff35 1429 XK_Hangul_Jeonja = 0xff38 1430 XK_Hangul_Jieuj = 0x0eb8 1431 XK_Hangul_Khieuq = 0x0ebb 1432 XK_Hangul_Kiyeog = 0x0ea1 1433 XK_Hangul_KiyeogSios = 0x0ea3 1434 XK_Hangul_KkogjiDalrinIeung = 0x0ef3 1435 XK_Hangul_Mieum = 0x0eb1 1436 XK_Hangul_MultipleCandidate = 0xff3d 1437 XK_Hangul_Nieun = 0x0ea4 1438 XK_Hangul_NieunHieuh = 0x0ea6 1439 XK_Hangul_NieunJieuj = 0x0ea5 1440 XK_Hangul_O = 0x0ec7 1441 XK_Hangul_OE = 0x0eca 1442 XK_Hangul_PanSios = 0x0ef2 1443 XK_Hangul_Phieuf = 0x0ebd 1444 XK_Hangul_Pieub = 0x0eb2 1445 XK_Hangul_PieubSios = 0x0eb4 1446 XK_Hangul_PostHanja = 0xff3b 1447 XK_Hangul_PreHanja = 0xff3a 1448 XK_Hangul_PreviousCandidate = 0xff3e 1449 XK_Hangul_Rieul = 0x0ea9 1450 XK_Hangul_RieulHieuh = 0x0eb0 1451 XK_Hangul_RieulKiyeog = 0x0eaa 1452 XK_Hangul_RieulMieum = 0x0eab 1453 XK_Hangul_RieulPhieuf = 0x0eaf 1454 XK_Hangul_RieulPieub = 0x0eac 1455 XK_Hangul_RieulSios = 0x0ead 1456 XK_Hangul_RieulTieut = 0x0eae 1457 XK_Hangul_RieulYeorinHieuh = 0x0eef 1458 XK_Hangul_Romaja = 0xff36 1459 XK_Hangul_SingleCandidate = 0xff3c 1460 XK_Hangul_Sios = 0x0eb5 1461 XK_Hangul_Special = 0xff3f 1462 XK_Hangul_SsangDikeud = 0x0ea8 1463 XK_Hangul_SsangJieuj = 0x0eb9 1464 XK_Hangul_SsangKiyeog = 0x0ea2 1465 XK_Hangul_SsangPieub = 0x0eb3 1466 XK_Hangul_SsangSios = 0x0eb6 1467 XK_Hangul_Start = 0xff32 1468 XK_Hangul_SunkyeongeumMieum = 0x0ef0 1469 XK_Hangul_SunkyeongeumPhieuf = 0x0ef4 1470 XK_Hangul_SunkyeongeumPieub = 0x0ef1 1471 XK_Hangul_Tieut = 0x0ebc 1472 XK_Hangul_U = 0x0ecc 1473 XK_Hangul_WA = 0x0ec8 1474 XK_Hangul_WAE = 0x0ec9 1475 XK_Hangul_WE = 0x0ece 1476 XK_Hangul_WEO = 0x0ecd 1477 XK_Hangul_WI = 0x0ecf 1478 XK_Hangul_YA = 0x0ec1 1479 XK_Hangul_YAE = 0x0ec2 1480 XK_Hangul_YE = 0x0ec6 1481 XK_Hangul_YEO = 0x0ec5 1482 XK_Hangul_YI = 0x0ed2 1483 XK_Hangul_YO = 0x0ecb 1484 XK_Hangul_YU = 0x0ed0 1485 XK_Hangul_YeorinHieuh = 0x0ef5 1486 XK_Hangul_switch = 0xff7e 1487 XK_Hankaku = 0xff29 1488 XK_Hcircumflex = 0x02a6 1489 XK_Hebrew_switch = 0xff7e 1490 XK_Help = 0xff6a 1491 XK_Henkan = 0xff23 1492 XK_Henkan_Mode = 0xff23 1493 XK_Hiragana = 0xff25 1494 XK_Hiragana_Katakana = 0xff27 1495 XK_Home = 0xff50 1496 XK_Hstroke = 0x02a1 1497 XK_Hyper_L = 0xffed 1498 XK_Hyper_R = 0xffee 1499 XK_I = 0x0049 1500 XK_ISO_Center_Object = 0xfe33 1501 XK_ISO_Continuous_Underline = 0xfe30 1502 XK_ISO_Discontinuous_Underline = 0xfe31 1503 XK_ISO_Emphasize = 0xfe32 1504 XK_ISO_Enter = 0xfe34 1505 XK_ISO_Fast_Cursor_Down = 0xfe2f 1506 XK_ISO_Fast_Cursor_Left = 0xfe2c 1507 XK_ISO_Fast_Cursor_Right = 0xfe2d 1508 XK_ISO_Fast_Cursor_Up = 0xfe2e 1509 XK_ISO_First_Group = 0xfe0c 1510 XK_ISO_First_Group_Lock = 0xfe0d 1511 XK_ISO_Group_Latch = 0xfe06 1512 XK_ISO_Group_Lock = 0xfe07 1513 XK_ISO_Group_Shift = 0xff7e 1514 XK_ISO_Last_Group = 0xfe0e 1515 XK_ISO_Last_Group_Lock = 0xfe0f 1516 XK_ISO_Left_Tab = 0xfe20 1517 XK_ISO_Level2_Latch = 0xfe02 1518 XK_ISO_Level3_Latch = 0xfe04 1519 XK_ISO_Level3_Lock = 0xfe05 1520 XK_ISO_Level3_Shift = 0xfe03 1521 XK_ISO_Level5_Latch = 0xfe12 1522 XK_ISO_Level5_Lock = 0xfe13 1523 XK_ISO_Level5_Shift = 0xfe11 1524 XK_ISO_Lock = 0xfe01 1525 XK_ISO_Move_Line_Down = 0xfe22 1526 XK_ISO_Move_Line_Up = 0xfe21 1527 XK_ISO_Next_Group = 0xfe08 1528 XK_ISO_Next_Group_Lock = 0xfe09 1529 XK_ISO_Partial_Line_Down = 0xfe24 1530 XK_ISO_Partial_Line_Up = 0xfe23 1531 XK_ISO_Partial_Space_Left = 0xfe25 1532 XK_ISO_Partial_Space_Right = 0xfe26 1533 XK_ISO_Prev_Group = 0xfe0a 1534 XK_ISO_Prev_Group_Lock = 0xfe0b 1535 XK_ISO_Release_Both_Margins = 0xfe2b 1536 XK_ISO_Release_Margin_Left = 0xfe29 1537 XK_ISO_Release_Margin_Right = 0xfe2a 1538 XK_ISO_Set_Margin_Left = 0xfe27 1539 XK_ISO_Set_Margin_Right = 0xfe28 1540 XK_Iabovedot = 0x02a9 1541 XK_Iacute = 0x00cd 1542 XK_Ibelowdot = 0x1001eca 1543 XK_Ibreve = 0x100012c 1544 XK_Icircumflex = 0x00ce 1545 XK_Idiaeresis = 0x00cf 1546 XK_Igrave = 0x00cc 1547 XK_Ihook = 0x1001ec8 1548 XK_Imacron = 0x03cf 1549 XK_Insert = 0xff63 1550 XK_Iogonek = 0x03c7 1551 XK_Itilde = 0x03a5 1552 XK_J = 0x004a 1553 XK_Jcircumflex = 0x02ac 1554 XK_K = 0x004b 1555 XK_KATAKANA = 0 1556 XK_KOREAN = 0 1557 XK_KP_0 = 0xffb0 1558 XK_KP_1 = 0xffb1 1559 XK_KP_2 = 0xffb2 1560 XK_KP_3 = 0xffb3 1561 XK_KP_4 = 0xffb4 1562 XK_KP_5 = 0xffb5 1563 XK_KP_6 = 0xffb6 1564 XK_KP_7 = 0xffb7 1565 XK_KP_8 = 0xffb8 1566 XK_KP_9 = 0xffb9 1567 XK_KP_Add = 0xffab 1568 XK_KP_Begin = 0xff9d 1569 XK_KP_Decimal = 0xffae 1570 XK_KP_Delete = 0xff9f 1571 XK_KP_Divide = 0xffaf 1572 XK_KP_Down = 0xff99 1573 XK_KP_End = 0xff9c 1574 XK_KP_Enter = 0xff8d 1575 XK_KP_Equal = 0xffbd 1576 XK_KP_F1 = 0xff91 1577 XK_KP_F2 = 0xff92 1578 XK_KP_F3 = 0xff93 1579 XK_KP_F4 = 0xff94 1580 XK_KP_Home = 0xff95 1581 XK_KP_Insert = 0xff9e 1582 XK_KP_Left = 0xff96 1583 XK_KP_Multiply = 0xffaa 1584 XK_KP_Next = 0xff9b 1585 XK_KP_Page_Down = 0xff9b 1586 XK_KP_Page_Up = 0xff9a 1587 XK_KP_Prior = 0xff9a 1588 XK_KP_Right = 0xff98 1589 XK_KP_Separator = 0xffac 1590 XK_KP_Space = 0xff80 1591 XK_KP_Subtract = 0xffad 1592 XK_KP_Tab = 0xff89 1593 XK_KP_Up = 0xff97 1594 XK_Kana_Lock = 0xff2d 1595 XK_Kana_Shift = 0xff2e 1596 XK_Kanji = 0xff21 1597 XK_Kanji_Bangou = 0xff37 1598 XK_Katakana = 0xff26 1599 XK_Kcedilla = 0x03d3 1600 XK_Korean_Won = 0x0eff 1601 XK_L = 0x004c 1602 XK_L1 = 0xffc8 1603 XK_L10 = 0xffd1 1604 XK_L2 = 0xffc9 1605 XK_L3 = 0xffca 1606 XK_L4 = 0xffcb 1607 XK_L5 = 0xffcc 1608 XK_L6 = 0xffcd 1609 XK_L7 = 0xffce 1610 XK_L8 = 0xffcf 1611 XK_L9 = 0xffd0 1612 XK_LATIN1 = 0 1613 XK_LATIN2 = 0 1614 XK_LATIN3 = 0 1615 XK_LATIN4 = 0 1616 XK_LATIN8 = 0 1617 XK_LATIN9 = 0 1618 XK_Lacute = 0x01c5 1619 XK_Last_Virtual_Screen = 0xfed4 1620 XK_Lbelowdot = 0x1001e36 1621 XK_Lcaron = 0x01a5 1622 XK_Lcedilla = 0x03a6 1623 XK_Left = 0xff51 1624 XK_Linefeed = 0xff0a 1625 XK_LiraSign = 0x10020a4 1626 XK_Lstroke = 0x01a3 1627 XK_M = 0x004d 1628 XK_MATHEMATICAL = 0 1629 XK_MISCELLANY = 0 1630 XK_Mabovedot = 0x1001e40 1631 XK_Macedonia_DSE = 0x06b5 1632 XK_Macedonia_GJE = 0x06b2 1633 XK_Macedonia_KJE = 0x06bc 1634 XK_Macedonia_dse = 0x06a5 1635 XK_Macedonia_gje = 0x06a2 1636 XK_Macedonia_kje = 0x06ac 1637 XK_Mae_Koho = 0xff3e 1638 XK_Massyo = 0xff2c 1639 XK_Menu = 0xff67 1640 XK_Meta_L = 0xffe7 1641 XK_Meta_R = 0xffe8 1642 XK_MillSign = 0x10020a5 1643 XK_Mode_switch = 0xff7e 1644 XK_MouseKeys_Accel_Enable = 0xfe77 1645 XK_MouseKeys_Enable = 0xfe76 1646 XK_Muhenkan = 0xff22 1647 XK_Multi_key = 0xff20 1648 XK_MultipleCandidate = 0xff3d 1649 XK_N = 0x004e 1650 XK_Nacute = 0x01d1 1651 XK_NairaSign = 0x10020a6 1652 XK_Ncaron = 0x01d2 1653 XK_Ncedilla = 0x03d1 1654 XK_NewSheqelSign = 0x10020aa 1655 XK_Next = 0xff56 1656 XK_Next_Virtual_Screen = 0xfed2 1657 XK_Ntilde = 0x00d1 1658 XK_Num_Lock = 0xff7f 1659 XK_O = 0x004f 1660 XK_OE = 0x13bc 1661 XK_Oacute = 0x00d3 1662 XK_Obarred = 0x100019f 1663 XK_Obelowdot = 0x1001ecc 1664 XK_Ocaron = 0x10001d1 1665 XK_Ocircumflex = 0x00d4 1666 XK_Ocircumflexacute = 0x1001ed0 1667 XK_Ocircumflexbelowdot = 0x1001ed8 1668 XK_Ocircumflexgrave = 0x1001ed2 1669 XK_Ocircumflexhook = 0x1001ed4 1670 XK_Ocircumflextilde = 0x1001ed6 1671 XK_Odiaeresis = 0x00d6 1672 XK_Odoubleacute = 0x01d5 1673 XK_Ograve = 0x00d2 1674 XK_Ohook = 0x1001ece 1675 XK_Ohorn = 0x10001a0 1676 XK_Ohornacute = 0x1001eda 1677 XK_Ohornbelowdot = 0x1001ee2 1678 XK_Ohorngrave = 0x1001edc 1679 XK_Ohornhook = 0x1001ede 1680 XK_Ohorntilde = 0x1001ee0 1681 XK_Omacron = 0x03d2 1682 XK_Ooblique = 0x00d8 1683 XK_Oslash = 0x00d8 1684 XK_Otilde = 0x00d5 1685 XK_Overlay1_Enable = 0xfe78 1686 XK_Overlay2_Enable = 0xfe79 1687 XK_P = 0x0050 1688 XK_Pabovedot = 0x1001e56 1689 XK_Page_Down = 0xff56 1690 XK_Page_Up = 0xff55 1691 XK_Pause = 0xff13 1692 XK_PesetaSign = 0x10020a7 1693 XK_Pointer_Accelerate = 0xfefa 1694 XK_Pointer_Button1 = 0xfee9 1695 XK_Pointer_Button2 = 0xfeea 1696 XK_Pointer_Button3 = 0xfeeb 1697 XK_Pointer_Button4 = 0xfeec 1698 XK_Pointer_Button5 = 0xfeed 1699 XK_Pointer_Button_Dflt = 0xfee8 1700 XK_Pointer_DblClick1 = 0xfeef 1701 XK_Pointer_DblClick2 = 0xfef0 1702 XK_Pointer_DblClick3 = 0xfef1 1703 XK_Pointer_DblClick4 = 0xfef2 1704 XK_Pointer_DblClick5 = 0xfef3 1705 XK_Pointer_DblClick_Dflt = 0xfeee 1706 XK_Pointer_DfltBtnNext = 0xfefb 1707 XK_Pointer_DfltBtnPrev = 0xfefc 1708 XK_Pointer_Down = 0xfee3 1709 XK_Pointer_DownLeft = 0xfee6 1710 XK_Pointer_DownRight = 0xfee7 1711 XK_Pointer_Drag1 = 0xfef5 1712 XK_Pointer_Drag2 = 0xfef6 1713 XK_Pointer_Drag3 = 0xfef7 1714 XK_Pointer_Drag4 = 0xfef8 1715 XK_Pointer_Drag5 = 0xfefd 1716 XK_Pointer_Drag_Dflt = 0xfef4 1717 XK_Pointer_EnableKeys = 0xfef9 1718 XK_Pointer_Left = 0xfee0 1719 XK_Pointer_Right = 0xfee1 1720 XK_Pointer_Up = 0xfee2 1721 XK_Pointer_UpLeft = 0xfee4 1722 XK_Pointer_UpRight = 0xfee5 1723 XK_Prev_Virtual_Screen = 0xfed1 1724 XK_PreviousCandidate = 0xff3e 1725 XK_Print = 0xff61 1726 XK_Prior = 0xff55 1727 XK_Q = 0x0051 1728 XK_R = 0x0052 1729 XK_R1 = 0xffd2 1730 XK_R10 = 0xffdb 1731 XK_R11 = 0xffdc 1732 XK_R12 = 0xffdd 1733 XK_R13 = 0xffde 1734 XK_R14 = 0xffdf 1735 XK_R15 = 0xffe0 1736 XK_R2 = 0xffd3 1737 XK_R3 = 0xffd4 1738 XK_R4 = 0xffd5 1739 XK_R5 = 0xffd6 1740 XK_R6 = 0xffd7 1741 XK_R7 = 0xffd8 1742 XK_R8 = 0xffd9 1743 XK_R9 = 0xffda 1744 XK_Racute = 0x01c0 1745 XK_Rcaron = 0x01d8 1746 XK_Rcedilla = 0x03a3 1747 XK_Redo = 0xff66 1748 XK_RepeatKeys_Enable = 0xfe72 1749 XK_Return = 0xff0d 1750 XK_Right = 0xff53 1751 XK_Romaji = 0xff24 1752 XK_RupeeSign = 0x10020a8 1753 XK_S = 0x0053 1754 XK_SCHWA = 0x100018f 1755 XK_SINHALA = 0 1756 XK_Sabovedot = 0x1001e60 1757 XK_Sacute = 0x01a6 1758 XK_Scaron = 0x01a9 1759 XK_Scedilla = 0x01aa 1760 XK_Scircumflex = 0x02de 1761 XK_Scroll_Lock = 0xff14 1762 XK_Select = 0xff60 1763 XK_Serbian_DJE = 0x06b1 1764 XK_Serbian_DZE = 0x06bf 1765 XK_Serbian_JE = 0x06b8 1766 XK_Serbian_LJE = 0x06b9 1767 XK_Serbian_NJE = 0x06ba 1768 XK_Serbian_TSHE = 0x06bb 1769 XK_Serbian_dje = 0x06a1 1770 XK_Serbian_dze = 0x06af 1771 XK_Serbian_je = 0x06a8 1772 XK_Serbian_lje = 0x06a9 1773 XK_Serbian_nje = 0x06aa 1774 XK_Serbian_tshe = 0x06ab 1775 XK_Shift_L = 0xffe1 1776 XK_Shift_Lock = 0xffe6 1777 XK_Shift_R = 0xffe2 1778 XK_SingleCandidate = 0xff3c 1779 XK_Sinh_a = 0x1000d85 1780 XK_Sinh_aa = 0x1000d86 1781 XK_Sinh_aa2 = 0x1000dcf 1782 XK_Sinh_ae = 0x1000d87 1783 XK_Sinh_ae2 = 0x1000dd0 1784 XK_Sinh_aee = 0x1000d88 1785 XK_Sinh_aee2 = 0x1000dd1 1786 XK_Sinh_ai = 0x1000d93 1787 XK_Sinh_ai2 = 0x1000ddb 1788 XK_Sinh_al = 0x1000dca 1789 XK_Sinh_au = 0x1000d96 1790 XK_Sinh_au2 = 0x1000dde 1791 XK_Sinh_ba = 0x1000db6 1792 XK_Sinh_bha = 0x1000db7 1793 XK_Sinh_ca = 0x1000da0 1794 XK_Sinh_cha = 0x1000da1 1795 XK_Sinh_dda = 0x1000da9 1796 XK_Sinh_ddha = 0x1000daa 1797 XK_Sinh_dha = 0x1000daf 1798 XK_Sinh_dhha = 0x1000db0 1799 XK_Sinh_e = 0x1000d91 1800 XK_Sinh_e2 = 0x1000dd9 1801 XK_Sinh_ee = 0x1000d92 1802 XK_Sinh_ee2 = 0x1000dda 1803 XK_Sinh_fa = 0x1000dc6 1804 XK_Sinh_ga = 0x1000d9c 1805 XK_Sinh_gha = 0x1000d9d 1806 XK_Sinh_h2 = 0x1000d83 1807 XK_Sinh_ha = 0x1000dc4 1808 XK_Sinh_i = 0x1000d89 1809 XK_Sinh_i2 = 0x1000dd2 1810 XK_Sinh_ii = 0x1000d8a 1811 XK_Sinh_ii2 = 0x1000dd3 1812 XK_Sinh_ja = 0x1000da2 1813 XK_Sinh_jha = 0x1000da3 1814 XK_Sinh_jnya = 0x1000da5 1815 XK_Sinh_ka = 0x1000d9a 1816 XK_Sinh_kha = 0x1000d9b 1817 XK_Sinh_kunddaliya = 0x1000df4 1818 XK_Sinh_la = 0x1000dbd 1819 XK_Sinh_lla = 0x1000dc5 1820 XK_Sinh_lu = 0x1000d8f 1821 XK_Sinh_lu2 = 0x1000ddf 1822 XK_Sinh_luu = 0x1000d90 1823 XK_Sinh_luu2 = 0x1000df3 1824 XK_Sinh_ma = 0x1000db8 1825 XK_Sinh_mba = 0x1000db9 1826 XK_Sinh_na = 0x1000db1 1827 XK_Sinh_ndda = 0x1000dac 1828 XK_Sinh_ndha = 0x1000db3 1829 XK_Sinh_ng = 0x1000d82 1830 XK_Sinh_ng2 = 0x1000d9e 1831 XK_Sinh_nga = 0x1000d9f 1832 XK_Sinh_nja = 0x1000da6 1833 XK_Sinh_nna = 0x1000dab 1834 XK_Sinh_nya = 0x1000da4 1835 XK_Sinh_o = 0x1000d94 1836 XK_Sinh_o2 = 0x1000ddc 1837 XK_Sinh_oo = 0x1000d95 1838 XK_Sinh_oo2 = 0x1000ddd 1839 XK_Sinh_pa = 0x1000db4 1840 XK_Sinh_pha = 0x1000db5 1841 XK_Sinh_ra = 0x1000dbb 1842 XK_Sinh_ri = 0x1000d8d 1843 XK_Sinh_rii = 0x1000d8e 1844 XK_Sinh_ru2 = 0x1000dd8 1845 XK_Sinh_ruu2 = 0x1000df2 1846 XK_Sinh_sa = 0x1000dc3 1847 XK_Sinh_sha = 0x1000dc1 1848 XK_Sinh_ssha = 0x1000dc2 1849 XK_Sinh_tha = 0x1000dad 1850 XK_Sinh_thha = 0x1000dae 1851 XK_Sinh_tta = 0x1000da7 1852 XK_Sinh_ttha = 0x1000da8 1853 XK_Sinh_u = 0x1000d8b 1854 XK_Sinh_u2 = 0x1000dd4 1855 XK_Sinh_uu = 0x1000d8c 1856 XK_Sinh_uu2 = 0x1000dd6 1857 XK_Sinh_va = 0x1000dc0 1858 XK_Sinh_ya = 0x1000dba 1859 XK_SlowKeys_Enable = 0xfe73 1860 XK_StickyKeys_Enable = 0xfe75 1861 XK_Super_L = 0xffeb 1862 XK_Super_R = 0xffec 1863 XK_Sys_Req = 0xff15 1864 XK_T = 0x0054 1865 XK_THAI = 0 1866 XK_THORN = 0x00de 1867 XK_Tab = 0xff09 1868 XK_Tabovedot = 0x1001e6a 1869 XK_Tcaron = 0x01ab 1870 XK_Tcedilla = 0x01de 1871 XK_Terminate_Server = 0xfed5 1872 XK_Thai_baht = 0x0ddf 1873 XK_Thai_bobaimai = 0x0dba 1874 XK_Thai_chochan = 0x0da8 1875 XK_Thai_chochang = 0x0daa 1876 XK_Thai_choching = 0x0da9 1877 XK_Thai_chochoe = 0x0dac 1878 XK_Thai_dochada = 0x0dae 1879 XK_Thai_dodek = 0x0db4 1880 XK_Thai_fofa = 0x0dbd 1881 XK_Thai_fofan = 0x0dbf 1882 XK_Thai_hohip = 0x0dcb 1883 XK_Thai_honokhuk = 0x0dce 1884 XK_Thai_khokhai = 0x0da2 1885 XK_Thai_khokhon = 0x0da5 1886 XK_Thai_khokhuat = 0x0da3 1887 XK_Thai_khokhwai = 0x0da4 1888 XK_Thai_khorakhang = 0x0da6 1889 XK_Thai_kokai = 0x0da1 1890 XK_Thai_lakkhangyao = 0x0de5 1891 XK_Thai_lekchet = 0x0df7 1892 XK_Thai_lekha = 0x0df5 1893 XK_Thai_lekhok = 0x0df6 1894 XK_Thai_lekkao = 0x0df9 1895 XK_Thai_leknung = 0x0df1 1896 XK_Thai_lekpaet = 0x0df8 1897 XK_Thai_leksam = 0x0df3 1898 XK_Thai_leksi = 0x0df4 1899 XK_Thai_leksong = 0x0df2 1900 XK_Thai_leksun = 0x0df0 1901 XK_Thai_lochula = 0x0dcc 1902 XK_Thai_loling = 0x0dc5 1903 XK_Thai_lu = 0x0dc6 1904 XK_Thai_maichattawa = 0x0deb 1905 XK_Thai_maiek = 0x0de8 1906 XK_Thai_maihanakat = 0x0dd1 1907 XK_Thai_maihanakat_maitho = 0x0dde 1908 XK_Thai_maitaikhu = 0x0de7 1909 XK_Thai_maitho = 0x0de9 1910 XK_Thai_maitri = 0x0dea 1911 XK_Thai_maiyamok = 0x0de6 1912 XK_Thai_moma = 0x0dc1 1913 XK_Thai_ngongu = 0x0da7 1914 XK_Thai_nikhahit = 0x0ded 1915 XK_Thai_nonen = 0x0db3 1916 XK_Thai_nonu = 0x0db9 1917 XK_Thai_oang = 0x0dcd 1918 XK_Thai_paiyannoi = 0x0dcf 1919 XK_Thai_phinthu = 0x0dda 1920 XK_Thai_phophan = 0x0dbe 1921 XK_Thai_phophung = 0x0dbc 1922 XK_Thai_phosamphao = 0x0dc0 1923 XK_Thai_popla = 0x0dbb 1924 XK_Thai_rorua = 0x0dc3 1925 XK_Thai_ru = 0x0dc4 1926 XK_Thai_saraa = 0x0dd0 1927 XK_Thai_saraaa = 0x0dd2 1928 XK_Thai_saraae = 0x0de1 1929 XK_Thai_saraaimaimalai = 0x0de4 1930 XK_Thai_saraaimaimuan = 0x0de3 1931 XK_Thai_saraam = 0x0dd3 1932 XK_Thai_sarae = 0x0de0 1933 XK_Thai_sarai = 0x0dd4 1934 XK_Thai_saraii = 0x0dd5 1935 XK_Thai_sarao = 0x0de2 1936 XK_Thai_sarau = 0x0dd8 1937 XK_Thai_saraue = 0x0dd6 1938 XK_Thai_sarauee = 0x0dd7 1939 XK_Thai_sarauu = 0x0dd9 1940 XK_Thai_sorusi = 0x0dc9 1941 XK_Thai_sosala = 0x0dc8 1942 XK_Thai_soso = 0x0dab 1943 XK_Thai_sosua = 0x0dca 1944 XK_Thai_thanthakhat = 0x0dec 1945 XK_Thai_thonangmontho = 0x0db1 1946 XK_Thai_thophuthao = 0x0db2 1947 XK_Thai_thothahan = 0x0db7 1948 XK_Thai_thothan = 0x0db0 1949 XK_Thai_thothong = 0x0db8 1950 XK_Thai_thothung = 0x0db6 1951 XK_Thai_topatak = 0x0daf 1952 XK_Thai_totao = 0x0db5 1953 XK_Thai_wowaen = 0x0dc7 1954 XK_Thai_yoyak = 0x0dc2 1955 XK_Thai_yoying = 0x0dad 1956 XK_Thorn = 0x00de 1957 XK_Touroku = 0xff2b 1958 XK_Tslash = 0x03ac 1959 XK_U = 0x0055 1960 XK_Uacute = 0x00da 1961 XK_Ubelowdot = 0x1001ee4 1962 XK_Ubreve = 0x02dd 1963 XK_Ucircumflex = 0x00db 1964 XK_Udiaeresis = 0x00dc 1965 XK_Udoubleacute = 0x01db 1966 XK_Ugrave = 0x00d9 1967 XK_Uhook = 0x1001ee6 1968 XK_Uhorn = 0x10001af 1969 XK_Uhornacute = 0x1001ee8 1970 XK_Uhornbelowdot = 0x1001ef0 1971 XK_Uhorngrave = 0x1001eea 1972 XK_Uhornhook = 0x1001eec 1973 XK_Uhorntilde = 0x1001eee 1974 XK_Ukrainian_GHE_WITH_UPTURN = 0x06bd 1975 XK_Ukrainian_I = 0x06b6 1976 XK_Ukrainian_IE = 0x06b4 1977 XK_Ukrainian_YI = 0x06b7 1978 XK_Ukrainian_ghe_with_upturn = 0x06ad 1979 XK_Ukrainian_i = 0x06a6 1980 XK_Ukrainian_ie = 0x06a4 1981 XK_Ukrainian_yi = 0x06a7 1982 XK_Ukranian_I = 0x06b6 1983 XK_Ukranian_JE = 0x06b4 1984 XK_Ukranian_YI = 0x06b7 1985 XK_Ukranian_i = 0x06a6 1986 XK_Ukranian_je = 0x06a4 1987 XK_Ukranian_yi = 0x06a7 1988 XK_Umacron = 0x03de 1989 XK_Undo = 0xff65 1990 XK_Uogonek = 0x03d9 1991 XK_Up = 0xff52 1992 XK_Uring = 0x01d9 1993 XK_Utilde = 0x03dd 1994 XK_V = 0x0056 1995 XK_VIETNAMESE = 0 1996 XK_VoidSymbol = 0xffffff 1997 XK_W = 0x0057 1998 XK_Wacute = 0x1001e82 1999 XK_Wcircumflex = 0x1000174 2000 XK_Wdiaeresis = 0x1001e84 2001 XK_Wgrave = 0x1001e80 2002 XK_WonSign = 0x10020a9 2003 XK_X = 0x0058 2004 XK_XKB_KEYS = 0 2005 XK_Xabovedot = 0x1001e8a 2006 XK_Y = 0x0059 2007 XK_Yacute = 0x00dd 2008 XK_Ybelowdot = 0x1001ef4 2009 XK_Ycircumflex = 0x1000176 2010 XK_Ydiaeresis = 0x13be 2011 XK_Ygrave = 0x1001ef2 2012 XK_Yhook = 0x1001ef6 2013 XK_Ytilde = 0x1001ef8 2014 XK_Z = 0x005a 2015 XK_Zabovedot = 0x01af 2016 XK_Zacute = 0x01ac 2017 XK_Zcaron = 0x01ae 2018 XK_Zen_Koho = 0xff3d 2019 XK_Zenkaku = 0xff28 2020 XK_Zenkaku_Hankaku = 0xff2a 2021 XK_Zstroke = 0x10001b5 2022 XK_a = 0x0061 2023 XK_aacute = 0x00e1 2024 XK_abelowdot = 0x1001ea1 2025 XK_abovedot = 0x01ff 2026 XK_abreve = 0x01e3 2027 XK_abreveacute = 0x1001eaf 2028 XK_abrevebelowdot = 0x1001eb7 2029 XK_abrevegrave = 0x1001eb1 2030 XK_abrevehook = 0x1001eb3 2031 XK_abrevetilde = 0x1001eb5 2032 XK_acircumflex = 0x00e2 2033 XK_acircumflexacute = 0x1001ea5 2034 XK_acircumflexbelowdot = 0x1001ead 2035 XK_acircumflexgrave = 0x1001ea7 2036 XK_acircumflexhook = 0x1001ea9 2037 XK_acircumflextilde = 0x1001eab 2038 XK_acute = 0x00b4 2039 XK_adiaeresis = 0x00e4 2040 XK_ae = 0x00e6 2041 XK_agrave = 0x00e0 2042 XK_ahook = 0x1001ea3 2043 XK_amacron = 0x03e0 2044 XK_ampersand = 0x0026 2045 XK_aogonek = 0x01b1 2046 XK_apostrophe = 0x0027 2047 XK_approxeq = 0x1002248 2048 XK_aring = 0x00e5 2049 XK_asciicircum = 0x005e 2050 XK_asciitilde = 0x007e 2051 XK_asterisk = 0x002a 2052 XK_at = 0x0040 2053 XK_atilde = 0x00e3 2054 XK_b = 0x0062 2055 XK_babovedot = 0x1001e03 2056 XK_backslash = 0x005c 2057 XK_bar = 0x007c 2058 XK_because = 0x1002235 2059 XK_braceleft = 0x007b 2060 XK_braceright = 0x007d 2061 XK_bracketleft = 0x005b 2062 XK_bracketright = 0x005d 2063 XK_braille_blank = 0x1002800 2064 XK_braille_dot_1 = 0xfff1 2065 XK_braille_dot_10 = 0xfffa 2066 XK_braille_dot_2 = 0xfff2 2067 XK_braille_dot_3 = 0xfff3 2068 XK_braille_dot_4 = 0xfff4 2069 XK_braille_dot_5 = 0xfff5 2070 XK_braille_dot_6 = 0xfff6 2071 XK_braille_dot_7 = 0xfff7 2072 XK_braille_dot_8 = 0xfff8 2073 XK_braille_dot_9 = 0xfff9 2074 XK_braille_dots_1 = 0x1002801 2075 XK_braille_dots_12 = 0x1002803 2076 XK_braille_dots_123 = 0x1002807 2077 XK_braille_dots_1234 = 0x100280f 2078 XK_braille_dots_12345 = 0x100281f 2079 XK_braille_dots_123456 = 0x100283f 2080 XK_braille_dots_1234567 = 0x100287f 2081 XK_braille_dots_12345678 = 0x10028ff 2082 XK_braille_dots_1234568 = 0x10028bf 2083 XK_braille_dots_123457 = 0x100285f 2084 XK_braille_dots_1234578 = 0x10028df 2085 XK_braille_dots_123458 = 0x100289f 2086 XK_braille_dots_12346 = 0x100282f 2087 XK_braille_dots_123467 = 0x100286f 2088 XK_braille_dots_1234678 = 0x10028ef 2089 XK_braille_dots_123468 = 0x10028af 2090 XK_braille_dots_12347 = 0x100284f 2091 XK_braille_dots_123478 = 0x10028cf 2092 XK_braille_dots_12348 = 0x100288f 2093 XK_braille_dots_1235 = 0x1002817 2094 XK_braille_dots_12356 = 0x1002837 2095 XK_braille_dots_123567 = 0x1002877 2096 XK_braille_dots_1235678 = 0x10028f7 2097 XK_braille_dots_123568 = 0x10028b7 2098 XK_braille_dots_12357 = 0x1002857 2099 XK_braille_dots_123578 = 0x10028d7 2100 XK_braille_dots_12358 = 0x1002897 2101 XK_braille_dots_1236 = 0x1002827 2102 XK_braille_dots_12367 = 0x1002867 2103 XK_braille_dots_123678 = 0x10028e7 2104 XK_braille_dots_12368 = 0x10028a7 2105 XK_braille_dots_1237 = 0x1002847 2106 XK_braille_dots_12378 = 0x10028c7 2107 XK_braille_dots_1238 = 0x1002887 2108 XK_braille_dots_124 = 0x100280b 2109 XK_braille_dots_1245 = 0x100281b 2110 XK_braille_dots_12456 = 0x100283b 2111 XK_braille_dots_124567 = 0x100287b 2112 XK_braille_dots_1245678 = 0x10028fb 2113 XK_braille_dots_124568 = 0x10028bb 2114 XK_braille_dots_12457 = 0x100285b 2115 XK_braille_dots_124578 = 0x10028db 2116 XK_braille_dots_12458 = 0x100289b 2117 XK_braille_dots_1246 = 0x100282b 2118 XK_braille_dots_12467 = 0x100286b 2119 XK_braille_dots_124678 = 0x10028eb 2120 XK_braille_dots_12468 = 0x10028ab 2121 XK_braille_dots_1247 = 0x100284b 2122 XK_braille_dots_12478 = 0x10028cb 2123 XK_braille_dots_1248 = 0x100288b 2124 XK_braille_dots_125 = 0x1002813 2125 XK_braille_dots_1256 = 0x1002833 2126 XK_braille_dots_12567 = 0x1002873 2127 XK_braille_dots_125678 = 0x10028f3 2128 XK_braille_dots_12568 = 0x10028b3 2129 XK_braille_dots_1257 = 0x1002853 2130 XK_braille_dots_12578 = 0x10028d3 2131 XK_braille_dots_1258 = 0x1002893 2132 XK_braille_dots_126 = 0x1002823 2133 XK_braille_dots_1267 = 0x1002863 2134 XK_braille_dots_12678 = 0x10028e3 2135 XK_braille_dots_1268 = 0x10028a3 2136 XK_braille_dots_127 = 0x1002843 2137 XK_braille_dots_1278 = 0x10028c3 2138 XK_braille_dots_128 = 0x1002883 2139 XK_braille_dots_13 = 0x1002805 2140 XK_braille_dots_134 = 0x100280d 2141 XK_braille_dots_1345 = 0x100281d 2142 XK_braille_dots_13456 = 0x100283d 2143 XK_braille_dots_134567 = 0x100287d 2144 XK_braille_dots_1345678 = 0x10028fd 2145 XK_braille_dots_134568 = 0x10028bd 2146 XK_braille_dots_13457 = 0x100285d 2147 XK_braille_dots_134578 = 0x10028dd 2148 XK_braille_dots_13458 = 0x100289d 2149 XK_braille_dots_1346 = 0x100282d 2150 XK_braille_dots_13467 = 0x100286d 2151 XK_braille_dots_134678 = 0x10028ed 2152 XK_braille_dots_13468 = 0x10028ad 2153 XK_braille_dots_1347 = 0x100284d 2154 XK_braille_dots_13478 = 0x10028cd 2155 XK_braille_dots_1348 = 0x100288d 2156 XK_braille_dots_135 = 0x1002815 2157 XK_braille_dots_1356 = 0x1002835 2158 XK_braille_dots_13567 = 0x1002875 2159 XK_braille_dots_135678 = 0x10028f5 2160 XK_braille_dots_13568 = 0x10028b5 2161 XK_braille_dots_1357 = 0x1002855 2162 XK_braille_dots_13578 = 0x10028d5 2163 XK_braille_dots_1358 = 0x1002895 2164 XK_braille_dots_136 = 0x1002825 2165 XK_braille_dots_1367 = 0x1002865 2166 XK_braille_dots_13678 = 0x10028e5 2167 XK_braille_dots_1368 = 0x10028a5 2168 XK_braille_dots_137 = 0x1002845 2169 XK_braille_dots_1378 = 0x10028c5 2170 XK_braille_dots_138 = 0x1002885 2171 XK_braille_dots_14 = 0x1002809 2172 XK_braille_dots_145 = 0x1002819 2173 XK_braille_dots_1456 = 0x1002839 2174 XK_braille_dots_14567 = 0x1002879 2175 XK_braille_dots_145678 = 0x10028f9 2176 XK_braille_dots_14568 = 0x10028b9 2177 XK_braille_dots_1457 = 0x1002859 2178 XK_braille_dots_14578 = 0x10028d9 2179 XK_braille_dots_1458 = 0x1002899 2180 XK_braille_dots_146 = 0x1002829 2181 XK_braille_dots_1467 = 0x1002869 2182 XK_braille_dots_14678 = 0x10028e9 2183 XK_braille_dots_1468 = 0x10028a9 2184 XK_braille_dots_147 = 0x1002849 2185 XK_braille_dots_1478 = 0x10028c9 2186 XK_braille_dots_148 = 0x1002889 2187 XK_braille_dots_15 = 0x1002811 2188 XK_braille_dots_156 = 0x1002831 2189 XK_braille_dots_1567 = 0x1002871 2190 XK_braille_dots_15678 = 0x10028f1 2191 XK_braille_dots_1568 = 0x10028b1 2192 XK_braille_dots_157 = 0x1002851 2193 XK_braille_dots_1578 = 0x10028d1 2194 XK_braille_dots_158 = 0x1002891 2195 XK_braille_dots_16 = 0x1002821 2196 XK_braille_dots_167 = 0x1002861 2197 XK_braille_dots_1678 = 0x10028e1 2198 XK_braille_dots_168 = 0x10028a1 2199 XK_braille_dots_17 = 0x1002841 2200 XK_braille_dots_178 = 0x10028c1 2201 XK_braille_dots_18 = 0x1002881 2202 XK_braille_dots_2 = 0x1002802 2203 XK_braille_dots_23 = 0x1002806 2204 XK_braille_dots_234 = 0x100280e 2205 XK_braille_dots_2345 = 0x100281e 2206 XK_braille_dots_23456 = 0x100283e 2207 XK_braille_dots_234567 = 0x100287e 2208 XK_braille_dots_2345678 = 0x10028fe 2209 XK_braille_dots_234568 = 0x10028be 2210 XK_braille_dots_23457 = 0x100285e 2211 XK_braille_dots_234578 = 0x10028de 2212 XK_braille_dots_23458 = 0x100289e 2213 XK_braille_dots_2346 = 0x100282e 2214 XK_braille_dots_23467 = 0x100286e 2215 XK_braille_dots_234678 = 0x10028ee 2216 XK_braille_dots_23468 = 0x10028ae 2217 XK_braille_dots_2347 = 0x100284e 2218 XK_braille_dots_23478 = 0x10028ce 2219 XK_braille_dots_2348 = 0x100288e 2220 XK_braille_dots_235 = 0x1002816 2221 XK_braille_dots_2356 = 0x1002836 2222 XK_braille_dots_23567 = 0x1002876 2223 XK_braille_dots_235678 = 0x10028f6 2224 XK_braille_dots_23568 = 0x10028b6 2225 XK_braille_dots_2357 = 0x1002856 2226 XK_braille_dots_23578 = 0x10028d6 2227 XK_braille_dots_2358 = 0x1002896 2228 XK_braille_dots_236 = 0x1002826 2229 XK_braille_dots_2367 = 0x1002866 2230 XK_braille_dots_23678 = 0x10028e6 2231 XK_braille_dots_2368 = 0x10028a6 2232 XK_braille_dots_237 = 0x1002846 2233 XK_braille_dots_2378 = 0x10028c6 2234 XK_braille_dots_238 = 0x1002886 2235 XK_braille_dots_24 = 0x100280a 2236 XK_braille_dots_245 = 0x100281a 2237 XK_braille_dots_2456 = 0x100283a 2238 XK_braille_dots_24567 = 0x100287a 2239 XK_braille_dots_245678 = 0x10028fa 2240 XK_braille_dots_24568 = 0x10028ba 2241 XK_braille_dots_2457 = 0x100285a 2242 XK_braille_dots_24578 = 0x10028da 2243 XK_braille_dots_2458 = 0x100289a 2244 XK_braille_dots_246 = 0x100282a 2245 XK_braille_dots_2467 = 0x100286a 2246 XK_braille_dots_24678 = 0x10028ea 2247 XK_braille_dots_2468 = 0x10028aa 2248 XK_braille_dots_247 = 0x100284a 2249 XK_braille_dots_2478 = 0x10028ca 2250 XK_braille_dots_248 = 0x100288a 2251 XK_braille_dots_25 = 0x1002812 2252 XK_braille_dots_256 = 0x1002832 2253 XK_braille_dots_2567 = 0x1002872 2254 XK_braille_dots_25678 = 0x10028f2 2255 XK_braille_dots_2568 = 0x10028b2 2256 XK_braille_dots_257 = 0x1002852 2257 XK_braille_dots_2578 = 0x10028d2 2258 XK_braille_dots_258 = 0x1002892 2259 XK_braille_dots_26 = 0x1002822 2260 XK_braille_dots_267 = 0x1002862 2261 XK_braille_dots_2678 = 0x10028e2 2262 XK_braille_dots_268 = 0x10028a2 2263 XK_braille_dots_27 = 0x1002842 2264 XK_braille_dots_278 = 0x10028c2 2265 XK_braille_dots_28 = 0x1002882 2266 XK_braille_dots_3 = 0x1002804 2267 XK_braille_dots_34 = 0x100280c 2268 XK_braille_dots_345 = 0x100281c 2269 XK_braille_dots_3456 = 0x100283c 2270 XK_braille_dots_34567 = 0x100287c 2271 XK_braille_dots_345678 = 0x10028fc 2272 XK_braille_dots_34568 = 0x10028bc 2273 XK_braille_dots_3457 = 0x100285c 2274 XK_braille_dots_34578 = 0x10028dc 2275 XK_braille_dots_3458 = 0x100289c 2276 XK_braille_dots_346 = 0x100282c 2277 XK_braille_dots_3467 = 0x100286c 2278 XK_braille_dots_34678 = 0x10028ec 2279 XK_braille_dots_3468 = 0x10028ac 2280 XK_braille_dots_347 = 0x100284c 2281 XK_braille_dots_3478 = 0x10028cc 2282 XK_braille_dots_348 = 0x100288c 2283 XK_braille_dots_35 = 0x1002814 2284 XK_braille_dots_356 = 0x1002834 2285 XK_braille_dots_3567 = 0x1002874 2286 XK_braille_dots_35678 = 0x10028f4 2287 XK_braille_dots_3568 = 0x10028b4 2288 XK_braille_dots_357 = 0x1002854 2289 XK_braille_dots_3578 = 0x10028d4 2290 XK_braille_dots_358 = 0x1002894 2291 XK_braille_dots_36 = 0x1002824 2292 XK_braille_dots_367 = 0x1002864 2293 XK_braille_dots_3678 = 0x10028e4 2294 XK_braille_dots_368 = 0x10028a4 2295 XK_braille_dots_37 = 0x1002844 2296 XK_braille_dots_378 = 0x10028c4 2297 XK_braille_dots_38 = 0x1002884 2298 XK_braille_dots_4 = 0x1002808 2299 XK_braille_dots_45 = 0x1002818 2300 XK_braille_dots_456 = 0x1002838 2301 XK_braille_dots_4567 = 0x1002878 2302 XK_braille_dots_45678 = 0x10028f8 2303 XK_braille_dots_4568 = 0x10028b8 2304 XK_braille_dots_457 = 0x1002858 2305 XK_braille_dots_4578 = 0x10028d8 2306 XK_braille_dots_458 = 0x1002898 2307 XK_braille_dots_46 = 0x1002828 2308 XK_braille_dots_467 = 0x1002868 2309 XK_braille_dots_4678 = 0x10028e8 2310 XK_braille_dots_468 = 0x10028a8 2311 XK_braille_dots_47 = 0x1002848 2312 XK_braille_dots_478 = 0x10028c8 2313 XK_braille_dots_48 = 0x1002888 2314 XK_braille_dots_5 = 0x1002810 2315 XK_braille_dots_56 = 0x1002830 2316 XK_braille_dots_567 = 0x1002870 2317 XK_braille_dots_5678 = 0x10028f0 2318 XK_braille_dots_568 = 0x10028b0 2319 XK_braille_dots_57 = 0x1002850 2320 XK_braille_dots_578 = 0x10028d0 2321 XK_braille_dots_58 = 0x1002890 2322 XK_braille_dots_6 = 0x1002820 2323 XK_braille_dots_67 = 0x1002860 2324 XK_braille_dots_678 = 0x10028e0 2325 XK_braille_dots_68 = 0x10028a0 2326 XK_braille_dots_7 = 0x1002840 2327 XK_braille_dots_78 = 0x10028c0 2328 XK_braille_dots_8 = 0x1002880 2329 XK_breve = 0x01a2 2330 XK_brokenbar = 0x00a6 2331 XK_c = 0x0063 2332 XK_c_h = 0xfea3 2333 XK_cabovedot = 0x02e5 2334 XK_cacute = 0x01e6 2335 XK_caron = 0x01b7 2336 XK_ccaron = 0x01e8 2337 XK_ccedilla = 0x00e7 2338 XK_ccircumflex = 0x02e6 2339 XK_cedilla = 0x00b8 2340 XK_cent = 0x00a2 2341 XK_ch = 0xfea0 2342 XK_colon = 0x003a 2343 XK_comma = 0x002c 2344 XK_containsas = 0x100220B 2345 XK_copyright = 0x00a9 2346 XK_cuberoot = 0x100221B 2347 XK_currency = 0x00a4 2348 XK_d = 0x0064 2349 XK_dabovedot = 0x1001e0b 2350 XK_dcaron = 0x01ef 2351 XK_dead_A = 0xfe81 2352 XK_dead_E = 0xfe83 2353 XK_dead_I = 0xfe85 2354 XK_dead_O = 0xfe87 2355 XK_dead_U = 0xfe89 2356 XK_dead_a = 0xfe80 2357 XK_dead_abovecomma = 0xfe64 2358 XK_dead_abovedot = 0xfe56 2359 XK_dead_abovereversedcomma = 0xfe65 2360 XK_dead_abovering = 0xfe58 2361 XK_dead_aboveverticalline = 0xfe91 2362 XK_dead_acute = 0xfe51 2363 XK_dead_belowbreve = 0xfe6b 2364 XK_dead_belowcircumflex = 0xfe69 2365 XK_dead_belowcomma = 0xfe6e 2366 XK_dead_belowdiaeresis = 0xfe6c 2367 XK_dead_belowdot = 0xfe60 2368 XK_dead_belowmacron = 0xfe68 2369 XK_dead_belowring = 0xfe67 2370 XK_dead_belowtilde = 0xfe6a 2371 XK_dead_belowverticalline = 0xfe92 2372 XK_dead_breve = 0xfe55 2373 XK_dead_capital_schwa = 0xfe8b 2374 XK_dead_caron = 0xfe5a 2375 XK_dead_cedilla = 0xfe5b 2376 XK_dead_circumflex = 0xfe52 2377 XK_dead_currency = 0xfe6f 2378 XK_dead_dasia = 0xfe65 2379 XK_dead_diaeresis = 0xfe57 2380 XK_dead_doubleacute = 0xfe59 2381 XK_dead_doublegrave = 0xfe66 2382 XK_dead_e = 0xfe82 2383 XK_dead_grave = 0xfe50 2384 XK_dead_greek = 0xfe8c 2385 XK_dead_hook = 0xfe61 2386 XK_dead_horn = 0xfe62 2387 XK_dead_i = 0xfe84 2388 XK_dead_invertedbreve = 0xfe6d 2389 XK_dead_iota = 0xfe5d 2390 XK_dead_longsolidusoverlay = 0xfe93 2391 XK_dead_lowline = 0xfe90 2392 XK_dead_macron = 0xfe54 2393 XK_dead_o = 0xfe86 2394 XK_dead_ogonek = 0xfe5c 2395 XK_dead_perispomeni = 0xfe53 2396 XK_dead_psili = 0xfe64 2397 XK_dead_semivoiced_sound = 0xfe5f 2398 XK_dead_small_schwa = 0xfe8a 2399 XK_dead_stroke = 0xfe63 2400 XK_dead_tilde = 0xfe53 2401 XK_dead_u = 0xfe88 2402 XK_dead_voiced_sound = 0xfe5e 2403 XK_degree = 0x00b0 2404 XK_diaeresis = 0x00a8 2405 XK_dintegral = 0x100222C 2406 XK_division = 0x00f7 2407 XK_dollar = 0x0024 2408 XK_doubleacute = 0x01bd 2409 XK_dstroke = 0x01f0 2410 XK_e = 0x0065 2411 XK_eabovedot = 0x03ec 2412 XK_eacute = 0x00e9 2413 XK_ebelowdot = 0x1001eb9 2414 XK_ecaron = 0x01ec 2415 XK_ecircumflex = 0x00ea 2416 XK_ecircumflexacute = 0x1001ebf 2417 XK_ecircumflexbelowdot = 0x1001ec7 2418 XK_ecircumflexgrave = 0x1001ec1 2419 XK_ecircumflexhook = 0x1001ec3 2420 XK_ecircumflextilde = 0x1001ec5 2421 XK_ediaeresis = 0x00eb 2422 XK_egrave = 0x00e8 2423 XK_ehook = 0x1001ebb 2424 XK_eightsubscript = 0x1002088 2425 XK_eightsuperior = 0x1002078 2426 XK_elementof = 0x1002208 2427 XK_emacron = 0x03ba 2428 XK_emptyset = 0x1002205 2429 XK_eng = 0x03bf 2430 XK_eogonek = 0x01ea 2431 XK_equal = 0x003d 2432 XK_eth = 0x00f0 2433 XK_etilde = 0x1001ebd 2434 XK_exclam = 0x0021 2435 XK_exclamdown = 0x00a1 2436 XK_ezh = 0x1000292 2437 XK_f = 0x0066 2438 XK_fabovedot = 0x1001e1f 2439 XK_fivesubscript = 0x1002085 2440 XK_fivesuperior = 0x1002075 2441 XK_foursubscript = 0x1002084 2442 XK_foursuperior = 0x1002074 2443 XK_fourthroot = 0x100221C 2444 XK_g = 0x0067 2445 XK_gabovedot = 0x02f5 2446 XK_gbreve = 0x02bb 2447 XK_gcaron = 0x10001e7 2448 XK_gcedilla = 0x03bb 2449 XK_gcircumflex = 0x02f8 2450 XK_grave = 0x0060 2451 XK_greater = 0x003e 2452 XK_guillemotleft = 0x00ab 2453 XK_guillemotright = 0x00bb 2454 XK_h = 0x0068 2455 XK_hcircumflex = 0x02b6 2456 XK_hebrew_aleph = 0x0ce0 2457 XK_hebrew_ayin = 0x0cf2 2458 XK_hebrew_bet = 0x0ce1 2459 XK_hebrew_beth = 0x0ce1 2460 XK_hebrew_chet = 0x0ce7 2461 XK_hebrew_dalet = 0x0ce3 2462 XK_hebrew_daleth = 0x0ce3 2463 XK_hebrew_doublelowline = 0x0cdf 2464 XK_hebrew_finalkaph = 0x0cea 2465 XK_hebrew_finalmem = 0x0ced 2466 XK_hebrew_finalnun = 0x0cef 2467 XK_hebrew_finalpe = 0x0cf3 2468 XK_hebrew_finalzade = 0x0cf5 2469 XK_hebrew_finalzadi = 0x0cf5 2470 XK_hebrew_gimel = 0x0ce2 2471 XK_hebrew_gimmel = 0x0ce2 2472 XK_hebrew_he = 0x0ce4 2473 XK_hebrew_het = 0x0ce7 2474 XK_hebrew_kaph = 0x0ceb 2475 XK_hebrew_kuf = 0x0cf7 2476 XK_hebrew_lamed = 0x0cec 2477 XK_hebrew_mem = 0x0cee 2478 XK_hebrew_nun = 0x0cf0 2479 XK_hebrew_pe = 0x0cf4 2480 XK_hebrew_qoph = 0x0cf7 2481 XK_hebrew_resh = 0x0cf8 2482 XK_hebrew_samech = 0x0cf1 2483 XK_hebrew_samekh = 0x0cf1 2484 XK_hebrew_shin = 0x0cf9 2485 XK_hebrew_taf = 0x0cfa 2486 XK_hebrew_taw = 0x0cfa 2487 XK_hebrew_tet = 0x0ce8 2488 XK_hebrew_teth = 0x0ce8 2489 XK_hebrew_waw = 0x0ce5 2490 XK_hebrew_yod = 0x0ce9 2491 XK_hebrew_zade = 0x0cf6 2492 XK_hebrew_zadi = 0x0cf6 2493 XK_hebrew_zain = 0x0ce6 2494 XK_hebrew_zayin = 0x0ce6 2495 XK_hstroke = 0x02b1 2496 XK_hyphen = 0x00ad 2497 XK_i = 0x0069 2498 XK_iacute = 0x00ed 2499 XK_ibelowdot = 0x1001ecb 2500 XK_ibreve = 0x100012d 2501 XK_icircumflex = 0x00ee 2502 XK_idiaeresis = 0x00ef 2503 XK_idotless = 0x02b9 2504 XK_igrave = 0x00ec 2505 XK_ihook = 0x1001ec9 2506 XK_imacron = 0x03ef 2507 XK_iogonek = 0x03e7 2508 XK_itilde = 0x03b5 2509 XK_j = 0x006a 2510 XK_jcircumflex = 0x02bc 2511 XK_k = 0x006b 2512 XK_kana_A = 0x04b1 2513 XK_kana_CHI = 0x04c1 2514 XK_kana_E = 0x04b4 2515 XK_kana_FU = 0x04cc 2516 XK_kana_HA = 0x04ca 2517 XK_kana_HE = 0x04cd 2518 XK_kana_HI = 0x04cb 2519 XK_kana_HO = 0x04ce 2520 XK_kana_HU = 0x04cc 2521 XK_kana_I = 0x04b2 2522 XK_kana_KA = 0x04b6 2523 XK_kana_KE = 0x04b9 2524 XK_kana_KI = 0x04b7 2525 XK_kana_KO = 0x04ba 2526 XK_kana_KU = 0x04b8 2527 XK_kana_MA = 0x04cf 2528 XK_kana_ME = 0x04d2 2529 XK_kana_MI = 0x04d0 2530 XK_kana_MO = 0x04d3 2531 XK_kana_MU = 0x04d1 2532 XK_kana_N = 0x04dd 2533 XK_kana_NA = 0x04c5 2534 XK_kana_NE = 0x04c8 2535 XK_kana_NI = 0x04c6 2536 XK_kana_NO = 0x04c9 2537 XK_kana_NU = 0x04c7 2538 XK_kana_O = 0x04b5 2539 XK_kana_RA = 0x04d7 2540 XK_kana_RE = 0x04da 2541 XK_kana_RI = 0x04d8 2542 XK_kana_RO = 0x04db 2543 XK_kana_RU = 0x04d9 2544 XK_kana_SA = 0x04bb 2545 XK_kana_SE = 0x04be 2546 XK_kana_SHI = 0x04bc 2547 XK_kana_SO = 0x04bf 2548 XK_kana_SU = 0x04bd 2549 XK_kana_TA = 0x04c0 2550 XK_kana_TE = 0x04c3 2551 XK_kana_TI = 0x04c1 2552 XK_kana_TO = 0x04c4 2553 XK_kana_TSU = 0x04c2 2554 XK_kana_TU = 0x04c2 2555 XK_kana_U = 0x04b3 2556 XK_kana_WA = 0x04dc 2557 XK_kana_WO = 0x04a6 2558 XK_kana_YA = 0x04d4 2559 XK_kana_YO = 0x04d6 2560 XK_kana_YU = 0x04d5 2561 XK_kana_a = 0x04a7 2562 XK_kana_closingbracket = 0x04a3 2563 XK_kana_comma = 0x04a4 2564 XK_kana_conjunctive = 0x04a5 2565 XK_kana_e = 0x04aa 2566 XK_kana_fullstop = 0x04a1 2567 XK_kana_i = 0x04a8 2568 XK_kana_middledot = 0x04a5 2569 XK_kana_o = 0x04ab 2570 XK_kana_openingbracket = 0x04a2 2571 XK_kana_switch = 0xff7e 2572 XK_kana_tsu = 0x04af 2573 XK_kana_tu = 0x04af 2574 XK_kana_u = 0x04a9 2575 XK_kana_ya = 0x04ac 2576 XK_kana_yo = 0x04ae 2577 XK_kana_yu = 0x04ad 2578 XK_kappa = 0x03a2 2579 XK_kcedilla = 0x03f3 2580 XK_kra = 0x03a2 2581 XK_l = 0x006c 2582 XK_lacute = 0x01e5 2583 XK_lbelowdot = 0x1001e37 2584 XK_lcaron = 0x01b5 2585 XK_lcedilla = 0x03b6 2586 XK_less = 0x003c 2587 XK_lstroke = 0x01b3 2588 XK_m = 0x006d 2589 XK_mabovedot = 0x1001e41 2590 XK_macron = 0x00af 2591 XK_masculine = 0x00ba 2592 XK_minus = 0x002d 2593 XK_mu = 0x00b5 2594 XK_multiply = 0x00d7 2595 XK_n = 0x006e 2596 XK_nacute = 0x01f1 2597 XK_ncaron = 0x01f2 2598 XK_ncedilla = 0x03f1 2599 XK_ninesubscript = 0x1002089 2600 XK_ninesuperior = 0x1002079 2601 XK_nobreakspace = 0x00a0 2602 XK_notapproxeq = 0x1002247 2603 XK_notelementof = 0x1002209 2604 XK_notidentical = 0x1002262 2605 XK_notsign = 0x00ac 2606 XK_ntilde = 0x00f1 2607 XK_numbersign = 0x0023 2608 XK_numerosign = 0x06b0 2609 XK_o = 0x006f 2610 XK_oacute = 0x00f3 2611 XK_obarred = 0x1000275 2612 XK_obelowdot = 0x1001ecd 2613 XK_ocaron = 0x10001d2 2614 XK_ocircumflex = 0x00f4 2615 XK_ocircumflexacute = 0x1001ed1 2616 XK_ocircumflexbelowdot = 0x1001ed9 2617 XK_ocircumflexgrave = 0x1001ed3 2618 XK_ocircumflexhook = 0x1001ed5 2619 XK_ocircumflextilde = 0x1001ed7 2620 XK_odiaeresis = 0x00f6 2621 XK_odoubleacute = 0x01f5 2622 XK_oe = 0x13bd 2623 XK_ogonek = 0x01b2 2624 XK_ograve = 0x00f2 2625 XK_ohook = 0x1001ecf 2626 XK_ohorn = 0x10001a1 2627 XK_ohornacute = 0x1001edb 2628 XK_ohornbelowdot = 0x1001ee3 2629 XK_ohorngrave = 0x1001edd 2630 XK_ohornhook = 0x1001edf 2631 XK_ohorntilde = 0x1001ee1 2632 XK_omacron = 0x03f2 2633 XK_onehalf = 0x00bd 2634 XK_onequarter = 0x00bc 2635 XK_onesubscript = 0x1002081 2636 XK_onesuperior = 0x00b9 2637 XK_ooblique = 0x00f8 2638 XK_ordfeminine = 0x00aa 2639 XK_oslash = 0x00f8 2640 XK_otilde = 0x00f5 2641 XK_overline = 0x047e 2642 XK_p = 0x0070 2643 XK_pabovedot = 0x1001e57 2644 XK_paragraph = 0x00b6 2645 XK_parenleft = 0x0028 2646 XK_parenright = 0x0029 2647 XK_partdifferential = 0x1002202 2648 XK_percent = 0x0025 2649 XK_period = 0x002e 2650 XK_periodcentered = 0x00b7 2651 XK_plus = 0x002b 2652 XK_plusminus = 0x00b1 2653 XK_prolongedsound = 0x04b0 2654 XK_q = 0x0071 2655 XK_question = 0x003f 2656 XK_questiondown = 0x00bf 2657 XK_quotedbl = 0x0022 2658 XK_quoteleft = 0x0060 2659 XK_quoteright = 0x0027 2660 XK_r = 0x0072 2661 XK_racute = 0x01e0 2662 XK_rcaron = 0x01f8 2663 XK_rcedilla = 0x03b3 2664 XK_registered = 0x00ae 2665 XK_s = 0x0073 2666 XK_sabovedot = 0x1001e61 2667 XK_sacute = 0x01b6 2668 XK_scaron = 0x01b9 2669 XK_scedilla = 0x01ba 2670 XK_schwa = 0x1000259 2671 XK_scircumflex = 0x02fe 2672 XK_script_switch = 0xff7e 2673 XK_section = 0x00a7 2674 XK_semicolon = 0x003b 2675 XK_semivoicedsound = 0x04df 2676 XK_sevensubscript = 0x1002087 2677 XK_sevensuperior = 0x1002077 2678 XK_sixsubscript = 0x1002086 2679 XK_sixsuperior = 0x1002076 2680 XK_slash = 0x002f 2681 XK_space = 0x0020 2682 XK_squareroot = 0x100221A 2683 XK_ssharp = 0x00df 2684 XK_sterling = 0x00a3 2685 XK_stricteq = 0x1002263 2686 XK_t = 0x0074 2687 XK_tabovedot = 0x1001e6b 2688 XK_tcaron = 0x01bb 2689 XK_tcedilla = 0x01fe 2690 XK_thorn = 0x00fe 2691 XK_threequarters = 0x00be 2692 XK_threesubscript = 0x1002083 2693 XK_threesuperior = 0x00b3 2694 XK_tintegral = 0x100222D 2695 XK_tslash = 0x03bc 2696 XK_twosubscript = 0x1002082 2697 XK_twosuperior = 0x00b2 2698 XK_u = 0x0075 2699 XK_uacute = 0x00fa 2700 XK_ubelowdot = 0x1001ee5 2701 XK_ubreve = 0x02fd 2702 XK_ucircumflex = 0x00fb 2703 XK_udiaeresis = 0x00fc 2704 XK_udoubleacute = 0x01fb 2705 XK_ugrave = 0x00f9 2706 XK_uhook = 0x1001ee7 2707 XK_uhorn = 0x10001b0 2708 XK_uhornacute = 0x1001ee9 2709 XK_uhornbelowdot = 0x1001ef1 2710 XK_uhorngrave = 0x1001eeb 2711 XK_uhornhook = 0x1001eed 2712 XK_uhorntilde = 0x1001eef 2713 XK_umacron = 0x03fe 2714 XK_underscore = 0x005f 2715 XK_uogonek = 0x03f9 2716 XK_uring = 0x01f9 2717 XK_utilde = 0x03fd 2718 XK_v = 0x0076 2719 XK_voicedsound = 0x04de 2720 XK_w = 0x0077 2721 XK_wacute = 0x1001e83 2722 XK_wcircumflex = 0x1000175 2723 XK_wdiaeresis = 0x1001e85 2724 XK_wgrave = 0x1001e81 2725 XK_x = 0x0078 2726 XK_xabovedot = 0x1001e8b 2727 XK_y = 0x0079 2728 XK_yacute = 0x00fd 2729 XK_ybelowdot = 0x1001ef5 2730 XK_ycircumflex = 0x1000177 2731 XK_ydiaeresis = 0x00ff 2732 XK_yen = 0x00a5 2733 XK_ygrave = 0x1001ef3 2734 XK_yhook = 0x1001ef7 2735 XK_ytilde = 0x1001ef9 2736 XK_z = 0x007a 2737 XK_zabovedot = 0x01bf 2738 XK_zacute = 0x01bc 2739 XK_zcaron = 0x01be 2740 XK_zerosubscript = 0x1002080 2741 XK_zerosuperior = 0x1002070 2742 XK_zstroke = 0x10001b6 2743 XLocaleNotSupported = -2 2744 XLookupBoth = 4 2745 XLookupChars = 2 2746 XLookupKeySym = 3 2747 XLookupNone = 1 2748 XMD_H = 1 2749 XNArea = "area" 2750 XNAreaNeeded = "areaNeeded" 2751 XNBackground = "background" 2752 XNBackgroundPixmap = "backgroundPixmap" 2753 XNBaseFontName = "baseFontName" 2754 XNClientWindow = "clientWindow" 2755 XNColormap = "colorMap" 2756 XNContextualDrawing = "contextualDrawing" 2757 XNCursor = "cursor" 2758 XNDefaultString = "defaultString" 2759 XNDestroyCallback = "destroyCallback" 2760 XNDirectionalDependentDrawing = "directionalDependentDrawing" 2761 XNFilterEvents = "filterEvents" 2762 XNFocusWindow = "focusWindow" 2763 XNFontInfo = "fontInfo" 2764 XNFontSet = "fontSet" 2765 XNForeground = "foreground" 2766 XNGeometryCallback = "geometryCallback" 2767 XNHotKey = "hotKey" 2768 XNHotKeyState = "hotKeyState" 2769 XNInputStyle = "inputStyle" 2770 XNLineSpace = "lineSpace" 2771 XNMissingCharSet = "missingCharSet" 2772 XNOMAutomatic = "omAutomatic" 2773 XNOrientation = "orientation" 2774 XNPreeditAttributes = "preeditAttributes" 2775 XNPreeditCaretCallback = "preeditCaretCallback" 2776 XNPreeditDoneCallback = "preeditDoneCallback" 2777 XNPreeditDrawCallback = "preeditDrawCallback" 2778 XNPreeditStartCallback = "preeditStartCallback" 2779 XNPreeditState = "preeditState" 2780 XNPreeditStateNotifyCallback = "preeditStateNotifyCallback" 2781 XNQueryICValuesList = "queryICValuesList" 2782 XNQueryIMValuesList = "queryIMValuesList" 2783 XNQueryInputStyle = "queryInputStyle" 2784 XNQueryOrientation = "queryOrientation" 2785 XNR6PreeditCallback = "r6PreeditCallback" 2786 XNRequiredCharSet = "requiredCharSet" 2787 XNResetState = "resetState" 2788 XNResourceClass = "resourceClass" 2789 XNResourceName = "resourceName" 2790 XNSeparatorofNestedList = "separatorofNestedList" 2791 XNSpotLocation = "spotLocation" 2792 XNStatusAttributes = "statusAttributes" 2793 XNStatusDoneCallback = "statusDoneCallback" 2794 XNStatusDrawCallback = "statusDrawCallback" 2795 XNStatusStartCallback = "statusStartCallback" 2796 XNStdColormap = "stdColorMap" 2797 XNStringConversion = "stringConversion" 2798 XNStringConversionCallback = "stringConversionCallback" 2799 XNVaNestedList = "XNVaNestedList" 2800 XNVisiblePosition = "visiblePosition" 2801 XNegative = 0x0010 2802 XNoMemory = -1 2803 XPROTOSTRUCTS_H = 0 2804 XPROTO_H = 0 2805 XTHREADS = 1 2806 XUSE_MTSAFE_API = 1 2807 XUrgencyHint = 256 2808 XValue = 0x0001 2809 XYBitmap = 0 2810 XYPixmap = 1 2811 X_AllocColor = 84 2812 X_AllocColorCells = 86 2813 X_AllocColorPlanes = 87 2814 X_AllocNamedColor = 85 2815 X_AllowEvents = 35 2816 X_Bell = 104 2817 X_ChangeActivePointerGrab = 30 2818 X_ChangeGC = 56 2819 X_ChangeHosts = 109 2820 X_ChangeKeyboardControl = 102 2821 X_ChangeKeyboardMapping = 100 2822 X_ChangePointerControl = 105 2823 X_ChangeProperty = 18 2824 X_ChangeSaveSet = 6 2825 X_ChangeWindowAttributes = 2 2826 X_CirculateWindow = 13 2827 X_ClearArea = 61 2828 X_CloseFont = 46 2829 X_ConfigureWindow = 12 2830 X_ConvertSelection = 24 2831 X_CopyArea = 62 2832 X_CopyColormapAndFree = 80 2833 X_CopyGC = 57 2834 X_CopyPlane = 63 2835 X_CreateColormap = 78 2836 X_CreateCursor = 93 2837 X_CreateGC = 55 2838 X_CreateGlyphCursor = 94 2839 X_CreatePixmap = 53 2840 X_CreateWindow = 1 2841 X_DeleteProperty = 19 2842 X_DestroySubwindows = 5 2843 X_DestroyWindow = 4 2844 X_Error = 0 2845 X_FillPoly = 69 2846 X_ForceScreenSaver = 115 2847 X_FreeColormap = 79 2848 X_FreeColors = 88 2849 X_FreeCursor = 95 2850 X_FreeGC = 60 2851 X_FreePixmap = 54 2852 X_GetAtomName = 17 2853 X_GetFontPath = 52 2854 X_GetGeometry = 14 2855 X_GetImage = 73 2856 X_GetInputFocus = 43 2857 X_GetKeyboardControl = 103 2858 X_GetKeyboardMapping = 101 2859 X_GetModifierMapping = 119 2860 X_GetMotionEvents = 39 2861 X_GetPointerControl = 106 2862 X_GetPointerMapping = 117 2863 X_GetProperty = 20 2864 X_GetScreenSaver = 108 2865 X_GetSelectionOwner = 23 2866 X_GetWindowAttributes = 3 2867 X_GrabButton = 28 2868 X_GrabKey = 33 2869 X_GrabKeyboard = 31 2870 X_GrabPointer = 26 2871 X_GrabServer = 36 2872 X_H = 0 2873 X_HAVE_UTF8_STRING = 1 2874 X_ImageText16 = 77 2875 X_ImageText8 = 76 2876 X_InstallColormap = 81 2877 X_InternAtom = 16 2878 X_KillClient = 113 2879 X_ListExtensions = 99 2880 X_ListFonts = 49 2881 X_ListFontsWithInfo = 50 2882 X_ListHosts = 110 2883 X_ListInstalledColormaps = 83 2884 X_ListProperties = 21 2885 X_LookupColor = 92 2886 X_MapSubwindows = 9 2887 X_MapWindow = 8 2888 X_NoOperation = 127 2889 X_OpenFont = 45 2890 X_PROTOCOL = 11 2891 X_PROTOCOL_REVISION = 0 2892 X_PolyArc = 68 2893 X_PolyFillArc = 71 2894 X_PolyFillRectangle = 70 2895 X_PolyLine = 65 2896 X_PolyPoint = 64 2897 X_PolyRectangle = 67 2898 X_PolySegment = 66 2899 X_PolyText16 = 75 2900 X_PolyText8 = 74 2901 X_PutImage = 72 2902 X_QueryBestSize = 97 2903 X_QueryColors = 91 2904 X_QueryExtension = 98 2905 X_QueryFont = 47 2906 X_QueryKeymap = 44 2907 X_QueryPointer = 38 2908 X_QueryTextExtents = 48 2909 X_QueryTree = 15 2910 X_RecolorCursor = 96 2911 X_RenderAddGlyphs = 20 2912 X_RenderAddGlyphsFromPicture = 21 2913 X_RenderAddTraps = 32 2914 X_RenderChangePicture = 5 2915 X_RenderColorTrapezoids = 14 2916 X_RenderColorTriangles = 15 2917 X_RenderComposite = 8 2918 X_RenderCompositeGlyphs16 = 24 2919 X_RenderCompositeGlyphs32 = 25 2920 X_RenderCompositeGlyphs8 = 23 2921 X_RenderCreateAnimCursor = 31 2922 X_RenderCreateConicalGradient = 36 2923 X_RenderCreateCursor = 27 2924 X_RenderCreateGlyphSet = 17 2925 X_RenderCreateLinearGradient = 34 2926 X_RenderCreatePicture = 4 2927 X_RenderCreateRadialGradient = 35 2928 X_RenderCreateSolidFill = 33 2929 X_RenderFillRectangles = 26 2930 X_RenderFreeGlyphSet = 19 2931 X_RenderFreeGlyphs = 22 2932 X_RenderFreePicture = 7 2933 X_RenderQueryDithers = 3 2934 X_RenderQueryFilters = 29 2935 X_RenderQueryPictFormats = 1 2936 X_RenderQueryPictIndexValues = 2 2937 X_RenderQueryVersion = 0 2938 X_RenderReferenceGlyphSet = 18 2939 X_RenderScale = 9 2940 X_RenderSetPictureClipRectangles = 6 2941 X_RenderSetPictureFilter = 30 2942 X_RenderSetPictureTransform = 28 2943 X_RenderTrapezoids = 10 2944 X_RenderTriFan = 13 2945 X_RenderTriStrip = 12 2946 X_RenderTriangles = 11 2947 X_ReparentWindow = 7 2948 X_Reply = 1 2949 X_RotateProperties = 114 2950 X_SendEvent = 25 2951 X_SetAccessControl = 111 2952 X_SetClipRectangles = 59 2953 X_SetCloseDownMode = 112 2954 X_SetDashes = 58 2955 X_SetFontPath = 51 2956 X_SetInputFocus = 42 2957 X_SetModifierMapping = 118 2958 X_SetPointerMapping = 116 2959 X_SetScreenSaver = 107 2960 X_SetSelectionOwner = 22 2961 X_StoreColors = 89 2962 X_StoreNamedColor = 90 2963 X_TCP_PORT = 6000 2964 X_TranslateCoords = 40 2965 X_UngrabButton = 29 2966 X_UngrabKey = 34 2967 X_UngrabKeyboard = 32 2968 X_UngrabPointer = 27 2969 X_UngrabServer = 37 2970 X_UninstallColormap = 82 2971 X_UnmapSubwindows = 11 2972 X_UnmapWindow = 10 2973 X_WarpPointer = 41 2974 XlibDisplayClosing = 2 2975 XlibDisplayDfltRMDB = 128 2976 XlibDisplayIOError = 1 2977 XlibDisplayNoXkb = 4 2978 XlibDisplayPrivSync = 8 2979 XlibDisplayProcConni = 16 2980 XlibDisplayReadEvents = 32 2981 XlibDisplayReply = 32 2982 XlibDisplayWriting = 64 2983 XlibSpecificationRelease = 6 2984 YNegative = 0x0020 2985 YSorted = 1 2986 YValue = 0x0002 2987 YXBanded = 3 2988 YXSorted = 2 2989 ZLNSPERBATCH = 1024 2990 ZPixmap = 2 2991 ZRCTSPERBATCH = 256 2992 ZoomState = 2 2993 X_ALLOCA_H = 1 2994 X_ANSI_STDDEF_H = 0 2995 X_ASM_GENERIC_ERRNO_BASE_H = 0 2996 X_ASM_GENERIC_ERRNO_H = 0 2997 X_ATFILE_SOURCE = 1 2998 X_BITS_BYTESWAP_H = 1 2999 X_BITS_ENDIANNESS_H = 1 3000 X_BITS_ENDIAN_H = 1 3001 X_BITS_ERRNO_H = 1 3002 X_BITS_FLOATN_COMMON_H = 0 3003 X_BITS_FLOATN_H = 0 3004 X_BITS_PTHREADTYPES_ARCH_H = 1 3005 X_BITS_PTHREADTYPES_COMMON_H = 1 3006 X_BITS_STDINT_INTN_H = 1 3007 X_BITS_STDINT_UINTN_H = 1 3008 X_BITS_TIME64_H = 1 3009 X_BITS_TYPESIZES_H = 1 3010 X_BITS_TYPES_H = 1 3011 X_BITS_TYPES_LOCALE_T_H = 1 3012 X_BITS_TYPES___LOCALE_T_H = 1 3013 X_BITS_UINTN_IDENTITY_H = 1 3014 X_BITS_WCHAR_H = 1 3015 X_BSD_PTRDIFF_T_ = 0 3016 X_BSD_SIZE_T_ = 0 3017 X_BSD_SIZE_T_DEFINED_ = 0 3018 X_DEFAULT_SOURCE = 1 3019 X_ENDIAN_H = 1 3020 X_ERRNO_H = 1 3021 X_FEATURES_H = 1 3022 X_FILE_OFFSET_BITS = 64 3023 X_GCC_MAX_ALIGN_T = 0 3024 X_GCC_PTRDIFF_T = 0 3025 X_GCC_SIZE_T = 0 3026 X_GCC_WCHAR_T = 0 3027 X_GCC_WRAP_STDINT_H = 0 3028 X_LP64 = 1 3029 X_POSIX_C_SOURCE = 200809 3030 X_POSIX_SOURCE = 1 3031 X_PTRDIFF_T = 0 3032 X_PTRDIFF_T_ = 0 3033 X_PTRDIFF_T_DECLARED = 0 3034 X_RENDER_H_ = 0 3035 X_RWLOCK_INTERNAL_H = 0 3036 X_SIZET_ = 0 3037 X_SIZE_T = 0 3038 X_SIZE_T_ = 0 3039 X_SIZE_T_DECLARED = 0 3040 X_SIZE_T_DEFINED = 0 3041 X_SIZE_T_DEFINED_ = 0 3042 X_STDC_PREDEF_H = 1 3043 X_STDDEF_H = 0 3044 X_STDDEF_H_ = 0 3045 X_STDINT_H = 1 3046 X_STDLIB_H = 1 3047 X_STRINGS_H = 1 3048 X_STRING_H = 1 3049 X_STRUCT_TIMESPEC = 1 3050 X_SYS_CDEFS_H = 1 3051 X_SYS_SELECT_H = 1 3052 X_SYS_SIZE_T_H = 0 3053 X_SYS_TYPES_H = 1 3054 X_THREAD_MUTEX_INTERNAL_H = 1 3055 X_THREAD_SHARED_TYPES_H = 1 3056 X_T_PTRDIFF = 0 3057 X_T_PTRDIFF_ = 0 3058 X_T_SIZE = 0 3059 X_T_SIZE_ = 0 3060 X_T_WCHAR = 0 3061 X_T_WCHAR_ = 0 3062 X_WCHAR_T = 0 3063 X_WCHAR_T_ = 0 3064 X_WCHAR_T_DECLARED = 0 3065 X_WCHAR_T_DEFINED = 0 3066 X_WCHAR_T_DEFINED_ = 0 3067 X_WCHAR_T_H = 0 3068 X_X11_XLIBINT_H_ = 1 3069 X_X11_XLIB_H_ = 0 3070 X_X11_XUTIL_H_ = 0 3071 X_XDEFS_H = 0 3072 X_XFUNCPROTOBEGIN = 0 3073 X_XFUNCPROTOEND = 0 3074 X_XFUNCPROTO_H_ = 0 3075 X_XFUNCS_H_ = 0 3076 X_XFUNCS_H_INCLUDED_STRING_H = 0 3077 X_XLIBCONF_H_ = 0 3078 X_XOSDEFS_H_ = 0 3079 X_XRENDERINT_H_ = 0 3080 X_XRENDERP_H_ = 0 3081 X_XRENDER_H_ = 0 3082 X_XTYPEDEF_ATOM = 0 3083 X_XTYPEDEF_CLIENTPTR = 0 3084 X_XTYPEDEF_FONT = 0 3085 X_XTYPEDEF_FONTPTR = 0 3086 X_XTYPEDEF_MASK = 0 3087 X_XTYPEDEF_POINTER = 0 3088 X_XTYPEDEF_XID = 0 3089 X_X_NOTSAN = 0 3090 Linux = 1 3091 Sz_xAllocColorCellsReply = 32 3092 Sz_xAllocColorCellsReq = 12 3093 Sz_xAllocColorPlanesReply = 32 3094 Sz_xAllocColorPlanesReq = 16 3095 Sz_xAllocColorReply = 32 3096 Sz_xAllocColorReq = 16 3097 Sz_xAllocNamedColorReply = 32 3098 Sz_xAllocNamedColorReq = 12 3099 Sz_xAllowEventsReq = 8 3100 Sz_xAnimCursorElt = 8 3101 Sz_xArc = 12 3102 Sz_xBellReq = 4 3103 Sz_xChangeActivePointerGrabReq = 16 3104 Sz_xChangeGCReq = 12 3105 Sz_xChangeHostsReq = 8 3106 Sz_xChangeKeyboardControlReq = 8 3107 Sz_xChangeKeyboardMappingReq = 8 3108 Sz_xChangeModeReq = 4 3109 Sz_xChangePointerControlReq = 12 3110 Sz_xChangePropertyReq = 24 3111 Sz_xChangeSaveSetReq = 8 3112 Sz_xChangeWindowAttributesReq = 12 3113 Sz_xCharInfo = 12 3114 Sz_xCirculateWindowReq = 8 3115 Sz_xClearAreaReq = 16 3116 Sz_xColorItem = 12 3117 Sz_xConfigureWindowReq = 12 3118 Sz_xConnClientPrefix = 12 3119 Sz_xConnSetup = 32 3120 Sz_xConnSetupPrefix = 8 3121 Sz_xConvertSelectionReq = 24 3122 Sz_xCopyAreaReq = 28 3123 Sz_xCopyColormapAndFreeReq = 12 3124 Sz_xCopyGCReq = 16 3125 Sz_xCopyPlaneReq = 32 3126 Sz_xCreateColormapReq = 16 3127 Sz_xCreateCursorReq = 32 3128 Sz_xCreateGCReq = 16 3129 Sz_xCreateGlyphCursorReq = 32 3130 Sz_xCreatePixmapReq = 16 3131 Sz_xCreateWindowReq = 32 3132 Sz_xDeletePropertyReq = 12 3133 Sz_xDepth = 8 3134 Sz_xDirectFormat = 16 3135 Sz_xError = 32 3136 Sz_xEvent = 32 3137 Sz_xFillPolyReq = 16 3138 Sz_xFontProp = 8 3139 Sz_xForceScreenSaverReq = 4 3140 Sz_xFreeColorsReq = 12 3141 Sz_xGenericReply = 32 3142 Sz_xGetAtomNameReply = 32 3143 Sz_xGetFontPathReply = 32 3144 Sz_xGetGeometryReply = 32 3145 Sz_xGetImageReply = 32 3146 Sz_xGetImageReq = 20 3147 Sz_xGetInputFocusReply = 32 3148 Sz_xGetKeyboardControlReply = 52 3149 Sz_xGetKeyboardMappingReply = 32 3150 Sz_xGetKeyboardMappingReq = 8 3151 Sz_xGetModifierMappingReply = 32 3152 Sz_xGetMotionEventsReply = 32 3153 Sz_xGetMotionEventsReq = 16 3154 Sz_xGetPointerControlReply = 32 3155 Sz_xGetPointerMappingReply = 32 3156 Sz_xGetPropertyReply = 32 3157 Sz_xGetPropertyReq = 24 3158 Sz_xGetScreenSaverReply = 32 3159 Sz_xGetSelectionOwnerReply = 32 3160 Sz_xGetWindowAttributesReply = 44 3161 Sz_xGlyphElt = 8 3162 Sz_xGlyphInfo = 12 3163 Sz_xGrabButtonReq = 24 3164 Sz_xGrabKeyReq = 16 3165 Sz_xGrabKeyboardReply = 32 3166 Sz_xGrabKeyboardReq = 16 3167 Sz_xGrabPointerReply = 32 3168 Sz_xGrabPointerReq = 24 3169 Sz_xHostEntry = 4 3170 Sz_xImageText16Req = 16 3171 Sz_xImageText8Req = 16 3172 Sz_xImageTextReq = 16 3173 Sz_xIndexValue = 12 3174 Sz_xInternAtomReply = 32 3175 Sz_xInternAtomReq = 8 3176 Sz_xKeymapEvent = 32 3177 Sz_xLineFixed = 16 3178 Sz_xListExtensionsReply = 32 3179 Sz_xListFontsReply = 32 3180 Sz_xListFontsReq = 8 3181 Sz_xListFontsWithInfoReply = 60 3182 Sz_xListFontsWithInfoReq = 8 3183 Sz_xListHostsReply = 32 3184 Sz_xListHostsReq = 4 3185 Sz_xListInstalledColormapsReply = 32 3186 Sz_xListPropertiesReply = 32 3187 Sz_xLookupColorReply = 32 3188 Sz_xLookupColorReq = 12 3189 Sz_xOpenFontReq = 12 3190 Sz_xPictDepth = 8 3191 Sz_xPictFormInfo = 28 3192 Sz_xPictScreen = 8 3193 Sz_xPictVisual = 8 3194 Sz_xPixmapFormat = 8 3195 Sz_xPoint = 4 3196 Sz_xPointFixed = 8 3197 Sz_xPolyArcReq = 12 3198 Sz_xPolyFillArcReq = 12 3199 Sz_xPolyFillRectangleReq = 12 3200 Sz_xPolyLineReq = 12 3201 Sz_xPolyPointReq = 12 3202 Sz_xPolyRectangleReq = 12 3203 Sz_xPolySegmentReq = 12 3204 Sz_xPolyText16Req = 16 3205 Sz_xPolyText8Req = 16 3206 Sz_xPolyTextReq = 16 3207 Sz_xPropIconSize = 24 3208 Sz_xPutImageReq = 24 3209 Sz_xQueryBestSizeReply = 32 3210 Sz_xQueryBestSizeReq = 12 3211 Sz_xQueryColorsReply = 32 3212 Sz_xQueryColorsReq = 8 3213 Sz_xQueryExtensionReply = 32 3214 Sz_xQueryExtensionReq = 8 3215 Sz_xQueryFontReply = 60 3216 Sz_xQueryKeymapReply = 40 3217 Sz_xQueryPointerReply = 32 3218 Sz_xQueryTextExtentsReply = 32 3219 Sz_xQueryTextExtentsReq = 8 3220 Sz_xQueryTreeReply = 32 3221 Sz_xRecolorCursorReq = 20 3222 Sz_xRectangle = 8 3223 Sz_xRenderAddGlyphsReq = 12 3224 Sz_xRenderAddTrapsReq = 12 3225 Sz_xRenderChangePictureReq = 12 3226 Sz_xRenderColor = 8 3227 Sz_xRenderCompositeGlyphs16Req = 28 3228 Sz_xRenderCompositeGlyphs32Req = 28 3229 Sz_xRenderCompositeGlyphs8Req = 28 3230 Sz_xRenderCompositeReq = 36 3231 Sz_xRenderCreateAnimCursorReq = 8 3232 Sz_xRenderCreateConicalGradientReq = 24 3233 Sz_xRenderCreateCursorReq = 16 3234 Sz_xRenderCreateGlyphSetReq = 12 3235 Sz_xRenderCreateLinearGradientReq = 28 3236 Sz_xRenderCreatePictureReq = 20 3237 Sz_xRenderCreateRadialGradientReq = 36 3238 Sz_xRenderCreateSolidFillReq = 16 3239 Sz_xRenderFillRectanglesReq = 20 3240 Sz_xRenderFreeGlyphSetReq = 8 3241 Sz_xRenderFreeGlyphsReq = 8 3242 Sz_xRenderFreePictureReq = 8 3243 Sz_xRenderQueryFiltersReply = 32 3244 Sz_xRenderQueryFiltersReq = 8 3245 Sz_xRenderQueryPictFormatsReply = 32 3246 Sz_xRenderQueryPictFormatsReq = 4 3247 Sz_xRenderQueryPictIndexValuesReply = 32 3248 Sz_xRenderQueryPictIndexValuesReq = 8 3249 Sz_xRenderQueryVersionReply = 32 3250 Sz_xRenderQueryVersionReq = 12 3251 Sz_xRenderReferenceGlyphSetReq = 24 3252 Sz_xRenderScaleReq = 32 3253 Sz_xRenderSetPictureClipRectanglesReq = 12 3254 Sz_xRenderSetPictureFilterReq = 12 3255 Sz_xRenderSetPictureTransformReq = 44 3256 Sz_xRenderTransform = 36 3257 Sz_xRenderTrapezoidsReq = 24 3258 Sz_xRenderTriFanReq = 24 3259 Sz_xRenderTriStripReq = 24 3260 Sz_xRenderTrianglesReq = 24 3261 Sz_xReparentWindowReq = 16 3262 Sz_xReply = 32 3263 Sz_xReq = 4 3264 Sz_xResourceReq = 8 3265 Sz_xRotatePropertiesReq = 12 3266 Sz_xSegment = 8 3267 Sz_xSendEventReq = 44 3268 Sz_xSetAccessControlReq = 4 3269 Sz_xSetClipRectanglesReq = 12 3270 Sz_xSetCloseDownModeReq = 4 3271 Sz_xSetDashesReq = 12 3272 Sz_xSetFontPathReq = 8 3273 Sz_xSetInputFocusReq = 12 3274 Sz_xSetMappingReply = 32 3275 Sz_xSetModifierMappingReply = 32 3276 Sz_xSetModifierMappingReq = 4 3277 Sz_xSetPointerMappingReply = 32 3278 Sz_xSetPointerMappingReq = 4 3279 Sz_xSetScreenSaverReq = 12 3280 Sz_xSetSelectionOwnerReq = 16 3281 Sz_xSpanFix = 12 3282 Sz_xStoreColorsReq = 8 3283 Sz_xStoreNamedColorReq = 16 3284 Sz_xTextElt = 2 3285 Sz_xTimecoord = 8 3286 Sz_xTranslateCoordsReply = 32 3287 Sz_xTranslateCoordsReq = 16 3288 Sz_xTrap = 24 3289 Sz_xTrapezoid = 40 3290 Sz_xTriangle = 24 3291 Sz_xUngrabButtonReq = 12 3292 Sz_xUngrabKeyReq = 12 3293 Sz_xVisualType = 24 3294 Sz_xWarpPointerReq = 24 3295 Sz_xWindowRoot = 40 3296 Sz_xrgb = 8 3297 Unix = 1 3298 XFalse = 0 3299 XTrue = 1 3300 Size = 2068 3301 AIO_PRIO_DELTA_MAX = 20 3302 BC_BASE_MAX = 99 3303 BC_DIM_MAX = 2048 3304 BC_SCALE_MAX = 99 3305 BC_STRING_MAX = 1000 3306 CHARCLASS_NAME_MAX = 2048 3307 CHAR_BIT = 8 3308 CHAR_MAX = 255 3309 CHAR_MIN = 0 3310 COLL_WEIGHTS_MAX = 255 3311 DELAYTIMER_MAX = 2147483647 3312 EXPR_NEST_MAX = 32 3313 HOST_NAME_MAX = 64 3314 INT_MAX = 2147483647 3315 INT_MIN = -2147483648 3316 LINE_MAX = 2048 3317 LLONG_MAX = 9223372036854775807 3318 LLONG_MIN = -9223372036854775808 3319 LOGIN_NAME_MAX = 256 3320 LONG_MAX = 9223372036854775807 3321 LONG_MIN = -9223372036854775808 3322 MAX_CANON = 255 3323 MAX_INPUT = 255 3324 MB_LEN_MAX = 16 3325 MQ_PRIO_MAX = 32768 3326 NAME_MAX = 255 3327 NGROUPS_MAX = 65536 3328 PATH_MAX = 4096 3329 PIPE_BUF = 4096 3330 PTHREAD_DESTRUCTOR_ITERATIONS = 4 3331 PTHREAD_KEYS_MAX = 1024 3332 PTHREAD_STACK_MIN = 131072 3333 RE_DUP_MAX = 32767 3334 RTSIG_MAX = 32 3335 SCHAR_MAX = 127 3336 SCHAR_MIN = -128 3337 SEM_VALUE_MAX = 2147483647 3338 SHRT_MAX = 32767 3339 SHRT_MIN = -32768 3340 SSIZE_MAX = 9223372036854775807 3341 TTY_NAME_MAX = 32 3342 UCHAR_MAX = 255 3343 UINT_MAX = 4294967295 3344 ULLONG_MAX = 18446744073709551615 3345 ULONG_MAX = 18446744073709551615 3346 USHRT_MAX = 65535 3347 XATTR_LIST_MAX = 65536 3348 XATTR_NAME_MAX = 255 3349 XATTR_SIZE_MAX = 65536 3350 X_BITS_POSIX1_LIM_H = 1 3351 X_BITS_POSIX2_LIM_H = 1 3352 X_GCC_LIMITS_H_ = 0 3353 X_LIBC_LIMITS_H_ = 1 3354 X_LIMITS_H___ = 0 3355 X_LINUX_LIMITS_H = 0 3356 X_POSIX2_BC_BASE_MAX = 99 3357 X_POSIX2_BC_DIM_MAX = 2048 3358 X_POSIX2_BC_SCALE_MAX = 99 3359 X_POSIX2_BC_STRING_MAX = 1000 3360 X_POSIX2_CHARCLASS_NAME_MAX = 14 3361 X_POSIX2_COLL_WEIGHTS_MAX = 2 3362 X_POSIX2_EXPR_NEST_MAX = 32 3363 X_POSIX2_LINE_MAX = 2048 3364 X_POSIX2_RE_DUP_MAX = 255 3365 X_POSIX_AIO_LISTIO_MAX = 2 3366 X_POSIX_AIO_MAX = 1 3367 X_POSIX_ARG_MAX = 4096 3368 X_POSIX_CHILD_MAX = 25 3369 X_POSIX_CLOCKRES_MIN = 20000000 3370 X_POSIX_DELAYTIMER_MAX = 32 3371 X_POSIX_HOST_NAME_MAX = 255 3372 X_POSIX_LINK_MAX = 8 3373 X_POSIX_LOGIN_NAME_MAX = 9 3374 X_POSIX_MAX_CANON = 255 3375 X_POSIX_MAX_INPUT = 255 3376 X_POSIX_MQ_OPEN_MAX = 8 3377 X_POSIX_MQ_PRIO_MAX = 32 3378 X_POSIX_NAME_MAX = 14 3379 X_POSIX_NGROUPS_MAX = 8 3380 X_POSIX_OPEN_MAX = 20 3381 X_POSIX_PATH_MAX = 256 3382 X_POSIX_PIPE_BUF = 512 3383 X_POSIX_RE_DUP_MAX = 255 3384 X_POSIX_RTSIG_MAX = 8 3385 X_POSIX_SEM_NSEMS_MAX = 256 3386 X_POSIX_SEM_VALUE_MAX = 32767 3387 X_POSIX_SIGQUEUE_MAX = 32 3388 X_POSIX_SSIZE_MAX = 32767 3389 X_POSIX_STREAM_MAX = 8 3390 X_POSIX_SYMLINK_MAX = 255 3391 X_POSIX_SYMLOOP_MAX = 8 3392 X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4 3393 X_POSIX_THREAD_KEYS_MAX = 128 3394 X_POSIX_THREAD_THREADS_MAX = 64 3395 X_POSIX_TIMER_MAX = 32 3396 X_POSIX_TTY_NAME_MAX = 9 3397 X_POSIX_TZNAME_MAX = 6 3398 FALSE = 0 3399 MAXSHORT = 32767 3400 MINSHORT = -32767 3401 NUMPTSTOBUFFER = 200 3402 TRUE = 1 3403 X_X11_XREGION_H_ = 0 3404 REQUIRED_DEPTHS = 2155872393 3405 ) 3406 3407 const ( /* Xlib.h:1126:1: */ 3408 XOMOrientation_LTR_TTB = 0 3409 XOMOrientation_RTL_TTB = 1 3410 XOMOrientation_TTB_LTR = 2 3411 XOMOrientation_TTB_RTL = 3 3412 XOMOrientation_Context = 4 3413 ) 3414 3415 const ( /* Xlib.h:1315:1: */ 3416 XIMForwardChar = 0 3417 XIMBackwardChar = 1 3418 XIMForwardWord = 2 3419 XIMBackwardWord = 3 3420 XIMCaretUp = 4 3421 XIMCaretDown = 5 3422 XIMNextLine = 6 3423 XIMPreviousLine = 7 3424 XIMLineStart = 8 3425 XIMLineEnd = 9 3426 XIMAbsolutePosition = 10 3427 XIMDontChange = 11 3428 ) 3429 3430 const ( /* Xlib.h:1340:1: */ 3431 XIMIsInvisible = 0 // Disable caret feedback 3432 XIMIsPrimary = 1 // UI defined caret feedback 3433 XIMIsSecondary = 2 3434 ) 3435 3436 const ( /* Xlib.h:1352:1: */ 3437 XIMTextType = 0 3438 XIMBitmapType = 1 3439 ) 3440 3441 const ( /* Xutil.h:174:1: */ 3442 XStringStyle = 0 // STRING 3443 XCompoundTextStyle = 1 // COMPOUND_TEXT 3444 XTextStyle = 2 // text in owner's encoding (current locale) 3445 XStdICCTextStyle = 3 // STRING, else COMPOUND_TEXT 3446 // The following is an XFree86 extension, introduced in November 2000 3447 XUTF8StringStyle = 4 3448 ) 3449 3450 // the new Xfuncs.h 3451 3452 // the ANSI C way 3453 3454 // 3455 // O/S-dependent (mis)feature macro definitions 3456 // 3457 // Copyright 1991, 1998 The Open Group 3458 // 3459 // Permission to use, copy, modify, distribute, and sell this software and its 3460 // documentation for any purpose is hereby granted without fee, provided that 3461 // the above copyright notice appear in all copies and that both that 3462 // copyright notice and this permission notice appear in supporting 3463 // documentation. 3464 // 3465 // The above copyright notice and this permission notice shall be included in 3466 // all copies or substantial portions of the Software. 3467 // 3468 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 3469 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 3470 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 3471 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 3472 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 3473 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 3474 // 3475 // Except as contained in this notice, the name of The Open Group shall not be 3476 // used in advertising or otherwise to promote the sale, use or other dealings 3477 // in this Software without prior written authorization from The Open Group. 3478 // 3479 3480 // Utek leaves kernel macros around in include files (bleah) 3481 3482 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 3483 // This file is part of the GNU C Library. 3484 // 3485 // The GNU C Library is free software; you can redistribute it and/or 3486 // modify it under the terms of the GNU Lesser General Public 3487 // License as published by the Free Software Foundation; either 3488 // version 2.1 of the License, or (at your option) any later version. 3489 // 3490 // The GNU C Library is distributed in the hope that it will be useful, 3491 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3492 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3493 // Lesser General Public License for more details. 3494 // 3495 // You should have received a copy of the GNU Lesser General Public 3496 // License along with the GNU C Library; if not, see 3497 // <https://www.gnu.org/licenses/>. 3498 3499 // ISO C99 Standard: 7.20 General utilities <stdlib.h> 3500 3501 // Handle feature test macros at the start of a header. 3502 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 3503 // This file is part of the GNU C Library. 3504 // 3505 // The GNU C Library is free software; you can redistribute it and/or 3506 // modify it under the terms of the GNU Lesser General Public 3507 // License as published by the Free Software Foundation; either 3508 // version 2.1 of the License, or (at your option) any later version. 3509 // 3510 // The GNU C Library is distributed in the hope that it will be useful, 3511 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3512 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3513 // Lesser General Public License for more details. 3514 // 3515 // You should have received a copy of the GNU Lesser General Public 3516 // License along with the GNU C Library; if not, see 3517 // <https://www.gnu.org/licenses/>. 3518 3519 // This header is internal to glibc and should not be included outside 3520 // of glibc headers. Headers including it must define 3521 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 3522 // cannot have multiple include guards because ISO C feature test 3523 // macros depend on the definition of the macro when an affected 3524 // header is included, not when the first system header is 3525 // included. 3526 3527 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 3528 // This file is part of the GNU C Library. 3529 // 3530 // The GNU C Library is free software; you can redistribute it and/or 3531 // modify it under the terms of the GNU Lesser General Public 3532 // License as published by the Free Software Foundation; either 3533 // version 2.1 of the License, or (at your option) any later version. 3534 // 3535 // The GNU C Library is distributed in the hope that it will be useful, 3536 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3537 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3538 // Lesser General Public License for more details. 3539 // 3540 // You should have received a copy of the GNU Lesser General Public 3541 // License along with the GNU C Library; if not, see 3542 // <https://www.gnu.org/licenses/>. 3543 3544 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 3545 // macro. 3546 3547 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 3548 // macro. Most but not all symbols enabled by that macro in TS 3549 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 3550 // still require that macro in C2X. 3551 3552 // ISO/IEC TS 18661-4:2015 defines the 3553 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 3554 // functions, the symbols from this TS are enabled unconditionally in 3555 // C2X. 3556 3557 // ISO/IEC TS 18661-3:2015 defines the 3558 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 3559 3560 // Get size_t, wchar_t and NULL from <stddef.h>. 3561 // Copyright (C) 1989-2020 Free Software Foundation, Inc. 3562 // 3563 // This file is part of GCC. 3564 // 3565 // GCC is free software; you can redistribute it and/or modify 3566 // it under the terms of the GNU General Public License as published by 3567 // the Free Software Foundation; either version 3, or (at your option) 3568 // any later version. 3569 // 3570 // GCC is distributed in the hope that it will be useful, 3571 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3572 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 3573 // GNU General Public License for more details. 3574 // 3575 // Under Section 7 of GPL version 3, you are granted additional 3576 // permissions described in the GCC Runtime Library Exception, version 3577 // 3.1, as published by the Free Software Foundation. 3578 // 3579 // You should have received a copy of the GNU General Public License and 3580 // a copy of the GCC Runtime Library Exception along with this program; 3581 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 3582 // <http://www.gnu.org/licenses/>. 3583 3584 // ISO C Standard: 7.17 Common definitions <stddef.h> 3585 3586 // Any one of these symbols __need_* means that GNU libc 3587 // wants us just to define one data type. So don't define 3588 // the symbols that indicate this file's entire job has been done. 3589 3590 // This avoids lossage on SunOS but only if stdtypes.h comes first. 3591 // There's no way to win with the other order! Sun lossage. 3592 3593 // Sequent's header files use _PTRDIFF_T_ in some conflicting way. 3594 // Just ignore it. 3595 3596 // On VxWorks, <type/vxTypesBase.h> may have defined macros like 3597 // _TYPE_size_t which will typedef size_t. fixincludes patched the 3598 // vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is 3599 // not defined, and so that defining this macro defines _GCC_SIZE_T. 3600 // If we find that the macros are still defined at this point, we must 3601 // invoke them so that the type is defined as expected. 3602 3603 // In case nobody has defined these types, but we aren't running under 3604 // GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and 3605 // __WCHAR_TYPE__ have reasonable values. This can happen if the 3606 // parts of GCC is compiled by an older compiler, that actually 3607 // include gstddef.h, such as collect2. 3608 3609 // Signed type of difference of two pointers. 3610 3611 // Define this type if we are doing the whole job, 3612 // or if we want this type in particular. 3613 3614 // If this symbol has done its job, get rid of it. 3615 3616 // Unsigned type of `sizeof' something. 3617 3618 // Define this type if we are doing the whole job, 3619 // or if we want this type in particular. 3620 3621 // Wide character type. 3622 // Locale-writers should change this as necessary to 3623 // be big enough to hold unique values not between 0 and 127, 3624 // and not (wchar_t) -1, for each defined multibyte character. 3625 3626 // Define this type if we are doing the whole job, 3627 // or if we want this type in particular. 3628 3629 // A null pointer constant. 3630 3631 // Offset of member MEMBER in a struct of type TYPE. 3632 3633 // XPG requires a few symbols from <sys/wait.h> being defined. 3634 // Definitions of flag bits for `waitpid' et al. 3635 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 3636 // This file is part of the GNU C Library. 3637 // 3638 // The GNU C Library is free software; you can redistribute it and/or 3639 // modify it under the terms of the GNU Lesser General Public 3640 // License as published by the Free Software Foundation; either 3641 // version 2.1 of the License, or (at your option) any later version. 3642 // 3643 // The GNU C Library is distributed in the hope that it will be useful, 3644 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3645 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3646 // Lesser General Public License for more details. 3647 // 3648 // You should have received a copy of the GNU Lesser General Public 3649 // License along with the GNU C Library; if not, see 3650 // <https://www.gnu.org/licenses/>. 3651 3652 // Bits in the third argument to `waitpid'. 3653 3654 // Bits in the fourth argument to `waitid'. 3655 3656 // The following values are used by the `waitid' function. 3657 3658 // The Linux kernel defines these bare, rather than an enum, 3659 // which causes a conflict if the include order is reversed. 3660 3661 const ( /* waitflags.h:52:1: */ 3662 P_ALL = 0 // Wait for any child. 3663 P_PID = 1 // Wait for specified process. 3664 P_PGID = 2 3665 ) 3666 3667 type Ptrdiff_t = int64 /* <builtin>:3:26 */ 3668 3669 type Size_t = uint64 /* <builtin>:9:23 */ 3670 3671 type Wchar_t = uint32 /* <builtin>:15:24 */ 3672 3673 type X__int128_t = struct { 3674 Flo int64 3675 Fhi int64 3676 } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128 3677 type X__uint128_t = struct { 3678 Flo uint64 3679 Fhi uint64 3680 } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128 3681 3682 type X__builtin_va_list = uintptr /* <builtin>:46:14 */ 3683 type X__float128 = float64 /* <builtin>:47:21 */ 3684 3685 // Copyright © 2004 Keith Packard 3686 // 3687 // Permission to use, copy, modify, distribute, and sell this software and its 3688 // documentation for any purpose is hereby granted without fee, provided that 3689 // the above copyright notice appear in all copies and that both that 3690 // copyright notice and this permission notice appear in supporting 3691 // documentation, and that the name of Keith Packard not be used in 3692 // advertising or publicity pertaining to distribution of the software without 3693 // specific, written prior permission. Keith Packard makes no 3694 // representations about the suitability of this software for any purpose. It 3695 // is provided "as is" without express or implied warranty. 3696 // 3697 // KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 3698 // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 3699 // EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 3700 // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 3701 // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 3702 // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 3703 // PERFORMANCE OF THIS SOFTWARE. 3704 3705 // config.h. Generated from config.h.in by configure. 3706 // config.h.in. Generated from configure.ac by autoheader. 3707 3708 // Define to 1 if you have the <dlfcn.h> header file. 3709 3710 // Define to 1 if you have the <inttypes.h> header file. 3711 3712 // Define to 1 if you have the <memory.h> header file. 3713 3714 // Define to 1 if you have the <stdint.h> header file. 3715 3716 // Define to 1 if you have the <stdlib.h> header file. 3717 3718 // Define to 1 if you have the <strings.h> header file. 3719 3720 // Define to 1 if you have the <string.h> header file. 3721 3722 // Define to 1 if you have the <sys/stat.h> header file. 3723 3724 // Define to 1 if you have the <sys/types.h> header file. 3725 3726 // Define to 1 if you have the <unistd.h> header file. 3727 3728 // Define to the sub-directory in which libtool stores uninstalled libraries. 3729 3730 // Name of package 3731 3732 // Define to the address where bug reports for this package should be sent. 3733 3734 // Define to the full name of this package. 3735 3736 // Define to the full name and version of this package. 3737 3738 // Define to the one symbol short name of this package. 3739 3740 // Define to the home page for this package. 3741 3742 // Define to the version of this package. 3743 3744 // Major version of this package 3745 3746 // Minor version of this package 3747 3748 // Patch version of this package 3749 3750 // Define to 1 if you have the ANSI C header files. 3751 3752 // Version number of package 3753 // 3754 // Copyright © 2000 SuSE, Inc. 3755 // 3756 // Permission to use, copy, modify, distribute, and sell this software and its 3757 // documentation for any purpose is hereby granted without fee, provided that 3758 // the above copyright notice appear in all copies and that both that 3759 // copyright notice and this permission notice appear in supporting 3760 // documentation, and that the name of SuSE not be used in advertising or 3761 // publicity pertaining to distribution of the software without specific, 3762 // written prior permission. SuSE makes no representations about the 3763 // suitability of this software for any purpose. It is provided "as is" 3764 // without express or implied warranty. 3765 // 3766 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 3767 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 3768 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 3769 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 3770 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 3771 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 3772 // 3773 // Author: Keith Packard, SuSE, Inc. 3774 3775 // config.h. Generated from config.h.in by configure. 3776 // config.h.in. Generated from configure.ac by autoheader. 3777 3778 // Define to 1 if you have the <dlfcn.h> header file. 3779 3780 // Define to 1 if you have the <inttypes.h> header file. 3781 3782 // Define to 1 if you have the <memory.h> header file. 3783 3784 // Define to 1 if you have the <stdint.h> header file. 3785 3786 // Define to 1 if you have the <stdlib.h> header file. 3787 3788 // Define to 1 if you have the <strings.h> header file. 3789 3790 // Define to 1 if you have the <string.h> header file. 3791 3792 // Define to 1 if you have the <sys/stat.h> header file. 3793 3794 // Define to 1 if you have the <sys/types.h> header file. 3795 3796 // Define to 1 if you have the <unistd.h> header file. 3797 3798 // Define to the sub-directory in which libtool stores uninstalled libraries. 3799 3800 // Name of package 3801 3802 // Define to the address where bug reports for this package should be sent. 3803 3804 // Define to the full name of this package. 3805 3806 // Define to the full name and version of this package. 3807 3808 // Define to the one symbol short name of this package. 3809 3810 // Define to the home page for this package. 3811 3812 // Define to the version of this package. 3813 3814 // Major version of this package 3815 3816 // Minor version of this package 3817 3818 // Patch version of this package 3819 3820 // Define to 1 if you have the ANSI C header files. 3821 3822 // Version number of package 3823 3824 // 3825 // 3826 // Copyright 1984, 1985, 1987, 1989, 1998 The Open Group 3827 // 3828 // Permission to use, copy, modify, distribute, and sell this software and its 3829 // documentation for any purpose is hereby granted without fee, provided that 3830 // the above copyright notice appear in all copies and that both that 3831 // copyright notice and this permission notice appear in supporting 3832 // documentation. 3833 // 3834 // The above copyright notice and this permission notice shall be included 3835 // in all copies or substantial portions of the Software. 3836 // 3837 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 3838 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 3839 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 3840 // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR 3841 // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 3842 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 3843 // OTHER DEALINGS IN THE SOFTWARE. 3844 // 3845 // Except as contained in this notice, the name of The Open Group shall 3846 // not be used in advertising or otherwise to promote the sale, use or 3847 // other dealings in this Software without prior written authorization 3848 // from The Open Group. 3849 // 3850 3851 // Xlibint.h - Header definition and support file for the internal 3852 // support routines used by the C subroutine interface 3853 // library (Xlib) to the X Window System. 3854 // 3855 // Warning, there be dragons here.... 3856 3857 // Copyright (C) 1997-2020 Free Software Foundation, Inc. 3858 // This file is part of the GNU C Library. 3859 // 3860 // The GNU C Library is free software; you can redistribute it and/or 3861 // modify it under the terms of the GNU Lesser General Public 3862 // License as published by the Free Software Foundation; either 3863 // version 2.1 of the License, or (at your option) any later version. 3864 // 3865 // The GNU C Library is distributed in the hope that it will be useful, 3866 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3867 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3868 // Lesser General Public License for more details. 3869 // 3870 // You should have received a copy of the GNU Lesser General Public 3871 // License along with the GNU C Library; if not, see 3872 // <https://www.gnu.org/licenses/>. 3873 3874 // ISO C99: 7.18 Integer types <stdint.h> 3875 3876 // Handle feature test macros at the start of a header. 3877 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 3878 // This file is part of the GNU C Library. 3879 // 3880 // The GNU C Library is free software; you can redistribute it and/or 3881 // modify it under the terms of the GNU Lesser General Public 3882 // License as published by the Free Software Foundation; either 3883 // version 2.1 of the License, or (at your option) any later version. 3884 // 3885 // The GNU C Library is distributed in the hope that it will be useful, 3886 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3887 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3888 // Lesser General Public License for more details. 3889 // 3890 // You should have received a copy of the GNU Lesser General Public 3891 // License along with the GNU C Library; if not, see 3892 // <https://www.gnu.org/licenses/>. 3893 3894 // This header is internal to glibc and should not be included outside 3895 // of glibc headers. Headers including it must define 3896 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 3897 // cannot have multiple include guards because ISO C feature test 3898 // macros depend on the definition of the macro when an affected 3899 // header is included, not when the first system header is 3900 // included. 3901 3902 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 3903 // This file is part of the GNU C Library. 3904 // 3905 // The GNU C Library is free software; you can redistribute it and/or 3906 // modify it under the terms of the GNU Lesser General Public 3907 // License as published by the Free Software Foundation; either 3908 // version 2.1 of the License, or (at your option) any later version. 3909 // 3910 // The GNU C Library is distributed in the hope that it will be useful, 3911 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3912 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3913 // Lesser General Public License for more details. 3914 // 3915 // You should have received a copy of the GNU Lesser General Public 3916 // License along with the GNU C Library; if not, see 3917 // <https://www.gnu.org/licenses/>. 3918 3919 // These are defined by the user (or the compiler) 3920 // to specify the desired environment: 3921 // 3922 // __STRICT_ANSI__ ISO Standard C. 3923 // _ISOC99_SOURCE Extensions to ISO C89 from ISO C99. 3924 // _ISOC11_SOURCE Extensions to ISO C99 from ISO C11. 3925 // _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X. 3926 // __STDC_WANT_LIB_EXT2__ 3927 // Extensions to ISO C99 from TR 27431-2:2010. 3928 // __STDC_WANT_IEC_60559_BFP_EXT__ 3929 // Extensions to ISO C11 from TS 18661-1:2014. 3930 // __STDC_WANT_IEC_60559_FUNCS_EXT__ 3931 // Extensions to ISO C11 from TS 18661-4:2015. 3932 // __STDC_WANT_IEC_60559_TYPES_EXT__ 3933 // Extensions to ISO C11 from TS 18661-3:2015. 3934 // 3935 // _POSIX_SOURCE IEEE Std 1003.1. 3936 // _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2; 3937 // if >=199309L, add IEEE Std 1003.1b-1993; 3938 // if >=199506L, add IEEE Std 1003.1c-1995; 3939 // if >=200112L, all of IEEE 1003.1-2004 3940 // if >=200809L, all of IEEE 1003.1-2008 3941 // _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if 3942 // Single Unix conformance is wanted, to 600 for the 3943 // sixth revision, to 700 for the seventh revision. 3944 // _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions. 3945 // _LARGEFILE_SOURCE Some more functions for correct standard I/O. 3946 // _LARGEFILE64_SOURCE Additional functionality from LFS for large files. 3947 // _FILE_OFFSET_BITS=N Select default filesystem interface. 3948 // _ATFILE_SOURCE Additional *at interfaces. 3949 // _GNU_SOURCE All of the above, plus GNU extensions. 3950 // _DEFAULT_SOURCE The default set of features (taking precedence over 3951 // __STRICT_ANSI__). 3952 // 3953 // _FORTIFY_SOURCE Add security hardening to many library functions. 3954 // Set to 1 or 2; 2 performs stricter checks than 1. 3955 // 3956 // _REENTRANT, _THREAD_SAFE 3957 // Obsolete; equivalent to _POSIX_C_SOURCE=199506L. 3958 // 3959 // The `-ansi' switch to the GNU C compiler, and standards conformance 3960 // options such as `-std=c99', define __STRICT_ANSI__. If none of 3961 // these are defined, or if _DEFAULT_SOURCE is defined, the default is 3962 // to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to 3963 // 200809L, as well as enabling miscellaneous functions from BSD and 3964 // SVID. If more than one of these are defined, they accumulate. For 3965 // example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together 3966 // give you ISO C, 1003.1, and 1003.2, but nothing else. 3967 // 3968 // These are defined by this file and are used by the 3969 // header files to decide what to declare or define: 3970 // 3971 // __GLIBC_USE (F) Define things from feature set F. This is defined 3972 // to 1 or 0; the subsequent macros are either defined 3973 // or undefined, and those tests should be moved to 3974 // __GLIBC_USE. 3975 // __USE_ISOC11 Define ISO C11 things. 3976 // __USE_ISOC99 Define ISO C99 things. 3977 // __USE_ISOC95 Define ISO C90 AMD1 (C95) things. 3978 // __USE_ISOCXX11 Define ISO C++11 things. 3979 // __USE_POSIX Define IEEE Std 1003.1 things. 3980 // __USE_POSIX2 Define IEEE Std 1003.2 things. 3981 // __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things. 3982 // __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things. 3983 // __USE_XOPEN Define XPG things. 3984 // __USE_XOPEN_EXTENDED Define X/Open Unix things. 3985 // __USE_UNIX98 Define Single Unix V2 things. 3986 // __USE_XOPEN2K Define XPG6 things. 3987 // __USE_XOPEN2KXSI Define XPG6 XSI things. 3988 // __USE_XOPEN2K8 Define XPG7 things. 3989 // __USE_XOPEN2K8XSI Define XPG7 XSI things. 3990 // __USE_LARGEFILE Define correct standard I/O things. 3991 // __USE_LARGEFILE64 Define LFS things with separate names. 3992 // __USE_FILE_OFFSET64 Define 64bit interface as default. 3993 // __USE_MISC Define things from 4.3BSD or System V Unix. 3994 // __USE_ATFILE Define *at interfaces and AT_* constants for them. 3995 // __USE_GNU Define GNU extensions. 3996 // __USE_FORTIFY_LEVEL Additional security measures used, according to level. 3997 // 3998 // The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are 3999 // defined by this file unconditionally. `__GNU_LIBRARY__' is provided 4000 // only for compatibility. All new code should use the other symbols 4001 // to test for features. 4002 // 4003 // All macros listed above as possibly being defined by this file are 4004 // explicitly undefined if they are not explicitly defined. 4005 // Feature-test macros that are not defined by the user or compiler 4006 // but are implied by the other feature-test macros defined (or by the 4007 // lack of any definitions) are defined by the file. 4008 // 4009 // ISO C feature test macros depend on the definition of the macro 4010 // when an affected header is included, not when the first system 4011 // header is included, and so they are handled in 4012 // <bits/libc-header-start.h>, which does not have a multiple include 4013 // guard. Feature test macros that can be handled from the first 4014 // system header included are handled here. 4015 4016 // Undefine everything, so we get a clean slate. 4017 4018 // Suppress kernel-name space pollution unless user expressedly asks 4019 // for it. 4020 4021 // Convenience macro to test the version of gcc. 4022 // Use like this: 4023 // #if __GNUC_PREREQ (2,8) 4024 // ... code requiring gcc 2.8 or later ... 4025 // #endif 4026 // Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was 4027 // added in 2.0. 4028 4029 // Similarly for clang. Features added to GCC after version 4.2 may 4030 // or may not also be available in clang, and clang's definitions of 4031 // __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such 4032 // features can be queried via __has_extension/__has_feature. 4033 4034 // Whether to use feature set F. 4035 4036 // _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for 4037 // _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not 4038 // issue a warning; the expectation is that the source is being 4039 // transitioned to use the new macro. 4040 4041 // If _GNU_SOURCE was defined by the user, turn on all the other features. 4042 4043 // If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, 4044 // define _DEFAULT_SOURCE. 4045 4046 // This is to enable the ISO C2X extension. 4047 4048 // This is to enable the ISO C11 extension. 4049 4050 // This is to enable the ISO C99 extension. 4051 4052 // This is to enable the ISO C90 Amendment 1:1995 extension. 4053 4054 // If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE 4055 // is defined, use POSIX.1-2008 (or another version depending on 4056 // _XOPEN_SOURCE). 4057 4058 // Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be 4059 // defined in all multithreaded code. GNU libc has not required this 4060 // for many years. We now treat them as compatibility synonyms for 4061 // _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with 4062 // comprehensive support for multithreaded code. Using them never 4063 // lowers the selected level of POSIX conformance, only raises it. 4064 4065 // The function 'gets' existed in C89, but is impossible to use 4066 // safely. It has been removed from ISO C11 and ISO C++14. Note: for 4067 // compatibility with various implementations of <cstdio>, this test 4068 // must consider only the value of __cplusplus when compiling C++. 4069 4070 // GNU formerly extended the scanf functions with modified format 4071 // specifiers %as, %aS, and %a[...] that allocate a buffer for the 4072 // input using malloc. This extension conflicts with ISO C99, which 4073 // defines %a as a standalone format specifier that reads a floating- 4074 // point number; moreover, POSIX.1-2008 provides the same feature 4075 // using the modifier letter 'm' instead (%ms, %mS, %m[...]). 4076 // 4077 // We now follow C99 unless GNU extensions are active and the compiler 4078 // is specifically in C89 or C++98 mode (strict or not). For 4079 // instance, with GCC, -std=gnu11 will have C99-compliant scanf with 4080 // or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the 4081 // old extension. 4082 4083 // Get definitions of __STDC_* predefined macros, if the compiler has 4084 // not preincluded this header automatically. 4085 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4086 // This file is part of the GNU C Library. 4087 // 4088 // The GNU C Library is free software; you can redistribute it and/or 4089 // modify it under the terms of the GNU Lesser General Public 4090 // License as published by the Free Software Foundation; either 4091 // version 2.1 of the License, or (at your option) any later version. 4092 // 4093 // The GNU C Library is distributed in the hope that it will be useful, 4094 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4095 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4096 // Lesser General Public License for more details. 4097 // 4098 // You should have received a copy of the GNU Lesser General Public 4099 // License along with the GNU C Library; if not, see 4100 // <https://www.gnu.org/licenses/>. 4101 4102 // This macro indicates that the installed library is the GNU C Library. 4103 // For historic reasons the value now is 6 and this will stay from now 4104 // on. The use of this variable is deprecated. Use __GLIBC__ and 4105 // __GLIBC_MINOR__ now (see below) when you want to test for a specific 4106 // GNU C library version and use the values in <gnu/lib-names.h> to get 4107 // the sonames of the shared libraries. 4108 4109 // Major and minor version number of the GNU C library package. Use 4110 // these macros to test for features in specific releases. 4111 4112 // This is here only because every header file already includes this one. 4113 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 4114 // This file is part of the GNU C Library. 4115 // 4116 // The GNU C Library is free software; you can redistribute it and/or 4117 // modify it under the terms of the GNU Lesser General Public 4118 // License as published by the Free Software Foundation; either 4119 // version 2.1 of the License, or (at your option) any later version. 4120 // 4121 // The GNU C Library is distributed in the hope that it will be useful, 4122 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4123 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4124 // Lesser General Public License for more details. 4125 // 4126 // You should have received a copy of the GNU Lesser General Public 4127 // License along with the GNU C Library; if not, see 4128 // <https://www.gnu.org/licenses/>. 4129 4130 // We are almost always included from features.h. 4131 4132 // The GNU libc does not support any K&R compilers or the traditional mode 4133 // of ISO C compilers anymore. Check for some of the combinations not 4134 // anymore supported. 4135 4136 // Some user header file might have defined this before. 4137 4138 // All functions, except those with callbacks or those that 4139 // synchronize memory, are leaf functions. 4140 4141 // GCC can always grok prototypes. For C++ programs we add throw() 4142 // to help it optimize the function calls. But this works only with 4143 // gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions 4144 // as non-throwing using a function attribute since programs can use 4145 // the -fexceptions options for C code as well. 4146 4147 // Compilers that are not clang may object to 4148 // #if defined __clang__ && __has_extension(...) 4149 // even though they do not need to evaluate the right-hand side of the &&. 4150 4151 // These two macros are not used in glibc anymore. They are kept here 4152 // only because some other projects expect the macros to be defined. 4153 4154 // For these things, GCC behaves the ANSI way normally, 4155 // and the non-ANSI way under -traditional. 4156 4157 // This is not a typedef so `const __ptr_t' does the right thing. 4158 4159 // C++ needs to know that types and declarations are C, not C++. 4160 4161 // Fortify support. 4162 4163 // Support for flexible arrays. 4164 // Headers that should use flexible arrays only if they're "real" 4165 // (e.g. only if they won't affect sizeof()) should test 4166 // #if __glibc_c99_flexarr_available. 4167 4168 // __asm__ ("xyz") is used throughout the headers to rename functions 4169 // at the assembly language level. This is wrapped by the __REDIRECT 4170 // macro, in order to support compilers that can do this some other 4171 // way. When compilers don't support asm-names at all, we have to do 4172 // preprocessor tricks instead (which don't have exactly the right 4173 // semantics, but it's the best we can do). 4174 // 4175 // Example: 4176 // int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); 4177 4178 // 4179 // #elif __SOME_OTHER_COMPILER__ 4180 // 4181 // # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias) 4182 4183 // GCC has various useful declarations that can be made with the 4184 // `__attribute__' syntax. All of the ways we use this do fine if 4185 // they are omitted for compilers that don't understand it. 4186 4187 // At some point during the gcc 2.96 development the `malloc' attribute 4188 // for functions was introduced. We don't want to use it unconditionally 4189 // (although this would be possible) since it generates warnings. 4190 4191 // Tell the compiler which arguments to an allocation function 4192 // indicate the size of the allocation. 4193 4194 // At some point during the gcc 2.96 development the `pure' attribute 4195 // for functions was introduced. We don't want to use it unconditionally 4196 // (although this would be possible) since it generates warnings. 4197 4198 // This declaration tells the compiler that the value is constant. 4199 4200 // At some point during the gcc 3.1 development the `used' attribute 4201 // for functions was introduced. We don't want to use it unconditionally 4202 // (although this would be possible) since it generates warnings. 4203 4204 // Since version 3.2, gcc allows marking deprecated functions. 4205 4206 // Since version 4.5, gcc also allows one to specify the message printed 4207 // when a deprecated function is used. clang claims to be gcc 4.2, but 4208 // may also support this feature. 4209 4210 // At some point during the gcc 2.8 development the `format_arg' attribute 4211 // for functions was introduced. We don't want to use it unconditionally 4212 // (although this would be possible) since it generates warnings. 4213 // If several `format_arg' attributes are given for the same function, in 4214 // gcc-3.0 and older, all but the last one are ignored. In newer gccs, 4215 // all designated arguments are considered. 4216 4217 // At some point during the gcc 2.97 development the `strfmon' format 4218 // attribute for functions was introduced. We don't want to use it 4219 // unconditionally (although this would be possible) since it 4220 // generates warnings. 4221 4222 // The nonull function attribute allows to mark pointer parameters which 4223 // must not be NULL. 4224 4225 // If fortification mode, we warn about unused results of certain 4226 // function calls which can lead to problems. 4227 4228 // Forces a function to be always inlined. 4229 // The Linux kernel defines __always_inline in stddef.h (283d7573), and 4230 // it conflicts with this definition. Therefore undefine it first to 4231 // allow either header to be included first. 4232 4233 // Associate error messages with the source location of the call site rather 4234 // than with the source location inside the function. 4235 4236 // GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 4237 // inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__ 4238 // or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions 4239 // older than 4.3 may define these macros and still not guarantee GNU inlining 4240 // semantics. 4241 // 4242 // clang++ identifies itself as gcc-4.2, but has support for GNU inlining 4243 // semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and 4244 // __GNUC_GNU_INLINE__ macro definitions. 4245 4246 // GCC 4.3 and above allow passing all anonymous arguments of an 4247 // __extern_always_inline function to some other vararg function. 4248 4249 // It is possible to compile containing GCC extensions even if GCC is 4250 // run in pedantic mode if the uses are carefully marked using the 4251 // `__extension__' keyword. But this is not generally available before 4252 // version 2.8. 4253 4254 // __restrict is known in EGCS 1.2 and above. 4255 4256 // ISO C99 also allows to declare arrays as non-overlapping. The syntax is 4257 // array_name[restrict] 4258 // GCC 3.1 supports this. 4259 4260 // Describes a char array whose address can safely be passed as the first 4261 // argument to strncpy and strncat, as the char array is not necessarily 4262 // a NUL-terminated string. 4263 4264 // Undefine (also defined in libc-symbols.h). 4265 // Copies attributes from the declaration or type referenced by 4266 // the argument. 4267 4268 // Determine the wordsize from the preprocessor defines. 4269 // 4270 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 4271 // This file is part of the GNU C Library. 4272 // 4273 // The GNU C Library is free software; you can redistribute it and/or 4274 // modify it under the terms of the GNU Lesser General Public 4275 // License as published by the Free Software Foundation; either 4276 // version 2.1 of the License, or (at your option) any later version. 4277 // 4278 // The GNU C Library is distributed in the hope that it will be useful, 4279 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4280 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4281 // Lesser General Public License for more details. 4282 // 4283 // You should have received a copy of the GNU Lesser General Public 4284 // License along with the GNU C Library; if not, see 4285 // <https://www.gnu.org/licenses/>. 4286 4287 // Properties of long double type. ldbl-128 version. 4288 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 4289 // This file is part of the GNU C Library. 4290 // 4291 // The GNU C Library is free software; you can redistribute it and/or 4292 // modify it under the terms of the GNU Lesser General Public 4293 // License published by the Free Software Foundation; either 4294 // version 2.1 of the License, or (at your option) any later version. 4295 // 4296 // The GNU C Library is distributed in the hope that it will be useful, 4297 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4298 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4299 // Lesser General Public License for more details. 4300 // 4301 // You should have received a copy of the GNU Lesser General Public 4302 // License along with the GNU C Library; if not, see 4303 // <https://www.gnu.org/licenses/>. 4304 4305 // long double is distinct from double, so there is nothing to 4306 // define here. 4307 4308 // __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is 4309 // intended for use in preprocessor macros. 4310 // 4311 // Note: MESSAGE must be a _single_ string; concatenation of string 4312 // literals is not supported. 4313 4314 // Generic selection (ISO C11) is a C-only feature, available in GCC 4315 // since version 4.9. Previous versions do not provide generic 4316 // selection, even though they might set __STDC_VERSION__ to 201112L, 4317 // when in -std=c11 mode. Thus, we must check for !defined __GNUC__ 4318 // when testing __STDC_VERSION__ for generic selection support. 4319 // On the other hand, Clang also defines __GNUC__, so a clang-specific 4320 // check is required to enable the use of generic selection. 4321 4322 // Designates a 1-based positional argument ref-index of pointer type 4323 // that can be used to access size-index elements of the pointed-to 4324 // array according to access mode, or at least one element when 4325 // size-index is not provided: 4326 // access (access-mode, <ref-index> [, <size-index>]) 4327 4328 // If we don't have __REDIRECT, prototypes will be missing if 4329 // __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. 4330 4331 // Decide whether we can define 'extern inline' functions in headers. 4332 4333 // This is here only because every header file already includes this one. 4334 // Get the definitions of all the appropriate `__stub_FUNCTION' symbols. 4335 // <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub 4336 // that will always return failure (and set errno to ENOSYS). 4337 // This file is automatically generated. 4338 // This file selects the right generated file of `__stub_FUNCTION' macros 4339 // based on the architecture being compiled for. 4340 4341 // Determine the wordsize from the preprocessor defines. 4342 // 4343 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 4344 // This file is part of the GNU C Library. 4345 // 4346 // The GNU C Library is free software; you can redistribute it and/or 4347 // modify it under the terms of the GNU Lesser General Public 4348 // License as published by the Free Software Foundation; either 4349 // version 2.1 of the License, or (at your option) any later version. 4350 // 4351 // The GNU C Library is distributed in the hope that it will be useful, 4352 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4353 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4354 // Lesser General Public License for more details. 4355 // 4356 // You should have received a copy of the GNU Lesser General Public 4357 // License along with the GNU C Library; if not, see 4358 // <https://www.gnu.org/licenses/>. 4359 4360 // This file is automatically generated. 4361 // It defines a symbol `__stub_FUNCTION' for each function 4362 // in the C library which is a stub, meaning it will fail 4363 // every time called, usually setting errno to ENOSYS. 4364 4365 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 4366 // macro. 4367 4368 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 4369 // macro. Most but not all symbols enabled by that macro in TS 4370 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 4371 // still require that macro in C2X. 4372 4373 // ISO/IEC TS 18661-4:2015 defines the 4374 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 4375 // functions, the symbols from this TS are enabled unconditionally in 4376 // C2X. 4377 4378 // ISO/IEC TS 18661-3:2015 defines the 4379 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 4380 // bits/types.h -- definitions of __*_t types underlying *_t types. 4381 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4382 // This file is part of the GNU C Library. 4383 // 4384 // The GNU C Library is free software; you can redistribute it and/or 4385 // modify it under the terms of the GNU Lesser General Public 4386 // License as published by the Free Software Foundation; either 4387 // version 2.1 of the License, or (at your option) any later version. 4388 // 4389 // The GNU C Library is distributed in the hope that it will be useful, 4390 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4391 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4392 // Lesser General Public License for more details. 4393 // 4394 // You should have received a copy of the GNU Lesser General Public 4395 // License along with the GNU C Library; if not, see 4396 // <https://www.gnu.org/licenses/>. 4397 4398 // Never include this file directly; use <sys/types.h> instead. 4399 4400 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4401 // This file is part of the GNU C Library. 4402 // 4403 // The GNU C Library is free software; you can redistribute it and/or 4404 // modify it under the terms of the GNU Lesser General Public 4405 // License as published by the Free Software Foundation; either 4406 // version 2.1 of the License, or (at your option) any later version. 4407 // 4408 // The GNU C Library is distributed in the hope that it will be useful, 4409 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4410 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4411 // Lesser General Public License for more details. 4412 // 4413 // You should have received a copy of the GNU Lesser General Public 4414 // License along with the GNU C Library; if not, see 4415 // <https://www.gnu.org/licenses/>. 4416 4417 // Determine the wordsize from the preprocessor defines. 4418 // 4419 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 4420 // This file is part of the GNU C Library. 4421 // 4422 // The GNU C Library is free software; you can redistribute it and/or 4423 // modify it under the terms of the GNU Lesser General Public 4424 // License as published by the Free Software Foundation; either 4425 // version 2.1 of the License, or (at your option) any later version. 4426 // 4427 // The GNU C Library is distributed in the hope that it will be useful, 4428 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4429 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4430 // Lesser General Public License for more details. 4431 // 4432 // You should have received a copy of the GNU Lesser General Public 4433 // License along with the GNU C Library; if not, see 4434 // <https://www.gnu.org/licenses/>. 4435 4436 // Bit size of the time_t type at glibc build time, general case. 4437 // Copyright (C) 2018-2020 Free Software Foundation, Inc. 4438 // This file is part of the GNU C Library. 4439 // 4440 // The GNU C Library is free software; you can redistribute it and/or 4441 // modify it under the terms of the GNU Lesser General Public 4442 // License as published by the Free Software Foundation; either 4443 // version 2.1 of the License, or (at your option) any later version. 4444 // 4445 // The GNU C Library is distributed in the hope that it will be useful, 4446 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4447 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4448 // Lesser General Public License for more details. 4449 // 4450 // You should have received a copy of the GNU Lesser General Public 4451 // License along with the GNU C Library; if not, see 4452 // <https://www.gnu.org/licenses/>. 4453 4454 // Determine the wordsize from the preprocessor defines. 4455 // 4456 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 4457 // This file is part of the GNU C Library. 4458 // 4459 // The GNU C Library is free software; you can redistribute it and/or 4460 // modify it under the terms of the GNU Lesser General Public 4461 // License as published by the Free Software Foundation; either 4462 // version 2.1 of the License, or (at your option) any later version. 4463 // 4464 // The GNU C Library is distributed in the hope that it will be useful, 4465 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4466 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4467 // Lesser General Public License for more details. 4468 // 4469 // You should have received a copy of the GNU Lesser General Public 4470 // License along with the GNU C Library; if not, see 4471 // <https://www.gnu.org/licenses/>. 4472 4473 // Size in bits of the 'time_t' type of the default ABI. 4474 4475 // Convenience types. 4476 type X__u_char = uint8 /* types.h:31:23 */ 4477 type X__u_short = uint16 /* types.h:32:28 */ 4478 type X__u_int = uint32 /* types.h:33:22 */ 4479 type X__u_long = uint64 /* types.h:34:27 */ 4480 4481 // Fixed-size types, underlying types depend on word size and compiler. 4482 type X__int8_t = int8 /* types.h:37:21 */ 4483 type X__uint8_t = uint8 /* types.h:38:23 */ 4484 type X__int16_t = int16 /* types.h:39:26 */ 4485 type X__uint16_t = uint16 /* types.h:40:28 */ 4486 type X__int32_t = int32 /* types.h:41:20 */ 4487 type X__uint32_t = uint32 /* types.h:42:22 */ 4488 type X__int64_t = int64 /* types.h:44:25 */ 4489 type X__uint64_t = uint64 /* types.h:45:27 */ 4490 4491 // Smallest types with at least a given width. 4492 type X__int_least8_t = X__int8_t /* types.h:52:18 */ 4493 type X__uint_least8_t = X__uint8_t /* types.h:53:19 */ 4494 type X__int_least16_t = X__int16_t /* types.h:54:19 */ 4495 type X__uint_least16_t = X__uint16_t /* types.h:55:20 */ 4496 type X__int_least32_t = X__int32_t /* types.h:56:19 */ 4497 type X__uint_least32_t = X__uint32_t /* types.h:57:20 */ 4498 type X__int_least64_t = X__int64_t /* types.h:58:19 */ 4499 type X__uint_least64_t = X__uint64_t /* types.h:59:20 */ 4500 4501 // quad_t is also 64 bits. 4502 type X__quad_t = int64 /* types.h:63:18 */ 4503 type X__u_quad_t = uint64 /* types.h:64:27 */ 4504 4505 // Largest integral types. 4506 type X__intmax_t = int64 /* types.h:72:18 */ 4507 type X__uintmax_t = uint64 /* types.h:73:27 */ 4508 4509 // The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE 4510 // macros for each of the OS types we define below. The definitions 4511 // of those macros must use the following macros for underlying types. 4512 // We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned 4513 // variants of each of the following integer types on this machine. 4514 // 4515 // 16 -- "natural" 16-bit type (always short) 4516 // 32 -- "natural" 32-bit type (always int) 4517 // 64 -- "natural" 64-bit type (long or long long) 4518 // LONG32 -- 32-bit type, traditionally long 4519 // QUAD -- 64-bit type, traditionally long long 4520 // WORD -- natural type of __WORDSIZE bits (int or long) 4521 // LONGWORD -- type of __WORDSIZE bits, traditionally long 4522 // 4523 // We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the 4524 // conventional uses of `long' or `long long' type modifiers match the 4525 // types we define, even when a less-adorned type would be the same size. 4526 // This matters for (somewhat) portably writing printf/scanf formats for 4527 // these types, where using the appropriate l or ll format modifiers can 4528 // make the typedefs and the formats match up across all GNU platforms. If 4529 // we used `long' when it's 64 bits where `long long' is expected, then the 4530 // compiler would warn about the formats not matching the argument types, 4531 // and the programmer changing them to shut up the compiler would break the 4532 // program's portability. 4533 // 4534 // Here we assume what is presently the case in all the GCC configurations 4535 // we support: long long is always 64 bits, long is always word/address size, 4536 // and int is always 32 bits. 4537 4538 // No need to mark the typedef with __extension__. 4539 // bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. 4540 // Copyright (C) 2011-2020 Free Software Foundation, Inc. 4541 // This file is part of the GNU C Library. 4542 // Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. 4543 // 4544 // The GNU C Library is free software; you can redistribute it and/or 4545 // modify it under the terms of the GNU Lesser General Public 4546 // License as published by the Free Software Foundation; either 4547 // version 2.1 of the License, or (at your option) any later version. 4548 // 4549 // The GNU C Library is distributed in the hope that it will be useful, 4550 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4551 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4552 // Lesser General Public License for more details. 4553 // 4554 // You should have received a copy of the GNU Lesser General Public 4555 // License along with the GNU C Library. If not, see 4556 // <https://www.gnu.org/licenses/>. 4557 4558 // See <bits/types.h> for the meaning of these macros. This file exists so 4559 // that <bits/types.h> need not vary across different GNU platforms. 4560 4561 // Tell the libc code that off_t and off64_t are actually the same type 4562 // for all ABI purposes, even if possibly expressed as different base types 4563 // for C type-checking purposes. 4564 4565 // Same for ino_t and ino64_t. 4566 4567 // And for __rlim_t and __rlim64_t. 4568 4569 // And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. 4570 4571 // And for getitimer, setitimer and rusage 4572 4573 // Number of descriptors that can fit in an `fd_set'. 4574 4575 // bits/time64.h -- underlying types for __time64_t. Generic version. 4576 // Copyright (C) 2018-2020 Free Software Foundation, Inc. 4577 // This file is part of the GNU C Library. 4578 // 4579 // The GNU C Library is free software; you can redistribute it and/or 4580 // modify it under the terms of the GNU Lesser General Public 4581 // License as published by the Free Software Foundation; either 4582 // version 2.1 of the License, or (at your option) any later version. 4583 // 4584 // The GNU C Library is distributed in the hope that it will be useful, 4585 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4586 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4587 // Lesser General Public License for more details. 4588 // 4589 // You should have received a copy of the GNU Lesser General Public 4590 // License along with the GNU C Library; if not, see 4591 // <https://www.gnu.org/licenses/>. 4592 4593 // Define __TIME64_T_TYPE so that it is always a 64-bit type. 4594 4595 // If we already have 64-bit time type then use it. 4596 4597 type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers. 4598 type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications. 4599 type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications. 4600 type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers. 4601 type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS). 4602 type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks. 4603 type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts. 4604 type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets. 4605 type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS). 4606 type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications. 4607 type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs. 4608 type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts. 4609 type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement. 4610 type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS). 4611 type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs. 4612 type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch. 4613 type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds. 4614 type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds. 4615 type X__suseconds64_t = int64 /* types.h:163:33 */ 4616 4617 type X__daddr_t = int32 /* types.h:165:27 */ // The type of a disk address. 4618 type X__key_t = int32 /* types.h:166:25 */ // Type of an IPC key. 4619 4620 // Clock ID used in clock and timer functions. 4621 type X__clockid_t = int32 /* types.h:169:29 */ 4622 4623 // Timer ID returned by `timer_create'. 4624 type X__timer_t = uintptr /* types.h:172:12 */ 4625 4626 // Type to represent block size. 4627 type X__blksize_t = int32 /* types.h:175:29 */ 4628 4629 // Types from the Large File Support interface. 4630 4631 // Type to count number of disk blocks. 4632 type X__blkcnt_t = int64 /* types.h:180:28 */ 4633 type X__blkcnt64_t = int64 /* types.h:181:30 */ 4634 4635 // Type to count file system blocks. 4636 type X__fsblkcnt_t = uint64 /* types.h:184:30 */ 4637 type X__fsblkcnt64_t = uint64 /* types.h:185:32 */ 4638 4639 // Type to count file system nodes. 4640 type X__fsfilcnt_t = uint64 /* types.h:188:30 */ 4641 type X__fsfilcnt64_t = uint64 /* types.h:189:32 */ 4642 4643 // Type of miscellaneous file system fields. 4644 type X__fsword_t = int64 /* types.h:192:28 */ 4645 4646 type X__ssize_t = int64 /* types.h:194:27 */ // Type of a byte count, or error. 4647 4648 // Signed long type used in system calls. 4649 type X__syscall_slong_t = int64 /* types.h:197:33 */ 4650 // Unsigned long type used in system calls. 4651 type X__syscall_ulong_t = uint64 /* types.h:199:33 */ 4652 4653 // These few don't really vary by system, they always correspond 4654 // to one of the other defined types. 4655 type X__loff_t = X__off64_t /* types.h:203:19 */ // Type of file sizes and offsets (LFS). 4656 type X__caddr_t = uintptr /* types.h:204:14 */ 4657 4658 // Duplicates info from stdint.h but this is used in unistd.h. 4659 type X__intptr_t = int64 /* types.h:207:25 */ 4660 4661 // Duplicate info from sys/socket.h. 4662 type X__socklen_t = uint32 /* types.h:210:23 */ 4663 4664 // C99: An integer type that can be accessed as an atomic entity, 4665 // even in the presence of asynchronous interrupts. 4666 // It is not currently necessary for this to be machine-specific. 4667 type X__sig_atomic_t = int32 /* types.h:215:13 */ 4668 4669 // Seconds since the Epoch, visible to user code when time_t is too 4670 // narrow only for consistency with the old way of widening too-narrow 4671 // types. User code should never use __time64_t. 4672 4673 // wchar_t type related definitions. 4674 // Copyright (C) 2000-2020 Free Software Foundation, Inc. 4675 // This file is part of the GNU C Library. 4676 // 4677 // The GNU C Library is free software; you can redistribute it and/or 4678 // modify it under the terms of the GNU Lesser General Public 4679 // License as published by the Free Software Foundation; either 4680 // version 2.1 of the License, or (at your option) any later version. 4681 // 4682 // The GNU C Library is distributed in the hope that it will be useful, 4683 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4684 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4685 // Lesser General Public License for more details. 4686 // 4687 // You should have received a copy of the GNU Lesser General Public 4688 // License along with the GNU C Library; if not, see 4689 // <https://www.gnu.org/licenses/>. 4690 4691 // The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__ 4692 // are not defined, give the right value and type as long as both int 4693 // and wchar_t are 32-bit types. Adding L'\0' to a constant value 4694 // ensures that the type is correct; it is necessary to use (L'\0' + 4695 // 0) rather than just L'\0' so that the type in C++ is the promoted 4696 // version of wchar_t rather than the distinct wchar_t type itself. 4697 // Because wchar_t in preprocessor #if expressions is treated as 4698 // intmax_t or uintmax_t, the expression (L'\0' - 1) would have the 4699 // wrong value for WCHAR_MAX in such expressions and so cannot be used 4700 // to define __WCHAR_MAX in the unsigned case. 4701 4702 // Determine the wordsize from the preprocessor defines. 4703 // 4704 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 4705 // This file is part of the GNU C Library. 4706 // 4707 // The GNU C Library is free software; you can redistribute it and/or 4708 // modify it under the terms of the GNU Lesser General Public 4709 // License as published by the Free Software Foundation; either 4710 // version 2.1 of the License, or (at your option) any later version. 4711 // 4712 // The GNU C Library is distributed in the hope that it will be useful, 4713 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4714 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4715 // Lesser General Public License for more details. 4716 // 4717 // You should have received a copy of the GNU Lesser General Public 4718 // License along with the GNU C Library; if not, see 4719 // <https://www.gnu.org/licenses/>. 4720 4721 // Exact integral types. 4722 4723 // Signed. 4724 // Define intN_t types. 4725 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 4726 // This file is part of the GNU C Library. 4727 // 4728 // The GNU C Library is free software; you can redistribute it and/or 4729 // modify it under the terms of the GNU Lesser General Public 4730 // License as published by the Free Software Foundation; either 4731 // version 2.1 of the License, or (at your option) any later version. 4732 // 4733 // The GNU C Library is distributed in the hope that it will be useful, 4734 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4735 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4736 // Lesser General Public License for more details. 4737 // 4738 // You should have received a copy of the GNU Lesser General Public 4739 // License along with the GNU C Library; if not, see 4740 // <https://www.gnu.org/licenses/>. 4741 4742 // bits/types.h -- definitions of __*_t types underlying *_t types. 4743 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4744 // This file is part of the GNU C Library. 4745 // 4746 // The GNU C Library is free software; you can redistribute it and/or 4747 // modify it under the terms of the GNU Lesser General Public 4748 // License as published by the Free Software Foundation; either 4749 // version 2.1 of the License, or (at your option) any later version. 4750 // 4751 // The GNU C Library is distributed in the hope that it will be useful, 4752 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4753 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4754 // Lesser General Public License for more details. 4755 // 4756 // You should have received a copy of the GNU Lesser General Public 4757 // License along with the GNU C Library; if not, see 4758 // <https://www.gnu.org/licenses/>. 4759 4760 // Never include this file directly; use <sys/types.h> instead. 4761 4762 type Int8_t = X__int8_t /* stdint-intn.h:24:18 */ 4763 type Int16_t = X__int16_t /* stdint-intn.h:25:19 */ 4764 type Int32_t = X__int32_t /* stdint-intn.h:26:19 */ 4765 type Int64_t = X__int64_t /* stdint-intn.h:27:19 */ 4766 4767 // Unsigned. 4768 // Define uintN_t types. 4769 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 4770 // This file is part of the GNU C Library. 4771 // 4772 // The GNU C Library is free software; you can redistribute it and/or 4773 // modify it under the terms of the GNU Lesser General Public 4774 // License as published by the Free Software Foundation; either 4775 // version 2.1 of the License, or (at your option) any later version. 4776 // 4777 // The GNU C Library is distributed in the hope that it will be useful, 4778 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4779 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4780 // Lesser General Public License for more details. 4781 // 4782 // You should have received a copy of the GNU Lesser General Public 4783 // License along with the GNU C Library; if not, see 4784 // <https://www.gnu.org/licenses/>. 4785 4786 // bits/types.h -- definitions of __*_t types underlying *_t types. 4787 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4788 // This file is part of the GNU C Library. 4789 // 4790 // The GNU C Library is free software; you can redistribute it and/or 4791 // modify it under the terms of the GNU Lesser General Public 4792 // License as published by the Free Software Foundation; either 4793 // version 2.1 of the License, or (at your option) any later version. 4794 // 4795 // The GNU C Library is distributed in the hope that it will be useful, 4796 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4797 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4798 // Lesser General Public License for more details. 4799 // 4800 // You should have received a copy of the GNU Lesser General Public 4801 // License along with the GNU C Library; if not, see 4802 // <https://www.gnu.org/licenses/>. 4803 4804 // Never include this file directly; use <sys/types.h> instead. 4805 4806 type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */ 4807 type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */ 4808 type Uint32_t = X__uint32_t /* stdint-uintn.h:26:20 */ 4809 type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */ 4810 4811 // Small types. 4812 4813 // Signed. 4814 type Int_least8_t = X__int_least8_t /* stdint.h:43:24 */ 4815 type Int_least16_t = X__int_least16_t /* stdint.h:44:25 */ 4816 type Int_least32_t = X__int_least32_t /* stdint.h:45:25 */ 4817 type Int_least64_t = X__int_least64_t /* stdint.h:46:25 */ 4818 4819 // Unsigned. 4820 type Uint_least8_t = X__uint_least8_t /* stdint.h:49:25 */ 4821 type Uint_least16_t = X__uint_least16_t /* stdint.h:50:26 */ 4822 type Uint_least32_t = X__uint_least32_t /* stdint.h:51:26 */ 4823 type Uint_least64_t = X__uint_least64_t /* stdint.h:52:26 */ 4824 4825 // Fast types. 4826 4827 // Signed. 4828 type Int_fast8_t = int8 /* stdint.h:58:22 */ 4829 type Int_fast16_t = int64 /* stdint.h:60:19 */ 4830 type Int_fast32_t = int64 /* stdint.h:61:19 */ 4831 type Int_fast64_t = int64 /* stdint.h:62:19 */ 4832 4833 // Unsigned. 4834 type Uint_fast8_t = uint8 /* stdint.h:71:24 */ 4835 type Uint_fast16_t = uint64 /* stdint.h:73:27 */ 4836 type Uint_fast32_t = uint64 /* stdint.h:74:27 */ 4837 type Uint_fast64_t = uint64 /* stdint.h:75:27 */ 4838 4839 // Types for `void *' pointers. 4840 type Intptr_t = int64 /* stdint.h:87:19 */ 4841 type Uintptr_t = uint64 /* stdint.h:90:27 */ 4842 4843 // Largest integral types. 4844 type Intmax_t = X__intmax_t /* stdint.h:101:21 */ 4845 type Uintmax_t = X__uintmax_t /* stdint.h:102:22 */ 4846 4847 // Limits of integral types. 4848 4849 // Minimum of signed integral types. 4850 // Maximum of signed integral types. 4851 4852 // Maximum of unsigned integral types. 4853 4854 // Minimum of signed integral types having a minimum size. 4855 // Maximum of signed integral types having a minimum size. 4856 4857 // Maximum of unsigned integral types having a minimum size. 4858 4859 // Minimum of fast signed integral types having a minimum size. 4860 // Maximum of fast signed integral types having a minimum size. 4861 4862 // Maximum of fast unsigned integral types having a minimum size. 4863 4864 // Values to test for integral types holding `void *' pointer. 4865 4866 // Minimum for largest signed integral type. 4867 // Maximum for largest signed integral type. 4868 4869 // Maximum for largest unsigned integral type. 4870 4871 // Limits of other integer types. 4872 4873 // Limits of `ptrdiff_t' type. 4874 4875 // Limits of `sig_atomic_t'. 4876 4877 // Limit of `size_t' type. 4878 4879 // Limits of `wchar_t'. 4880 // These constants might also be defined in <wchar.h>. 4881 4882 // Limits of `wint_t'. 4883 4884 // Signed. 4885 4886 // Unsigned. 4887 4888 // Maximal type. 4889 4890 // 4891 // 4892 // Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 4893 // 4894 // Permission to use, copy, modify, distribute, and sell this software and its 4895 // documentation for any purpose is hereby granted without fee, provided that 4896 // the above copyright notice appear in all copies and that both that 4897 // copyright notice and this permission notice appear in supporting 4898 // documentation. 4899 // 4900 // The above copyright notice and this permission notice shall be included in 4901 // all copies or substantial portions of the Software. 4902 // 4903 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 4904 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 4905 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 4906 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 4907 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 4908 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 4909 // 4910 // Except as contained in this notice, the name of The Open Group shall not be 4911 // used in advertising or otherwise to promote the sale, use or other dealings 4912 // in this Software without prior written authorization from The Open Group. 4913 // 4914 4915 // Xlib.h - Header definition and support file for the C subroutine 4916 // interface library (Xlib) to the X Window System Protocol (V11). 4917 // Structures and symbols starting with "_" are private to the library. 4918 4919 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4920 // This file is part of the GNU C Library. 4921 // 4922 // The GNU C Library is free software; you can redistribute it and/or 4923 // modify it under the terms of the GNU Lesser General Public 4924 // License as published by the Free Software Foundation; either 4925 // version 2.1 of the License, or (at your option) any later version. 4926 // 4927 // The GNU C Library is distributed in the hope that it will be useful, 4928 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4929 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4930 // Lesser General Public License for more details. 4931 // 4932 // You should have received a copy of the GNU Lesser General Public 4933 // License along with the GNU C Library; if not, see 4934 // <https://www.gnu.org/licenses/>. 4935 4936 // POSIX Standard: 2.6 Primitive System Data Types <sys/types.h> 4937 4938 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4939 // This file is part of the GNU C Library. 4940 // 4941 // The GNU C Library is free software; you can redistribute it and/or 4942 // modify it under the terms of the GNU Lesser General Public 4943 // License as published by the Free Software Foundation; either 4944 // version 2.1 of the License, or (at your option) any later version. 4945 // 4946 // The GNU C Library is distributed in the hope that it will be useful, 4947 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4948 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4949 // Lesser General Public License for more details. 4950 // 4951 // You should have received a copy of the GNU Lesser General Public 4952 // License along with the GNU C Library; if not, see 4953 // <https://www.gnu.org/licenses/>. 4954 4955 // bits/types.h -- definitions of __*_t types underlying *_t types. 4956 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4957 // This file is part of the GNU C Library. 4958 // 4959 // The GNU C Library is free software; you can redistribute it and/or 4960 // modify it under the terms of the GNU Lesser General Public 4961 // License as published by the Free Software Foundation; either 4962 // version 2.1 of the License, or (at your option) any later version. 4963 // 4964 // The GNU C Library is distributed in the hope that it will be useful, 4965 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4966 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4967 // Lesser General Public License for more details. 4968 // 4969 // You should have received a copy of the GNU Lesser General Public 4970 // License along with the GNU C Library; if not, see 4971 // <https://www.gnu.org/licenses/>. 4972 4973 // Never include this file directly; use <sys/types.h> instead. 4974 4975 type U_char = X__u_char /* types.h:33:18 */ 4976 type U_short = X__u_short /* types.h:34:19 */ 4977 type U_int = X__u_int /* types.h:35:17 */ 4978 type U_long = X__u_long /* types.h:36:18 */ 4979 type Quad_t = X__quad_t /* types.h:37:18 */ 4980 type U_quad_t = X__u_quad_t /* types.h:38:20 */ 4981 type Fsid_t = X__fsid_t /* types.h:39:18 */ 4982 type Loff_t = X__loff_t /* types.h:42:18 */ 4983 4984 type Ino_t = X__ino64_t /* types.h:49:19 */ 4985 4986 type Dev_t = X__dev_t /* types.h:59:17 */ 4987 4988 type Gid_t = X__gid_t /* types.h:64:17 */ 4989 4990 type Mode_t = X__mode_t /* types.h:69:18 */ 4991 4992 type Nlink_t = X__nlink_t /* types.h:74:19 */ 4993 4994 type Uid_t = X__uid_t /* types.h:79:17 */ 4995 4996 type Off_t = X__off64_t /* types.h:87:19 */ 4997 4998 type Pid_t = X__pid_t /* types.h:97:17 */ 4999 5000 type Id_t = X__id_t /* types.h:103:16 */ 5001 5002 type Ssize_t = X__ssize_t /* types.h:108:19 */ 5003 5004 type Daddr_t = X__daddr_t /* types.h:114:19 */ 5005 type Caddr_t = X__caddr_t /* types.h:115:19 */ 5006 5007 type Key_t = X__key_t /* types.h:121:17 */ 5008 5009 // bits/types.h -- definitions of __*_t types underlying *_t types. 5010 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5011 // This file is part of the GNU C Library. 5012 // 5013 // The GNU C Library is free software; you can redistribute it and/or 5014 // modify it under the terms of the GNU Lesser General Public 5015 // License as published by the Free Software Foundation; either 5016 // version 2.1 of the License, or (at your option) any later version. 5017 // 5018 // The GNU C Library is distributed in the hope that it will be useful, 5019 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5020 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5021 // Lesser General Public License for more details. 5022 // 5023 // You should have received a copy of the GNU Lesser General Public 5024 // License along with the GNU C Library; if not, see 5025 // <https://www.gnu.org/licenses/>. 5026 5027 // Never include this file directly; use <sys/types.h> instead. 5028 5029 // Returned by `clock'. 5030 type Clock_t = X__clock_t /* clock_t.h:7:19 */ 5031 5032 // bits/types.h -- definitions of __*_t types underlying *_t types. 5033 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5034 // This file is part of the GNU C Library. 5035 // 5036 // The GNU C Library is free software; you can redistribute it and/or 5037 // modify it under the terms of the GNU Lesser General Public 5038 // License as published by the Free Software Foundation; either 5039 // version 2.1 of the License, or (at your option) any later version. 5040 // 5041 // The GNU C Library is distributed in the hope that it will be useful, 5042 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5043 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5044 // Lesser General Public License for more details. 5045 // 5046 // You should have received a copy of the GNU Lesser General Public 5047 // License along with the GNU C Library; if not, see 5048 // <https://www.gnu.org/licenses/>. 5049 5050 // Never include this file directly; use <sys/types.h> instead. 5051 5052 // Clock ID used in clock and timer functions. 5053 type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */ 5054 5055 // bits/types.h -- definitions of __*_t types underlying *_t types. 5056 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5057 // This file is part of the GNU C Library. 5058 // 5059 // The GNU C Library is free software; you can redistribute it and/or 5060 // modify it under the terms of the GNU Lesser General Public 5061 // License as published by the Free Software Foundation; either 5062 // version 2.1 of the License, or (at your option) any later version. 5063 // 5064 // The GNU C Library is distributed in the hope that it will be useful, 5065 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5066 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5067 // Lesser General Public License for more details. 5068 // 5069 // You should have received a copy of the GNU Lesser General Public 5070 // License along with the GNU C Library; if not, see 5071 // <https://www.gnu.org/licenses/>. 5072 5073 // Never include this file directly; use <sys/types.h> instead. 5074 5075 // Returned by `time'. 5076 type Time_t = X__time_t /* time_t.h:7:18 */ 5077 5078 // bits/types.h -- definitions of __*_t types underlying *_t types. 5079 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5080 // This file is part of the GNU C Library. 5081 // 5082 // The GNU C Library is free software; you can redistribute it and/or 5083 // modify it under the terms of the GNU Lesser General Public 5084 // License as published by the Free Software Foundation; either 5085 // version 2.1 of the License, or (at your option) any later version. 5086 // 5087 // The GNU C Library is distributed in the hope that it will be useful, 5088 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5089 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5090 // Lesser General Public License for more details. 5091 // 5092 // You should have received a copy of the GNU Lesser General Public 5093 // License along with the GNU C Library; if not, see 5094 // <https://www.gnu.org/licenses/>. 5095 5096 // Never include this file directly; use <sys/types.h> instead. 5097 5098 // Timer ID returned by `timer_create'. 5099 type Timer_t = X__timer_t /* timer_t.h:7:19 */ 5100 5101 // Wide character type. 5102 // Locale-writers should change this as necessary to 5103 // be big enough to hold unique values not between 0 and 127, 5104 // and not (wchar_t) -1, for each defined multibyte character. 5105 5106 // Define this type if we are doing the whole job, 5107 // or if we want this type in particular. 5108 5109 // A null pointer constant. 5110 5111 // Old compatibility names for C types. 5112 type Ulong = uint64 /* types.h:148:27 */ 5113 type Ushort = uint16 /* types.h:149:28 */ 5114 type Uint = uint32 /* types.h:150:22 */ 5115 5116 // These size-specific names are used by some of the inet code. 5117 5118 // Define intN_t types. 5119 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5120 // This file is part of the GNU C Library. 5121 // 5122 // The GNU C Library is free software; you can redistribute it and/or 5123 // modify it under the terms of the GNU Lesser General Public 5124 // License as published by the Free Software Foundation; either 5125 // version 2.1 of the License, or (at your option) any later version. 5126 // 5127 // The GNU C Library is distributed in the hope that it will be useful, 5128 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5129 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5130 // Lesser General Public License for more details. 5131 // 5132 // You should have received a copy of the GNU Lesser General Public 5133 // License along with the GNU C Library; if not, see 5134 // <https://www.gnu.org/licenses/>. 5135 5136 // These were defined by ISO C without the first `_'. 5137 type U_int8_t = X__uint8_t /* types.h:158:19 */ 5138 type U_int16_t = X__uint16_t /* types.h:159:20 */ 5139 type U_int32_t = X__uint32_t /* types.h:160:20 */ 5140 type U_int64_t = X__uint64_t /* types.h:161:20 */ 5141 5142 type Register_t = int32 /* types.h:164:13 */ 5143 5144 // It also defines `fd_set' and the FD_* macros for `select'. 5145 // `fd_set' type and related macros, and `select'/`pselect' declarations. 5146 // Copyright (C) 1996-2020 Free Software Foundation, Inc. 5147 // This file is part of the GNU C Library. 5148 // 5149 // The GNU C Library is free software; you can redistribute it and/or 5150 // modify it under the terms of the GNU Lesser General Public 5151 // License as published by the Free Software Foundation; either 5152 // version 2.1 of the License, or (at your option) any later version. 5153 // 5154 // The GNU C Library is distributed in the hope that it will be useful, 5155 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5156 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5157 // Lesser General Public License for more details. 5158 // 5159 // You should have received a copy of the GNU Lesser General Public 5160 // License along with the GNU C Library; if not, see 5161 // <https://www.gnu.org/licenses/>. 5162 5163 // POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h> 5164 5165 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 5166 // This file is part of the GNU C Library. 5167 // 5168 // The GNU C Library is free software; you can redistribute it and/or 5169 // modify it under the terms of the GNU Lesser General Public 5170 // License as published by the Free Software Foundation; either 5171 // version 2.1 of the License, or (at your option) any later version. 5172 // 5173 // The GNU C Library is distributed in the hope that it will be useful, 5174 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5175 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5176 // Lesser General Public License for more details. 5177 // 5178 // You should have received a copy of the GNU Lesser General Public 5179 // License along with the GNU C Library; if not, see 5180 // <https://www.gnu.org/licenses/>. 5181 5182 // Get definition of needed basic types. 5183 // bits/types.h -- definitions of __*_t types underlying *_t types. 5184 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5185 // This file is part of the GNU C Library. 5186 // 5187 // The GNU C Library is free software; you can redistribute it and/or 5188 // modify it under the terms of the GNU Lesser General Public 5189 // License as published by the Free Software Foundation; either 5190 // version 2.1 of the License, or (at your option) any later version. 5191 // 5192 // The GNU C Library is distributed in the hope that it will be useful, 5193 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5194 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5195 // Lesser General Public License for more details. 5196 // 5197 // You should have received a copy of the GNU Lesser General Public 5198 // License along with the GNU C Library; if not, see 5199 // <https://www.gnu.org/licenses/>. 5200 5201 // Never include this file directly; use <sys/types.h> instead. 5202 5203 // Get __FD_* definitions. 5204 // Copyright (C) 1997-2020 Free Software Foundation, Inc. 5205 // This file is part of the GNU C Library. 5206 // 5207 // The GNU C Library is free software; you can redistribute it and/or 5208 // modify it under the terms of the GNU Lesser General Public 5209 // License as published by the Free Software Foundation; either 5210 // version 2.1 of the License, or (at your option) any later version. 5211 // 5212 // The GNU C Library is distributed in the hope that it will be useful, 5213 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5214 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5215 // Lesser General Public License for more details. 5216 // 5217 // You should have received a copy of the GNU Lesser General Public 5218 // License along with the GNU C Library; if not, see 5219 // <https://www.gnu.org/licenses/>. 5220 5221 // We don't use `memset' because this would require a prototype and 5222 // the array isn't too big. 5223 5224 // Get sigset_t. 5225 5226 type X__sigset_t = struct{ F__val [16]uint64 } /* __sigset_t.h:8:3 */ 5227 5228 // A set of signals to be blocked, unblocked, or waited for. 5229 type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */ 5230 5231 // Get definition of timer specification structures. 5232 5233 // bits/types.h -- definitions of __*_t types underlying *_t types. 5234 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5235 // This file is part of the GNU C Library. 5236 // 5237 // The GNU C Library is free software; you can redistribute it and/or 5238 // modify it under the terms of the GNU Lesser General Public 5239 // License as published by the Free Software Foundation; either 5240 // version 2.1 of the License, or (at your option) any later version. 5241 // 5242 // The GNU C Library is distributed in the hope that it will be useful, 5243 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5244 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5245 // Lesser General Public License for more details. 5246 // 5247 // You should have received a copy of the GNU Lesser General Public 5248 // License along with the GNU C Library; if not, see 5249 // <https://www.gnu.org/licenses/>. 5250 5251 // Never include this file directly; use <sys/types.h> instead. 5252 5253 // A time value that is accurate to the nearest 5254 // microsecond but also has a range of years. 5255 type Timeval = struct { 5256 Ftv_sec X__time_t 5257 Ftv_usec X__suseconds_t 5258 } /* struct_timeval.h:8:1 */ 5259 5260 // NB: Include guard matches what <linux/time.h> uses. 5261 5262 // bits/types.h -- definitions of __*_t types underlying *_t types. 5263 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5264 // This file is part of the GNU C Library. 5265 // 5266 // The GNU C Library is free software; you can redistribute it and/or 5267 // modify it under the terms of the GNU Lesser General Public 5268 // License as published by the Free Software Foundation; either 5269 // version 2.1 of the License, or (at your option) any later version. 5270 // 5271 // The GNU C Library is distributed in the hope that it will be useful, 5272 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5273 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5274 // Lesser General Public License for more details. 5275 // 5276 // You should have received a copy of the GNU Lesser General Public 5277 // License along with the GNU C Library; if not, see 5278 // <https://www.gnu.org/licenses/>. 5279 5280 // Never include this file directly; use <sys/types.h> instead. 5281 5282 // Endian macros for string.h functions 5283 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 5284 // This file is part of the GNU C Library. 5285 // 5286 // The GNU C Library is free software; you can redistribute it and/or 5287 // modify it under the terms of the GNU Lesser General Public 5288 // License as published by the Free Software Foundation; either 5289 // version 2.1 of the License, or (at your option) any later version. 5290 // 5291 // The GNU C Library is distributed in the hope that it will be useful, 5292 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5293 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5294 // Lesser General Public License for more details. 5295 // 5296 // You should have received a copy of the GNU Lesser General Public 5297 // License along with the GNU C Library; if not, see 5298 // <http://www.gnu.org/licenses/>. 5299 5300 // POSIX.1b structure for a time value. This is like a `struct timeval' but 5301 // has nanoseconds instead of microseconds. 5302 type Timespec = struct { 5303 Ftv_sec X__time_t 5304 Ftv_nsec X__syscall_slong_t 5305 } /* struct_timespec.h:10:1 */ 5306 5307 type Suseconds_t = X__suseconds_t /* select.h:43:23 */ 5308 5309 // The fd_set member is required to be an array of longs. 5310 type X__fd_mask = int64 /* select.h:49:18 */ 5311 5312 // Some versions of <linux/posix_types.h> define this macros. 5313 // It's easier to assume 8-bit bytes than to get CHAR_BIT. 5314 5315 // fd_set for select and pselect. 5316 type Fd_set = struct{ F__fds_bits [16]X__fd_mask } /* select.h:70:5 */ 5317 5318 // Maximum number of file descriptors in `fd_set'. 5319 5320 // Sometimes the fd_set member is assumed to have this type. 5321 type Fd_mask = X__fd_mask /* select.h:77:19 */ 5322 5323 // Define some inlines helping to catch common problems. 5324 5325 type Blksize_t = X__blksize_t /* types.h:185:21 */ 5326 5327 // Types from the Large File Support interface. 5328 type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks. 5329 type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks. 5330 type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes. 5331 5332 // Now add the thread types. 5333 // Declaration of common pthread types for all architectures. 5334 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5335 // This file is part of the GNU C Library. 5336 // 5337 // The GNU C Library is free software; you can redistribute it and/or 5338 // modify it under the terms of the GNU Lesser General Public 5339 // License as published by the Free Software Foundation; either 5340 // version 2.1 of the License, or (at your option) any later version. 5341 // 5342 // The GNU C Library is distributed in the hope that it will be useful, 5343 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5344 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5345 // Lesser General Public License for more details. 5346 // 5347 // You should have received a copy of the GNU Lesser General Public 5348 // License along with the GNU C Library; if not, see 5349 // <https://www.gnu.org/licenses/>. 5350 5351 // For internal mutex and condition variable definitions. 5352 // Common threading primitives definitions for both POSIX and C11. 5353 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5354 // This file is part of the GNU C Library. 5355 // 5356 // The GNU C Library is free software; you can redistribute it and/or 5357 // modify it under the terms of the GNU Lesser General Public 5358 // License as published by the Free Software Foundation; either 5359 // version 2.1 of the License, or (at your option) any later version. 5360 // 5361 // The GNU C Library is distributed in the hope that it will be useful, 5362 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5363 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5364 // Lesser General Public License for more details. 5365 // 5366 // You should have received a copy of the GNU Lesser General Public 5367 // License along with the GNU C Library; if not, see 5368 // <https://www.gnu.org/licenses/>. 5369 5370 // Arch-specific definitions. Each architecture must define the following 5371 // macros to define the expected sizes of pthread data types: 5372 // 5373 // __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. 5374 // __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. 5375 // __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. 5376 // __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. 5377 // __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. 5378 // __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. 5379 // __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. 5380 // __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. 5381 // __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. 5382 // 5383 // The additional macro defines any constraint for the lock alignment 5384 // inside the thread structures: 5385 // 5386 // __LOCK_ALIGNMENT - for internal lock/futex usage. 5387 // 5388 // Same idea but for the once locking primitive: 5389 // 5390 // __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. 5391 5392 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5393 // 5394 // This file is part of the GNU C Library. 5395 // 5396 // The GNU C Library is free software; you can redistribute it and/or 5397 // modify it under the terms of the GNU Lesser General Public 5398 // License as published by the Free Software Foundation; either 5399 // version 2.1 of the License, or (at your option) any later version. 5400 // 5401 // The GNU C Library is distributed in the hope that it will be useful, 5402 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5403 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5404 // Lesser General Public License for more details. 5405 // 5406 // You should have received a copy of the GNU Lesser General Public 5407 // License along with the GNU C Library; if not, see 5408 // <https://www.gnu.org/licenses/>. 5409 5410 // Endian macros for string.h functions 5411 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 5412 // This file is part of the GNU C Library. 5413 // 5414 // The GNU C Library is free software; you can redistribute it and/or 5415 // modify it under the terms of the GNU Lesser General Public 5416 // License as published by the Free Software Foundation; either 5417 // version 2.1 of the License, or (at your option) any later version. 5418 // 5419 // The GNU C Library is distributed in the hope that it will be useful, 5420 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5421 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5422 // Lesser General Public License for more details. 5423 // 5424 // You should have received a copy of the GNU Lesser General Public 5425 // License along with the GNU C Library; if not, see 5426 // <http://www.gnu.org/licenses/>. 5427 5428 // Common definition of pthread_mutex_t. 5429 5430 type X__pthread_internal_list = struct { 5431 F__prev uintptr 5432 F__next uintptr 5433 } /* thread-shared-types.h:49:9 */ 5434 5435 // Type to count file system inodes. 5436 5437 // Now add the thread types. 5438 // Declaration of common pthread types for all architectures. 5439 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5440 // This file is part of the GNU C Library. 5441 // 5442 // The GNU C Library is free software; you can redistribute it and/or 5443 // modify it under the terms of the GNU Lesser General Public 5444 // License as published by the Free Software Foundation; either 5445 // version 2.1 of the License, or (at your option) any later version. 5446 // 5447 // The GNU C Library is distributed in the hope that it will be useful, 5448 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5449 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5450 // Lesser General Public License for more details. 5451 // 5452 // You should have received a copy of the GNU Lesser General Public 5453 // License along with the GNU C Library; if not, see 5454 // <https://www.gnu.org/licenses/>. 5455 5456 // For internal mutex and condition variable definitions. 5457 // Common threading primitives definitions for both POSIX and C11. 5458 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5459 // This file is part of the GNU C Library. 5460 // 5461 // The GNU C Library is free software; you can redistribute it and/or 5462 // modify it under the terms of the GNU Lesser General Public 5463 // License as published by the Free Software Foundation; either 5464 // version 2.1 of the License, or (at your option) any later version. 5465 // 5466 // The GNU C Library is distributed in the hope that it will be useful, 5467 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5468 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5469 // Lesser General Public License for more details. 5470 // 5471 // You should have received a copy of the GNU Lesser General Public 5472 // License along with the GNU C Library; if not, see 5473 // <https://www.gnu.org/licenses/>. 5474 5475 // Arch-specific definitions. Each architecture must define the following 5476 // macros to define the expected sizes of pthread data types: 5477 // 5478 // __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. 5479 // __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. 5480 // __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. 5481 // __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. 5482 // __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. 5483 // __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. 5484 // __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. 5485 // __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. 5486 // __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. 5487 // 5488 // The additional macro defines any constraint for the lock alignment 5489 // inside the thread structures: 5490 // 5491 // __LOCK_ALIGNMENT - for internal lock/futex usage. 5492 // 5493 // Same idea but for the once locking primitive: 5494 // 5495 // __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. 5496 5497 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5498 // 5499 // This file is part of the GNU C Library. 5500 // 5501 // The GNU C Library is free software; you can redistribute it and/or 5502 // modify it under the terms of the GNU Lesser General Public 5503 // License as published by the Free Software Foundation; either 5504 // version 2.1 of the License, or (at your option) any later version. 5505 // 5506 // The GNU C Library is distributed in the hope that it will be useful, 5507 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5508 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5509 // Lesser General Public License for more details. 5510 // 5511 // You should have received a copy of the GNU Lesser General Public 5512 // License along with the GNU C Library; if not, see 5513 // <https://www.gnu.org/licenses/>. 5514 5515 // Endian macros for string.h functions 5516 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 5517 // This file is part of the GNU C Library. 5518 // 5519 // The GNU C Library is free software; you can redistribute it and/or 5520 // modify it under the terms of the GNU Lesser General Public 5521 // License as published by the Free Software Foundation; either 5522 // version 2.1 of the License, or (at your option) any later version. 5523 // 5524 // The GNU C Library is distributed in the hope that it will be useful, 5525 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5526 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5527 // Lesser General Public License for more details. 5528 // 5529 // You should have received a copy of the GNU Lesser General Public 5530 // License along with the GNU C Library; if not, see 5531 // <http://www.gnu.org/licenses/>. 5532 5533 // Common definition of pthread_mutex_t. 5534 5535 type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */ 5536 5537 type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */ 5538 5539 type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */ 5540 5541 // Arch-specific mutex definitions. A generic implementation is provided 5542 // by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture 5543 // can override it by defining: 5544 // 5545 // 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t 5546 // definition). It should contains at least the internal members 5547 // defined in the generic version. 5548 // 5549 // 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with 5550 // atomic operations. 5551 // 5552 // 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization. 5553 // It should initialize the mutex internal flag. 5554 5555 // Default mutex implementation struct definitions. 5556 // Copyright (C) 2019-2020 Free Software Foundation, Inc. 5557 // This file is part of the GNU C Library. 5558 // 5559 // The GNU C Library is free software; you can redistribute it and/or 5560 // modify it under the terms of the GNU Lesser General Public 5561 // License as published by the Free Software Foundation; either 5562 // version 2.1 of the License, or (at your option) any later version. 5563 // 5564 // The GNU C Library is distributed in the hope that it will be useful, 5565 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5566 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5567 // Lesser General Public License for more details. 5568 // 5569 // You should have received a copy of the GNU Lesser General Public 5570 // License along with the GNU C Library; if not, see 5571 // <http://www.gnu.org/licenses/>. 5572 5573 // Generic struct for both POSIX and C11 mutexes. New ports are expected 5574 // to use the default layout, however architecture can redefine it to 5575 // add arch-specific extension (such as lock-elision). The struct have 5576 // a size of 32 bytes on LP32 and 40 bytes on LP64 architectures. 5577 5578 type X__pthread_mutex_s = struct { 5579 F__lock int32 5580 F__count uint32 5581 F__owner int32 5582 F__nusers uint32 5583 F__kind int32 5584 F__spins int32 5585 F__list X__pthread_list_t 5586 } /* struct_mutex.h:27:1 */ 5587 5588 // Arch-sepecific read-write lock definitions. A generic implementation is 5589 // provided by struct_rwlock.h. If required, an architecture can override it 5590 // by defining: 5591 // 5592 // 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition). 5593 // It should contain at least the internal members defined in the 5594 // generic version. 5595 // 5596 // 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization. 5597 // It should initialize the rwlock internal type. 5598 5599 // AArch64 internal rwlock struct definitions. 5600 // Copyright (C) 2019-2020 Free Software Foundation, Inc. 5601 // 5602 // This file is part of the GNU C Library. 5603 // 5604 // The GNU C Library is free software; you can redistribute it and/or 5605 // modify it under the terms of the GNU Lesser General Public 5606 // License as published by the Free Software Foundation; either 5607 // version 2.1 of the License, or (at your option) any later version. 5608 // 5609 // The GNU C Library is distributed in the hope that it will be useful, 5610 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5611 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5612 // Lesser General Public License for more details. 5613 // 5614 // You should have received a copy of the GNU Lesser General Public 5615 // License along with the GNU C Library; if not, see 5616 // <http://www.gnu.org/licenses/>. 5617 5618 type X__pthread_rwlock_arch_t = struct { 5619 F__readers uint32 5620 F__writers uint32 5621 F__wrphase_futex uint32 5622 F__writers_futex uint32 5623 F__pad3 uint32 5624 F__pad4 uint32 5625 F__cur_writer int32 5626 F__shared int32 5627 F__pad1 uint64 5628 F__pad2 uint64 5629 F__flags uint32 5630 F__ccgo_pad1 [4]byte 5631 } /* struct_rwlock.h:23:1 */ 5632 5633 // Common definition of pthread_cond_t. 5634 5635 type X__pthread_cond_s = struct { 5636 F__0 struct{ F__wseq uint64 } 5637 F__8 struct{ F__g1_start uint64 } 5638 F__g_refs [2]uint32 5639 F__g_size [2]uint32 5640 F__g1_orig_size uint32 5641 F__wrefs uint32 5642 F__g_signals [2]uint32 5643 } /* thread-shared-types.h:92:1 */ 5644 5645 type X__tss_t = uint32 /* thread-shared-types.h:119:22 */ 5646 type X__thrd_t = uint64 /* thread-shared-types.h:120:27 */ 5647 5648 type X__once_flag = struct{ F__data int32 } /* thread-shared-types.h:125:3 */ 5649 5650 // Thread identifiers. The structure of the attribute type is not 5651 // exposed on purpose. 5652 type Pthread_t = uint64 /* pthreadtypes.h:27:27 */ 5653 5654 // Data structures for mutex handling. The structure of the attribute 5655 // type is not exposed on purpose. 5656 type Pthread_mutexattr_t = struct { 5657 F__ccgo_pad1 [0]uint32 5658 F__size [8]uint8 5659 } /* pthreadtypes.h:36:3 */ 5660 5661 // Data structure for condition variable handling. The structure of 5662 // the attribute type is not exposed on purpose. 5663 type Pthread_condattr_t = struct { 5664 F__ccgo_pad1 [0]uint32 5665 F__size [8]uint8 5666 } /* pthreadtypes.h:45:3 */ 5667 5668 // Keys for thread-specific data 5669 type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */ 5670 5671 // Once-only execution 5672 type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */ 5673 5674 type Pthread_attr_t1 = struct { 5675 F__ccgo_pad1 [0]uint64 5676 F__size [64]uint8 5677 } /* pthreadtypes.h:56:1 */ 5678 5679 type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */ 5680 5681 type Pthread_mutex_t = struct { 5682 F__data X__pthread_mutex_s 5683 F__ccgo_pad1 [8]byte 5684 } /* pthreadtypes.h:72:3 */ 5685 5686 type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */ 5687 5688 // Data structure for reader-writer lock variable handling. The 5689 // structure of the attribute type is deliberately not exposed. 5690 type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */ 5691 5692 type Pthread_rwlockattr_t = struct { 5693 F__ccgo_pad1 [0]uint64 5694 F__size [8]uint8 5695 } /* pthreadtypes.h:97:3 */ 5696 5697 // POSIX spinlock data type. 5698 type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */ 5699 5700 // POSIX barriers data type. The structure of the type is 5701 // deliberately not exposed. 5702 type Pthread_barrier_t = struct { 5703 F__ccgo_pad1 [0]uint64 5704 F__size [32]uint8 5705 } /* pthreadtypes.h:112:3 */ 5706 5707 type Pthread_barrierattr_t = struct { 5708 F__ccgo_pad1 [0]uint32 5709 F__size [8]uint8 5710 } /* pthreadtypes.h:118:3 */ 5711 5712 // Definitions for the X window system likely to be used by applications 5713 5714 //********************************************************** 5715 // 5716 // Copyright 1987, 1998 The Open Group 5717 // 5718 // Permission to use, copy, modify, distribute, and sell this software and its 5719 // documentation for any purpose is hereby granted without fee, provided that 5720 // the above copyright notice appear in all copies and that both that 5721 // copyright notice and this permission notice appear in supporting 5722 // documentation. 5723 // 5724 // The above copyright notice and this permission notice shall be included in 5725 // all copies or substantial portions of the Software. 5726 // 5727 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 5728 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 5729 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 5730 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 5731 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 5732 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 5733 // 5734 // Except as contained in this notice, the name of The Open Group shall not be 5735 // used in advertising or otherwise to promote the sale, use or other dealings 5736 // in this Software without prior written authorization from The Open Group. 5737 // 5738 // 5739 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 5740 // 5741 // All Rights Reserved 5742 // 5743 // Permission to use, copy, modify, and distribute this software and its 5744 // documentation for any purpose and without fee is hereby granted, 5745 // provided that the above copyright notice appear in all copies and that 5746 // both that copyright notice and this permission notice appear in 5747 // supporting documentation, and that the name of Digital not be 5748 // used in advertising or publicity pertaining to distribution of the 5749 // software without specific, written prior permission. 5750 // 5751 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 5752 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 5753 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 5754 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 5755 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 5756 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 5757 // SOFTWARE. 5758 // 5759 // ***************************************************************** 5760 5761 // Resources 5762 5763 // _XSERVER64 must ONLY be defined when compiling X server sources on 5764 // systems where unsigned long is not 32 bits, must NOT be used in 5765 // client or library code. 5766 type XID = uint64 /* X.h:66:23 */ 5767 type Mask = uint64 /* X.h:70:23 */ 5768 type Atom = uint64 /* X.h:74:23 */ // Also in Xdefs.h 5769 type VisualID = uint64 /* X.h:76:23 */ 5770 type Time = uint64 /* X.h:77:23 */ 5771 5772 type Window = XID /* X.h:96:13 */ 5773 type Drawable = XID /* X.h:97:13 */ 5774 type Font = XID /* X.h:100:13 */ 5775 type Pixmap = XID /* X.h:102:13 */ 5776 type Cursor = XID /* X.h:103:13 */ 5777 type Colormap = XID /* X.h:104:13 */ 5778 type GContext = XID /* X.h:105:13 */ 5779 type KeySym = XID /* X.h:106:13 */ 5780 5781 type KeyCode = uint8 /* X.h:108:23 */ 5782 5783 // A null pointer constant. 5784 5785 // Offset of member MEMBER in a struct of type TYPE. 5786 5787 // Type whose alignment is supported in every context and is at least 5788 // as great as that of any standard type not using alignment 5789 // specifiers. 5790 type Max_align_t = struct { 5791 F__max_align_ll int64 5792 F__max_align_ld float64 5793 } /* stddef.h:426:3 */ 5794 5795 // API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in 5796 // November 2000. Its presence is indicated through the following macro. 5797 5798 // The Xlib structs are full of implicit padding to properly align members. 5799 // We can't clean that up without breaking ABI, so tell clang not to bother 5800 // complaining about it. 5801 5802 type XPointer = uintptr /* Xlib.h:80:14 */ 5803 5804 // macros for screen oriented applications (toolkit) 5805 5806 // Extensions need a way to hang private data on some structures. 5807 type X_XExtData = struct { 5808 Fnumber int32 5809 F__ccgo_pad1 [4]byte 5810 Fnext uintptr 5811 Ffree_private uintptr 5812 Fprivate_data XPointer 5813 } /* Xlib.h:148:9 */ 5814 5815 // macros for screen oriented applications (toolkit) 5816 5817 // Extensions need a way to hang private data on some structures. 5818 type XExtData = X_XExtData /* Xlib.h:155:3 */ 5819 5820 // This file contains structures used by the extension mechanism. 5821 type XExtCodes = struct { 5822 Fextension int32 5823 Fmajor_opcode int32 5824 Ffirst_event int32 5825 Ffirst_error int32 5826 } /* Xlib.h:165:3 */ 5827 5828 // Data structure for retrieving info about pixmap formats. 5829 5830 type XPixmapFormatValues = struct { 5831 Fdepth int32 5832 Fbits_per_pixel int32 5833 Fscanline_pad int32 5834 } /* Xlib.h:175:3 */ 5835 5836 // Data structure for setting graphics context. 5837 type XGCValues = struct { 5838 Ffunction int32 5839 F__ccgo_pad1 [4]byte 5840 Fplane_mask uint64 5841 Fforeground uint64 5842 Fbackground uint64 5843 Fline_width int32 5844 Fline_style int32 5845 Fcap_style int32 5846 Fjoin_style int32 5847 Ffill_style int32 5848 Ffill_rule int32 5849 Farc_mode int32 5850 F__ccgo_pad2 [4]byte 5851 Ftile Pixmap 5852 Fstipple Pixmap 5853 Fts_x_origin int32 5854 Fts_y_origin int32 5855 Ffont Font 5856 Fsubwindow_mode int32 5857 Fgraphics_exposures int32 5858 Fclip_x_origin int32 5859 Fclip_y_origin int32 5860 Fclip_mask Pixmap 5861 Fdash_offset int32 5862 Fdashes uint8 5863 F__ccgo_pad3 [3]byte 5864 } /* Xlib.h:207:3 */ 5865 5866 // Graphics context. The contents of this structure are implementation 5867 // dependent. A GC should be treated as opaque by application code. 5868 5869 type X_XGC = struct { 5870 Fext_data uintptr 5871 Fgid GContext 5872 Frects int32 5873 Fdashes int32 5874 Fdirty uint64 5875 Fvalues XGCValues 5876 } /* Xlib.h:214:9 */ 5877 5878 // Graphics context. The contents of this structure are implementation 5879 // dependent. A GC should be treated as opaque by application code. 5880 5881 type GC = uintptr /* Xlib.h:222:1 */ 5882 5883 // Visual structure; contains information about colormapping possible. 5884 type Visual = struct { 5885 Fext_data uintptr 5886 Fvisualid VisualID 5887 Fclass int32 5888 F__ccgo_pad1 [4]byte 5889 Fred_mask uint64 5890 Fgreen_mask uint64 5891 Fblue_mask uint64 5892 Fbits_per_rgb int32 5893 Fmap_entries int32 5894 } /* Xlib.h:238:3 */ 5895 5896 // Depth structure; contains information for each possible depth. 5897 type Depth = struct { 5898 Fdepth int32 5899 Fnvisuals int32 5900 Fvisuals uintptr 5901 } /* Xlib.h:247:3 */ 5902 5903 // Information about the screen. The contents of this structure are 5904 // implementation dependent. A Screen should be treated as opaque 5905 // by application code. 5906 5907 type X_XDisplay = struct { 5908 Fext_data uintptr 5909 Ffree_funcs uintptr 5910 Ffd int32 5911 Fconn_checker int32 5912 Fproto_major_version int32 5913 Fproto_minor_version int32 5914 Fvendor uintptr 5915 Fresource_base XID 5916 Fresource_mask XID 5917 Fresource_id XID 5918 Fresource_shift int32 5919 F__ccgo_pad1 [4]byte 5920 Fresource_alloc uintptr 5921 Fbyte_order int32 5922 Fbitmap_unit int32 5923 Fbitmap_pad int32 5924 Fbitmap_bit_order int32 5925 Fnformats int32 5926 F__ccgo_pad2 [4]byte 5927 Fpixmap_format uintptr 5928 Fvnumber int32 5929 Frelease int32 5930 Fhead uintptr 5931 Ftail uintptr 5932 Fqlen int32 5933 F__ccgo_pad3 [4]byte 5934 Flast_request_read uint64 5935 Frequest uint64 5936 Flast_req uintptr 5937 Fbuffer uintptr 5938 Fbufptr uintptr 5939 Fbufmax uintptr 5940 Fmax_request_size uint32 5941 F__ccgo_pad4 [4]byte 5942 Fdb uintptr 5943 Fsynchandler uintptr 5944 Fdisplay_name uintptr 5945 Fdefault_screen int32 5946 Fnscreens int32 5947 Fscreens uintptr 5948 Fmotion_buffer uint64 5949 Fflags uint64 5950 Fmin_keycode int32 5951 Fmax_keycode int32 5952 Fkeysyms uintptr 5953 Fmodifiermap uintptr 5954 Fkeysyms_per_keycode int32 5955 F__ccgo_pad5 [4]byte 5956 Fxdefaults uintptr 5957 Fscratch_buffer uintptr 5958 Fscratch_length uint64 5959 Fext_number int32 5960 F__ccgo_pad6 [4]byte 5961 Fext_procs uintptr 5962 Fevent_vec [128]uintptr 5963 Fwire_vec [128]uintptr 5964 Flock_meaning KeySym 5965 Flock uintptr 5966 Fasync_handlers uintptr 5967 Fbigreq_size uint64 5968 Flock_fns uintptr 5969 Fidlist_alloc uintptr 5970 Fkey_bindings uintptr 5971 Fcursor_font Font 5972 Fatoms uintptr 5973 Fmode_switch uint32 5974 Fnum_lock uint32 5975 Fcontext_db uintptr 5976 Ferror_vec uintptr 5977 Fcms struct { 5978 FdefaultCCCs XPointer 5979 FclientCmaps XPointer 5980 FperVisualIntensityMaps XPointer 5981 } 5982 Fim_filters uintptr 5983 Fqfree uintptr 5984 Fnext_event_serial_num uint64 5985 Fflushes uintptr 5986 Fim_fd_info uintptr 5987 Fim_fd_length int32 5988 F__ccgo_pad7 [4]byte 5989 Fconn_watchers uintptr 5990 Fwatcher_count int32 5991 F__ccgo_pad8 [4]byte 5992 Ffiledes XPointer 5993 Fsavedsynchandler uintptr 5994 Fresource_max XID 5995 Fxcmisc_opcode int32 5996 F__ccgo_pad9 [4]byte 5997 Fxkb_info uintptr 5998 Ftrans_conn uintptr 5999 Fxcb uintptr 6000 Fnext_cookie uint32 6001 F__ccgo_pad10 [4]byte 6002 Fgeneric_event_vec [128]uintptr 6003 Fgeneric_event_copy_vec [128]uintptr 6004 Fcookiejar uintptr 6005 Freq_seq_syncing int32 6006 F__ccgo_pad11 [4]byte 6007 } /* Xlib.h:255:1 */ 6008 6009 // Forward declare before use for C++ 6010 6011 type Screen = struct { 6012 Fext_data uintptr 6013 Fdisplay uintptr 6014 Froot Window 6015 Fwidth int32 6016 Fheight int32 6017 Fmwidth int32 6018 Fmheight int32 6019 Fndepths int32 6020 F__ccgo_pad1 [4]byte 6021 Fdepths uintptr 6022 Froot_depth int32 6023 F__ccgo_pad2 [4]byte 6024 Froot_visual uintptr 6025 Fdefault_gc GC 6026 Fcmap Colormap 6027 Fwhite_pixel uint64 6028 Fblack_pixel uint64 6029 Fmax_maps int32 6030 Fmin_maps int32 6031 Fbacking_store int32 6032 Fsave_unders int32 6033 Froot_input_mask int64 6034 } /* Xlib.h:275:3 */ 6035 6036 // Format structure; describes ZFormat data the screen will understand. 6037 type ScreenFormat = struct { 6038 Fext_data uintptr 6039 Fdepth int32 6040 Fbits_per_pixel int32 6041 Fscanline_pad int32 6042 F__ccgo_pad1 [4]byte 6043 } /* Xlib.h:285:3 */ 6044 6045 // Data structure for setting window attributes. 6046 type XSetWindowAttributes = struct { 6047 Fbackground_pixmap Pixmap 6048 Fbackground_pixel uint64 6049 Fborder_pixmap Pixmap 6050 Fborder_pixel uint64 6051 Fbit_gravity int32 6052 Fwin_gravity int32 6053 Fbacking_store int32 6054 F__ccgo_pad1 [4]byte 6055 Fbacking_planes uint64 6056 Fbacking_pixel uint64 6057 Fsave_under int32 6058 F__ccgo_pad2 [4]byte 6059 Fevent_mask int64 6060 Fdo_not_propagate_mask int64 6061 Foverride_redirect int32 6062 F__ccgo_pad3 [4]byte 6063 Fcolormap Colormap 6064 Fcursor Cursor 6065 } /* Xlib.h:306:3 */ 6066 6067 type XWindowAttributes = struct { 6068 Fx int32 6069 Fy int32 6070 Fwidth int32 6071 Fheight int32 6072 Fborder_width int32 6073 Fdepth int32 6074 Fvisual uintptr 6075 Froot Window 6076 Fclass int32 6077 Fbit_gravity int32 6078 Fwin_gravity int32 6079 Fbacking_store int32 6080 Fbacking_planes uint64 6081 Fbacking_pixel uint64 6082 Fsave_under int32 6083 F__ccgo_pad1 [4]byte 6084 Fcolormap Colormap 6085 Fmap_installed int32 6086 Fmap_state int32 6087 Fall_event_masks int64 6088 Fyour_event_mask int64 6089 Fdo_not_propagate_mask int64 6090 Foverride_redirect int32 6091 F__ccgo_pad2 [4]byte 6092 Fscreen uintptr 6093 } /* Xlib.h:334:3 */ 6094 6095 // Data structure for host setting; getting routines. 6096 // 6097 6098 type XHostAddress = struct { 6099 Ffamily int32 6100 Flength int32 6101 Faddress uintptr 6102 } /* Xlib.h:345:3 */ 6103 6104 // Data structure for ServerFamilyInterpreted addresses in host routines 6105 type XServerInterpretedAddress = struct { 6106 Ftypelength int32 6107 Fvaluelength int32 6108 Ftype uintptr 6109 Fvalue uintptr 6110 } /* Xlib.h:355:3 */ 6111 6112 // Data structure for "image" data, used by image manipulation routines. 6113 type X_XImage = struct { 6114 Fwidth int32 6115 Fheight int32 6116 Fxoffset int32 6117 Fformat int32 6118 Fdata uintptr 6119 Fbyte_order int32 6120 Fbitmap_unit int32 6121 Fbitmap_bit_order int32 6122 Fbitmap_pad int32 6123 Fdepth int32 6124 Fbytes_per_line int32 6125 Fbits_per_pixel int32 6126 F__ccgo_pad1 [4]byte 6127 Fred_mask uint64 6128 Fgreen_mask uint64 6129 Fblue_mask uint64 6130 Fobdata XPointer 6131 Ff struct { 6132 Fcreate_image uintptr 6133 Fdestroy_image uintptr 6134 Fget_pixel uintptr 6135 Fput_pixel uintptr 6136 Fsub_image uintptr 6137 Fadd_pixel uintptr 6138 } 6139 } /* Xlib.h:360:9 */ 6140 6141 // Data structure for "image" data, used by image manipulation routines. 6142 type Funcs = struct { 6143 Fcreate_image uintptr 6144 Fdestroy_image uintptr 6145 Fget_pixel uintptr 6146 Fput_pixel uintptr 6147 Fsub_image uintptr 6148 Fadd_pixel uintptr 6149 } /* Xlib.h:360:9 */ 6150 6151 // Data structure for "image" data, used by image manipulation routines. 6152 type XImage = X_XImage /* Xlib.h:394:3 */ 6153 6154 // Data structure for XReconfigureWindow 6155 type XWindowChanges = struct { 6156 Fx int32 6157 Fy int32 6158 Fwidth int32 6159 Fheight int32 6160 Fborder_width int32 6161 F__ccgo_pad1 [4]byte 6162 Fsibling Window 6163 Fstack_mode int32 6164 F__ccgo_pad2 [4]byte 6165 } /* Xlib.h:405:3 */ 6166 6167 // Data structure used by color operations 6168 type XColor = struct { 6169 Fpixel uint64 6170 Fred uint16 6171 Fgreen uint16 6172 Fblue uint16 6173 Fflags uint8 6174 Fpad uint8 6175 } /* Xlib.h:415:3 */ 6176 6177 // Data structures for graphics operations. On most machines, these are 6178 // congruent with the wire protocol structures, so reformatting the data 6179 // can be avoided on these architectures. 6180 type XSegment = struct { 6181 Fx1 int16 6182 Fy1 int16 6183 Fx2 int16 6184 Fy2 int16 6185 } /* Xlib.h:424:3 */ 6186 6187 type XPoint = struct { 6188 Fx int16 6189 Fy int16 6190 } /* Xlib.h:428:3 */ 6191 6192 type XRectangle = struct { 6193 Fx int16 6194 Fy int16 6195 Fwidth uint16 6196 Fheight uint16 6197 } /* Xlib.h:433:3 */ 6198 6199 type XArc = struct { 6200 Fx int16 6201 Fy int16 6202 Fwidth uint16 6203 Fheight uint16 6204 Fangle1 int16 6205 Fangle2 int16 6206 } /* Xlib.h:439:3 */ 6207 6208 // Data structure for XChangeKeyboardControl 6209 6210 type XKeyboardControl = struct { 6211 Fkey_click_percent int32 6212 Fbell_percent int32 6213 Fbell_pitch int32 6214 Fbell_duration int32 6215 Fled int32 6216 Fled_mode int32 6217 Fkey int32 6218 Fauto_repeat_mode int32 6219 } /* Xlib.h:453:3 */ 6220 6221 // Data structure for XGetKeyboardControl 6222 6223 type XKeyboardState = struct { 6224 Fkey_click_percent int32 6225 Fbell_percent int32 6226 Fbell_pitch uint32 6227 Fbell_duration uint32 6228 Fled_mask uint64 6229 Fglobal_auto_repeat int32 6230 Fauto_repeats [32]uint8 6231 F__ccgo_pad1 [4]byte 6232 } /* Xlib.h:464:3 */ 6233 6234 // Data structure for XGetMotionEvents. 6235 6236 type XTimeCoord = struct { 6237 Ftime Time 6238 Fx int16 6239 Fy int16 6240 F__ccgo_pad1 [4]byte 6241 } /* Xlib.h:471:3 */ 6242 6243 // Data structure for X{Set,Get}ModifierMapping 6244 6245 type XModifierKeymap = struct { 6246 Fmax_keypermod int32 6247 F__ccgo_pad1 [4]byte 6248 Fmodifiermap uintptr 6249 } /* Xlib.h:478:3 */ 6250 6251 // Display datatype maintaining display specific data. 6252 // The contents of this structure are implementation dependent. 6253 // A Display should be treated as opaque by application code. 6254 type Display = X_XDisplay /* Xlib.h:487:26 */ 6255 6256 type X_XPrivDisplay = uintptr /* Xlib.h:550:1 */ 6257 6258 // Definitions of specific events. 6259 type XKeyEvent = struct { 6260 Ftype int32 6261 F__ccgo_pad1 [4]byte 6262 Fserial uint64 6263 Fsend_event int32 6264 F__ccgo_pad2 [4]byte 6265 Fdisplay uintptr 6266 Fwindow Window 6267 Froot Window 6268 Fsubwindow Window 6269 Ftime Time 6270 Fx int32 6271 Fy int32 6272 Fx_root int32 6273 Fy_root int32 6274 Fstate uint32 6275 Fkeycode uint32 6276 Fsame_screen int32 6277 F__ccgo_pad3 [4]byte 6278 } /* Xlib.h:571:3 */ 6279 type XKeyPressedEvent = XKeyEvent /* Xlib.h:572:19 */ 6280 type XKeyReleasedEvent = XKeyEvent /* Xlib.h:573:19 */ 6281 6282 type XButtonEvent = struct { 6283 Ftype int32 6284 F__ccgo_pad1 [4]byte 6285 Fserial uint64 6286 Fsend_event int32 6287 F__ccgo_pad2 [4]byte 6288 Fdisplay uintptr 6289 Fwindow Window 6290 Froot Window 6291 Fsubwindow Window 6292 Ftime Time 6293 Fx int32 6294 Fy int32 6295 Fx_root int32 6296 Fy_root int32 6297 Fstate uint32 6298 Fbutton uint32 6299 Fsame_screen int32 6300 F__ccgo_pad3 [4]byte 6301 } /* Xlib.h:589:3 */ 6302 type XButtonPressedEvent = XButtonEvent /* Xlib.h:590:22 */ 6303 type XButtonReleasedEvent = XButtonEvent /* Xlib.h:591:22 */ 6304 6305 type XMotionEvent = struct { 6306 Ftype int32 6307 F__ccgo_pad1 [4]byte 6308 Fserial uint64 6309 Fsend_event int32 6310 F__ccgo_pad2 [4]byte 6311 Fdisplay uintptr 6312 Fwindow Window 6313 Froot Window 6314 Fsubwindow Window 6315 Ftime Time 6316 Fx int32 6317 Fy int32 6318 Fx_root int32 6319 Fy_root int32 6320 Fstate uint32 6321 Fis_hint uint8 6322 F__ccgo_pad3 [3]byte 6323 Fsame_screen int32 6324 F__ccgo_pad4 [4]byte 6325 } /* Xlib.h:607:3 */ 6326 type XPointerMovedEvent = XMotionEvent /* Xlib.h:608:22 */ 6327 6328 type XCrossingEvent = struct { 6329 Ftype int32 6330 F__ccgo_pad1 [4]byte 6331 Fserial uint64 6332 Fsend_event int32 6333 F__ccgo_pad2 [4]byte 6334 Fdisplay uintptr 6335 Fwindow Window 6336 Froot Window 6337 Fsubwindow Window 6338 Ftime Time 6339 Fx int32 6340 Fy int32 6341 Fx_root int32 6342 Fy_root int32 6343 Fmode int32 6344 Fdetail int32 6345 Fsame_screen int32 6346 Ffocus int32 6347 Fstate uint32 6348 F__ccgo_pad3 [4]byte 6349 } /* Xlib.h:630:3 */ 6350 type XEnterWindowEvent = XCrossingEvent /* Xlib.h:631:24 */ 6351 type XLeaveWindowEvent = XCrossingEvent /* Xlib.h:632:24 */ 6352 6353 type XFocusChangeEvent = struct { 6354 Ftype int32 6355 F__ccgo_pad1 [4]byte 6356 Fserial uint64 6357 Fsend_event int32 6358 F__ccgo_pad2 [4]byte 6359 Fdisplay uintptr 6360 Fwindow Window 6361 Fmode int32 6362 Fdetail int32 6363 } /* Xlib.h:648:3 */ 6364 type XFocusInEvent = XFocusChangeEvent /* Xlib.h:649:27 */ 6365 type XFocusOutEvent = XFocusChangeEvent /* Xlib.h:650:27 */ 6366 6367 // generated on EnterWindow and FocusIn when KeyMapState selected 6368 type XKeymapEvent = struct { 6369 Ftype int32 6370 F__ccgo_pad1 [4]byte 6371 Fserial uint64 6372 Fsend_event int32 6373 F__ccgo_pad2 [4]byte 6374 Fdisplay uintptr 6375 Fwindow Window 6376 Fkey_vector [32]uint8 6377 } /* Xlib.h:660:3 */ 6378 6379 type XExposeEvent = struct { 6380 Ftype int32 6381 F__ccgo_pad1 [4]byte 6382 Fserial uint64 6383 Fsend_event int32 6384 F__ccgo_pad2 [4]byte 6385 Fdisplay uintptr 6386 Fwindow Window 6387 Fx int32 6388 Fy int32 6389 Fwidth int32 6390 Fheight int32 6391 Fcount int32 6392 F__ccgo_pad3 [4]byte 6393 } /* Xlib.h:671:3 */ 6394 6395 type XGraphicsExposeEvent = struct { 6396 Ftype int32 6397 F__ccgo_pad1 [4]byte 6398 Fserial uint64 6399 Fsend_event int32 6400 F__ccgo_pad2 [4]byte 6401 Fdisplay uintptr 6402 Fdrawable Drawable 6403 Fx int32 6404 Fy int32 6405 Fwidth int32 6406 Fheight int32 6407 Fcount int32 6408 Fmajor_code int32 6409 Fminor_code int32 6410 F__ccgo_pad3 [4]byte 6411 } /* Xlib.h:684:3 */ 6412 6413 type XNoExposeEvent = struct { 6414 Ftype int32 6415 F__ccgo_pad1 [4]byte 6416 Fserial uint64 6417 Fsend_event int32 6418 F__ccgo_pad2 [4]byte 6419 Fdisplay uintptr 6420 Fdrawable Drawable 6421 Fmajor_code int32 6422 Fminor_code int32 6423 } /* Xlib.h:694:3 */ 6424 6425 type XVisibilityEvent = struct { 6426 Ftype int32 6427 F__ccgo_pad1 [4]byte 6428 Fserial uint64 6429 Fsend_event int32 6430 F__ccgo_pad2 [4]byte 6431 Fdisplay uintptr 6432 Fwindow Window 6433 Fstate int32 6434 F__ccgo_pad3 [4]byte 6435 } /* Xlib.h:703:3 */ 6436 6437 type XCreateWindowEvent = struct { 6438 Ftype int32 6439 F__ccgo_pad1 [4]byte 6440 Fserial uint64 6441 Fsend_event int32 6442 F__ccgo_pad2 [4]byte 6443 Fdisplay uintptr 6444 Fparent Window 6445 Fwindow Window 6446 Fx int32 6447 Fy int32 6448 Fwidth int32 6449 Fheight int32 6450 Fborder_width int32 6451 Foverride_redirect int32 6452 } /* Xlib.h:716:3 */ 6453 6454 type XDestroyWindowEvent = struct { 6455 Ftype int32 6456 F__ccgo_pad1 [4]byte 6457 Fserial uint64 6458 Fsend_event int32 6459 F__ccgo_pad2 [4]byte 6460 Fdisplay uintptr 6461 Fevent Window 6462 Fwindow Window 6463 } /* Xlib.h:725:3 */ 6464 6465 type XUnmapEvent = struct { 6466 Ftype int32 6467 F__ccgo_pad1 [4]byte 6468 Fserial uint64 6469 Fsend_event int32 6470 F__ccgo_pad2 [4]byte 6471 Fdisplay uintptr 6472 Fevent Window 6473 Fwindow Window 6474 Ffrom_configure int32 6475 F__ccgo_pad3 [4]byte 6476 } /* Xlib.h:735:3 */ 6477 6478 type XMapEvent = struct { 6479 Ftype int32 6480 F__ccgo_pad1 [4]byte 6481 Fserial uint64 6482 Fsend_event int32 6483 F__ccgo_pad2 [4]byte 6484 Fdisplay uintptr 6485 Fevent Window 6486 Fwindow Window 6487 Foverride_redirect int32 6488 F__ccgo_pad3 [4]byte 6489 } /* Xlib.h:745:3 */ 6490 6491 type XMapRequestEvent = struct { 6492 Ftype int32 6493 F__ccgo_pad1 [4]byte 6494 Fserial uint64 6495 Fsend_event int32 6496 F__ccgo_pad2 [4]byte 6497 Fdisplay uintptr 6498 Fparent Window 6499 Fwindow Window 6500 } /* Xlib.h:754:3 */ 6501 6502 type XReparentEvent = struct { 6503 Ftype int32 6504 F__ccgo_pad1 [4]byte 6505 Fserial uint64 6506 Fsend_event int32 6507 F__ccgo_pad2 [4]byte 6508 Fdisplay uintptr 6509 Fevent Window 6510 Fwindow Window 6511 Fparent Window 6512 Fx int32 6513 Fy int32 6514 Foverride_redirect int32 6515 F__ccgo_pad3 [4]byte 6516 } /* Xlib.h:766:3 */ 6517 6518 type XConfigureEvent = struct { 6519 Ftype int32 6520 F__ccgo_pad1 [4]byte 6521 Fserial uint64 6522 Fsend_event int32 6523 F__ccgo_pad2 [4]byte 6524 Fdisplay uintptr 6525 Fevent Window 6526 Fwindow Window 6527 Fx int32 6528 Fy int32 6529 Fwidth int32 6530 Fheight int32 6531 Fborder_width int32 6532 F__ccgo_pad3 [4]byte 6533 Fabove Window 6534 Foverride_redirect int32 6535 F__ccgo_pad4 [4]byte 6536 } /* Xlib.h:780:3 */ 6537 6538 type XGravityEvent = struct { 6539 Ftype int32 6540 F__ccgo_pad1 [4]byte 6541 Fserial uint64 6542 Fsend_event int32 6543 F__ccgo_pad2 [4]byte 6544 Fdisplay uintptr 6545 Fevent Window 6546 Fwindow Window 6547 Fx int32 6548 Fy int32 6549 } /* Xlib.h:790:3 */ 6550 6551 type XResizeRequestEvent = struct { 6552 Ftype int32 6553 F__ccgo_pad1 [4]byte 6554 Fserial uint64 6555 Fsend_event int32 6556 F__ccgo_pad2 [4]byte 6557 Fdisplay uintptr 6558 Fwindow Window 6559 Fwidth int32 6560 Fheight int32 6561 } /* Xlib.h:799:3 */ 6562 6563 type XConfigureRequestEvent = struct { 6564 Ftype int32 6565 F__ccgo_pad1 [4]byte 6566 Fserial uint64 6567 Fsend_event int32 6568 F__ccgo_pad2 [4]byte 6569 Fdisplay uintptr 6570 Fparent Window 6571 Fwindow Window 6572 Fx int32 6573 Fy int32 6574 Fwidth int32 6575 Fheight int32 6576 Fborder_width int32 6577 F__ccgo_pad3 [4]byte 6578 Fabove Window 6579 Fdetail int32 6580 F__ccgo_pad4 [4]byte 6581 Fvalue_mask uint64 6582 } /* Xlib.h:814:3 */ 6583 6584 type XCirculateEvent = struct { 6585 Ftype int32 6586 F__ccgo_pad1 [4]byte 6587 Fserial uint64 6588 Fsend_event int32 6589 F__ccgo_pad2 [4]byte 6590 Fdisplay uintptr 6591 Fevent Window 6592 Fwindow Window 6593 Fplace int32 6594 F__ccgo_pad3 [4]byte 6595 } /* Xlib.h:824:3 */ 6596 6597 type XCirculateRequestEvent = struct { 6598 Ftype int32 6599 F__ccgo_pad1 [4]byte 6600 Fserial uint64 6601 Fsend_event int32 6602 F__ccgo_pad2 [4]byte 6603 Fdisplay uintptr 6604 Fparent Window 6605 Fwindow Window 6606 Fplace int32 6607 F__ccgo_pad3 [4]byte 6608 } /* Xlib.h:834:3 */ 6609 6610 type XPropertyEvent = struct { 6611 Ftype int32 6612 F__ccgo_pad1 [4]byte 6613 Fserial uint64 6614 Fsend_event int32 6615 F__ccgo_pad2 [4]byte 6616 Fdisplay uintptr 6617 Fwindow Window 6618 Fatom Atom 6619 Ftime Time 6620 Fstate int32 6621 F__ccgo_pad3 [4]byte 6622 } /* Xlib.h:845:3 */ 6623 6624 type XSelectionClearEvent = struct { 6625 Ftype int32 6626 F__ccgo_pad1 [4]byte 6627 Fserial uint64 6628 Fsend_event int32 6629 F__ccgo_pad2 [4]byte 6630 Fdisplay uintptr 6631 Fwindow Window 6632 Fselection Atom 6633 Ftime Time 6634 } /* Xlib.h:855:3 */ 6635 6636 type XSelectionRequestEvent = struct { 6637 Ftype int32 6638 F__ccgo_pad1 [4]byte 6639 Fserial uint64 6640 Fsend_event int32 6641 F__ccgo_pad2 [4]byte 6642 Fdisplay uintptr 6643 Fowner Window 6644 Frequestor Window 6645 Fselection Atom 6646 Ftarget Atom 6647 Fproperty Atom 6648 Ftime Time 6649 } /* Xlib.h:868:3 */ 6650 6651 type XSelectionEvent = struct { 6652 Ftype int32 6653 F__ccgo_pad1 [4]byte 6654 Fserial uint64 6655 Fsend_event int32 6656 F__ccgo_pad2 [4]byte 6657 Fdisplay uintptr 6658 Frequestor Window 6659 Fselection Atom 6660 Ftarget Atom 6661 Fproperty Atom 6662 Ftime Time 6663 } /* Xlib.h:880:3 */ 6664 6665 type XColormapEvent = struct { 6666 Ftype int32 6667 F__ccgo_pad1 [4]byte 6668 Fserial uint64 6669 Fsend_event int32 6670 F__ccgo_pad2 [4]byte 6671 Fdisplay uintptr 6672 Fwindow Window 6673 Fcolormap Colormap 6674 Fnew int32 6675 Fstate int32 6676 } /* Xlib.h:895:3 */ 6677 6678 type XClientMessageEvent = struct { 6679 Ftype int32 6680 F__ccgo_pad1 [4]byte 6681 Fserial uint64 6682 Fsend_event int32 6683 F__ccgo_pad2 [4]byte 6684 Fdisplay uintptr 6685 Fwindow Window 6686 Fmessage_type Atom 6687 Fformat int32 6688 F__ccgo_pad3 [4]byte 6689 Fdata struct { 6690 F__ccgo_pad1 [0]uint64 6691 Fb [20]uint8 6692 F__ccgo_pad2 [20]byte 6693 } 6694 } /* Xlib.h:910:3 */ 6695 6696 type XMappingEvent = struct { 6697 Ftype int32 6698 F__ccgo_pad1 [4]byte 6699 Fserial uint64 6700 Fsend_event int32 6701 F__ccgo_pad2 [4]byte 6702 Fdisplay uintptr 6703 Fwindow Window 6704 Frequest int32 6705 Ffirst_keycode int32 6706 Fcount int32 6707 F__ccgo_pad3 [4]byte 6708 } /* Xlib.h:922:3 */ 6709 6710 type XErrorEvent = struct { 6711 Ftype int32 6712 F__ccgo_pad1 [4]byte 6713 Fdisplay uintptr 6714 Fresourceid XID 6715 Fserial uint64 6716 Ferror_code uint8 6717 Frequest_code uint8 6718 Fminor_code uint8 6719 F__ccgo_pad2 [5]byte 6720 } /* Xlib.h:932:3 */ 6721 6722 type XAnyEvent = struct { 6723 Ftype int32 6724 F__ccgo_pad1 [4]byte 6725 Fserial uint64 6726 Fsend_event int32 6727 F__ccgo_pad2 [4]byte 6728 Fdisplay uintptr 6729 Fwindow Window 6730 } /* Xlib.h:940:3 */ 6731 6732 // ************************************************************** 6733 // 6734 // 6735 // GenericEvent. This event is the standard event for all newer extensions. 6736 6737 type XGenericEvent = struct { 6738 Ftype int32 6739 F__ccgo_pad1 [4]byte 6740 Fserial uint64 6741 Fsend_event int32 6742 F__ccgo_pad2 [4]byte 6743 Fdisplay uintptr 6744 Fextension int32 6745 Fevtype int32 6746 } /* Xlib.h:956:7 */ 6747 6748 type XGenericEventCookie = struct { 6749 Ftype int32 6750 F__ccgo_pad1 [4]byte 6751 Fserial uint64 6752 Fsend_event int32 6753 F__ccgo_pad2 [4]byte 6754 Fdisplay uintptr 6755 Fextension int32 6756 Fevtype int32 6757 Fcookie uint32 6758 F__ccgo_pad3 [4]byte 6759 Fdata uintptr 6760 } /* Xlib.h:967:3 */ 6761 6762 // this union is defined so Xlib can always use the same sized 6763 // event structure internally, to avoid memory fragmentation. 6764 type X_XEvent = struct { 6765 F__ccgo_pad1 [0]uint64 6766 Ftype int32 6767 F__ccgo_pad2 [188]byte 6768 } /* Xlib.h:255:1 */ 6769 6770 // this union is defined so Xlib can always use the same sized 6771 // event structure internally, to avoid memory fragmentation. 6772 type XEvent = X_XEvent /* Xlib.h:1009:3 */ 6773 6774 // per character font metric information. 6775 type XCharStruct = struct { 6776 Flbearing int16 6777 Frbearing int16 6778 Fwidth int16 6779 Fascent int16 6780 Fdescent int16 6781 Fattributes uint16 6782 } /* Xlib.h:1024:3 */ 6783 6784 // To allow arbitrary information with fonts, there are additional properties 6785 // returned. 6786 type XFontProp = struct { 6787 Fname Atom 6788 Fcard32 uint64 6789 } /* Xlib.h:1033:3 */ 6790 6791 type XFontStruct = struct { 6792 Fext_data uintptr 6793 Ffid Font 6794 Fdirection uint32 6795 Fmin_char_or_byte2 uint32 6796 Fmax_char_or_byte2 uint32 6797 Fmin_byte1 uint32 6798 Fmax_byte1 uint32 6799 Fall_chars_exist int32 6800 Fdefault_char uint32 6801 Fn_properties int32 6802 Fproperties uintptr 6803 Fmin_bounds XCharStruct 6804 Fmax_bounds XCharStruct 6805 Fper_char uintptr 6806 Fascent int32 6807 Fdescent int32 6808 } /* Xlib.h:1052:3 */ 6809 6810 // PolyText routines take these as arguments. 6811 type XTextItem = struct { 6812 Fchars uintptr 6813 Fnchars int32 6814 Fdelta int32 6815 Ffont Font 6816 } /* Xlib.h:1062:3 */ 6817 6818 type XChar2b = struct { 6819 Fbyte1 uint8 6820 Fbyte2 uint8 6821 } /* Xlib.h:1067:3 */ 6822 6823 type XTextItem16 = struct { 6824 Fchars uintptr 6825 Fnchars int32 6826 Fdelta int32 6827 Ffont Font 6828 } /* Xlib.h:1074:3 */ 6829 6830 type XEDataObject = struct{ Fdisplay uintptr } /* Xlib.h:1082:24 */ 6831 6832 type XFontSetExtents = struct { 6833 Fmax_ink_extent XRectangle 6834 Fmax_logical_extent XRectangle 6835 } /* Xlib.h:1087:3 */ 6836 6837 // unused: 6838 // typedef void (*XOMProc)(); 6839 // 6840 6841 type XOM = uintptr /* Xlib.h:1093:21 */ 6842 type XOC = uintptr /* Xlib.h:1094:21 */ 6843 type XFontSet = uintptr /* Xlib.h:1094:27 */ 6844 6845 type XmbTextItem = struct { 6846 Fchars uintptr 6847 Fnchars int32 6848 Fdelta int32 6849 Ffont_set XFontSet 6850 } /* Xlib.h:1101:3 */ 6851 6852 type XwcTextItem = struct { 6853 Fchars uintptr 6854 Fnchars int32 6855 Fdelta int32 6856 Ffont_set XFontSet 6857 } /* Xlib.h:1108:3 */ 6858 6859 type XOMCharSetList = struct { 6860 Fcharset_count int32 6861 F__ccgo_pad1 [4]byte 6862 Fcharset_list uintptr 6863 } /* Xlib.h:1124:3 */ 6864 6865 type XOrientation = uint32 /* Xlib.h:1132:3 */ 6866 6867 type XOMOrientation = struct { 6868 Fnum_orientation int32 6869 F__ccgo_pad1 [4]byte 6870 Forientation uintptr 6871 } /* Xlib.h:1137:3 */ 6872 6873 type XOMFontInfo = struct { 6874 Fnum_font int32 6875 F__ccgo_pad1 [4]byte 6876 Ffont_struct_list uintptr 6877 Ffont_name_list uintptr 6878 } /* Xlib.h:1143:3 */ 6879 6880 type XIM = uintptr /* Xlib.h:1145:21 */ 6881 type XIC = uintptr /* Xlib.h:1146:21 */ 6882 6883 type XIMProc = uintptr /* Xlib.h:1148:14 */ 6884 6885 type XICProc = uintptr /* Xlib.h:1154:14 */ 6886 6887 type XIDProc = uintptr /* Xlib.h:1160:14 */ 6888 6889 type XIMStyle = uint64 /* Xlib.h:1166:23 */ 6890 6891 type XIMStyles = struct { 6892 Fcount_styles uint16 6893 F__ccgo_pad1 [6]byte 6894 Fsupported_styles uintptr 6895 } /* Xlib.h:1171:3 */ 6896 6897 type XVaNestedList = uintptr /* Xlib.h:1233:14 */ 6898 6899 type XIMCallback = struct { 6900 Fclient_data XPointer 6901 Fcallback XIMProc 6902 } /* Xlib.h:1238:3 */ 6903 6904 type XICCallback = struct { 6905 Fclient_data XPointer 6906 Fcallback XICProc 6907 } /* Xlib.h:1243:3 */ 6908 6909 type XIMFeedback = uint64 /* Xlib.h:1245:23 */ 6910 6911 type X_XIMText = struct { 6912 Flength uint16 6913 F__ccgo_pad1 [6]byte 6914 Ffeedback uintptr 6915 Fencoding_is_wchar int32 6916 F__ccgo_pad2 [4]byte 6917 Fstring struct{ Fmulti_byte uintptr } 6918 } /* Xlib.h:1257:9 */ 6919 6920 type XIMText = X_XIMText /* Xlib.h:1265:3 */ 6921 6922 type XIMPreeditState = uint64 /* Xlib.h:1267:24 */ 6923 6924 type X_XIMPreeditStateNotifyCallbackStruct = struct{ Fstate XIMPreeditState } /* Xlib.h:1273:9 */ 6925 6926 type XIMPreeditStateNotifyCallbackStruct = X_XIMPreeditStateNotifyCallbackStruct /* Xlib.h:1275:3 */ 6927 6928 type XIMResetState = uint64 /* Xlib.h:1277:24 */ 6929 6930 type XIMStringConversionFeedback = uint64 /* Xlib.h:1282:23 */ 6931 6932 type X_XIMStringConversionText = struct { 6933 Flength uint16 6934 F__ccgo_pad1 [6]byte 6935 Ffeedback uintptr 6936 Fencoding_is_wchar int32 6937 F__ccgo_pad2 [4]byte 6938 Fstring struct{ Fmbs uintptr } 6939 } /* Xlib.h:1291:9 */ 6940 6941 type XIMStringConversionText = X_XIMStringConversionText /* Xlib.h:1299:3 */ 6942 6943 type XIMStringConversionPosition = uint16 /* Xlib.h:1301:24 */ 6944 6945 type XIMStringConversionType = uint16 /* Xlib.h:1303:24 */ 6946 6947 type XIMStringConversionOperation = uint16 /* Xlib.h:1310:24 */ 6948 6949 type XIMCaretDirection = uint32 /* Xlib.h:1323:3 */ 6950 6951 type X_XIMStringConversionCallbackStruct = struct { 6952 Fposition XIMStringConversionPosition 6953 F__ccgo_pad1 [2]byte 6954 Fdirection XIMCaretDirection 6955 Foperation XIMStringConversionOperation 6956 Ffactor uint16 6957 F__ccgo_pad2 [4]byte 6958 Ftext uintptr 6959 } /* Xlib.h:1325:9 */ 6960 6961 type XIMStringConversionCallbackStruct = X_XIMStringConversionCallbackStruct /* Xlib.h:1331:3 */ 6962 6963 type X_XIMPreeditDrawCallbackStruct = struct { 6964 Fcaret int32 6965 Fchg_first int32 6966 Fchg_length int32 6967 F__ccgo_pad1 [4]byte 6968 Ftext uintptr 6969 } /* Xlib.h:1333:9 */ 6970 6971 type XIMPreeditDrawCallbackStruct = X_XIMPreeditDrawCallbackStruct /* Xlib.h:1338:3 */ 6972 6973 type XIMCaretStyle = uint32 /* Xlib.h:1344:3 */ 6974 6975 type X_XIMPreeditCaretCallbackStruct = struct { 6976 Fposition int32 6977 Fdirection XIMCaretDirection 6978 Fstyle XIMCaretStyle 6979 } /* Xlib.h:1346:9 */ 6980 6981 type XIMPreeditCaretCallbackStruct = X_XIMPreeditCaretCallbackStruct /* Xlib.h:1350:3 */ 6982 6983 type XIMStatusDataType = uint32 /* Xlib.h:1355:3 */ 6984 6985 type X_XIMStatusDrawCallbackStruct = struct { 6986 Ftype XIMStatusDataType 6987 F__ccgo_pad1 [4]byte 6988 Fdata struct{ Ftext uintptr } 6989 } /* Xlib.h:1357:9 */ 6990 6991 type XIMStatusDrawCallbackStruct = X_XIMStatusDrawCallbackStruct /* Xlib.h:1363:3 */ 6992 6993 type X_XIMHotKeyTrigger = struct { 6994 Fkeysym KeySym 6995 Fmodifier int32 6996 Fmodifier_mask int32 6997 } /* Xlib.h:1365:9 */ 6998 6999 type XIMHotKeyTrigger = X_XIMHotKeyTrigger /* Xlib.h:1369:3 */ 7000 7001 type X_XIMHotKeyTriggers = struct { 7002 Fnum_hot_key int32 7003 F__ccgo_pad1 [4]byte 7004 Fkey uintptr 7005 } /* Xlib.h:1371:9 */ 7006 7007 type XIMHotKeyTriggers = X_XIMHotKeyTriggers /* Xlib.h:1374:3 */ 7008 7009 type XIMHotKeyState = uint64 /* Xlib.h:1376:24 */ 7010 7011 type XIMValuesList = struct { 7012 Fcount_values uint16 7013 F__ccgo_pad1 [6]byte 7014 Fsupported_values uintptr 7015 } /* Xlib.h:1384:3 */ 7016 7017 type XErrorHandler = uintptr /* Xlib.h:1843:13 */ 7018 7019 type XIOErrorHandler = uintptr /* Xlib.h:1853:13 */ 7020 7021 type XConnectionWatchProc = uintptr /* Xlib.h:3949:14 */ 7022 7023 // Definitions for the X window system used by server and c bindings 7024 7025 // This packet-construction scheme makes the following assumptions: 7026 // 7027 // 1. The compiler is able 7028 // to generate code which addresses one- and two-byte quantities. 7029 // In the worst case, this would be done with bit-fields. If bit-fields 7030 // are used it may be necessary to reorder the request fields in this file, 7031 // depending on the order in which the machine assigns bit fields to 7032 // machine words. There may also be a problem with sign extension, 7033 // as K+R specify that bitfields are always unsigned. 7034 // 7035 // 2. 2- and 4-byte fields in packet structures must be ordered by hand 7036 // such that they are naturally-aligned, so that no compiler will ever 7037 // insert padding bytes. 7038 // 7039 // 3. All packets are hand-padded to a multiple of 4 bytes, for 7040 // the same reason. 7041 7042 //********************************************************** 7043 // 7044 // Copyright 1987, 1998 The Open Group 7045 // 7046 // Permission to use, copy, modify, distribute, and sell this software and its 7047 // documentation for any purpose is hereby granted without fee, provided that 7048 // the above copyright notice appear in all copies and that both that 7049 // copyright notice and this permission notice appear in supporting 7050 // documentation. 7051 // 7052 // The above copyright notice and this permission notice shall be included in 7053 // all copies or substantial portions of the Software. 7054 // 7055 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7056 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7057 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7058 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7059 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7060 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7061 // 7062 // Except as contained in this notice, the name of The Open Group shall not be 7063 // used in advertising or otherwise to promote the sale, use or other dealings 7064 // in this Software without prior written authorization from The Open Group. 7065 // 7066 // 7067 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7068 // 7069 // All Rights Reserved 7070 // 7071 // Permission to use, copy, modify, and distribute this software and its 7072 // documentation for any purpose and without fee is hereby granted, 7073 // provided that the above copyright notice appear in all copies and that 7074 // both that copyright notice and this permission notice appear in 7075 // supporting documentation, and that the name of Digital not be 7076 // used in advertising or publicity pertaining to distribution of the 7077 // software without specific, written prior permission. 7078 // 7079 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7080 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7081 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7082 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7083 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7084 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7085 // SOFTWARE. 7086 // 7087 // ***************************************************************** 7088 7089 //********************************************************** 7090 // 7091 // Copyright 1987, 1998 The Open Group 7092 // 7093 // Permission to use, copy, modify, distribute, and sell this software and its 7094 // documentation for any purpose is hereby granted without fee, provided that 7095 // the above copyright notice appear in all copies and that both that 7096 // copyright notice and this permission notice appear in supporting 7097 // documentation. 7098 // 7099 // The above copyright notice and this permission notice shall be included in 7100 // all copies or substantial portions of the Software. 7101 // 7102 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7103 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7104 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7105 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7106 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7107 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7108 // 7109 // Except as contained in this notice, the name of The Open Group shall not be 7110 // used in advertising or otherwise to promote the sale, use or other dealings 7111 // in this Software without prior written authorization from The Open Group. 7112 // 7113 // 7114 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7115 // 7116 // All Rights Reserved 7117 // 7118 // Permission to use, copy, modify, and distribute this software and its 7119 // documentation for any purpose and without fee is hereby granted, 7120 // provided that the above copyright notice appear in all copies and that 7121 // both that copyright notice and this permission notice appear in 7122 // supporting documentation, and that the name of Digital not be 7123 // used in advertising or publicity pertaining to distribution of the 7124 // software without specific, written prior permission. 7125 // 7126 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7127 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7128 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7129 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7130 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7131 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7132 // SOFTWARE. 7133 // 7134 // ***************************************************************** 7135 // Xmd.h: MACHINE DEPENDENT DECLARATIONS. 7136 7137 // Special per-machine configuration flags. 7138 7139 // Definition of macro used to set constants for size of network structures; 7140 // machines with preprocessors that can't handle all of the sz_ symbols 7141 // can define this macro to be sizeof(x) if and only if their compiler doesn't 7142 // pad out structures (esp. the xTextElt structure which contains only two 7143 // one-byte fields). Network structures should always define sz_symbols. 7144 // 7145 // The sz_ prefix is used instead of something more descriptive so that the 7146 // symbols are no more than 32 characters long (which causes problems for some 7147 // compilers and preprocessors). 7148 // 7149 // The extra indirection is to get macro arguments to expand correctly before 7150 // the concatenation, rather than afterward. 7151 7152 // Bitfield suffixes for the protocol structure elements, if you 7153 // need them. Note that bitfields are not guaranteed to be signed 7154 // (or even unsigned) according to ANSI C. 7155 type INT64 = int64 /* Xmd.h:97:14 */ 7156 type INT32 = int32 /* Xmd.h:98:13 */ 7157 type INT16 = int16 /* Xmd.h:102:15 */ 7158 7159 type INT8 = int8 /* Xmd.h:104:24 */ 7160 7161 type CARD64 = uint64 /* Xmd.h:107:23 */ 7162 type CARD32 = uint32 /* Xmd.h:108:22 */ 7163 type CARD16 = uint16 /* Xmd.h:113:24 */ 7164 type CARD8 = uint8 /* Xmd.h:114:24 */ 7165 7166 type BITS32 = CARD32 /* Xmd.h:116:17 */ 7167 type BITS16 = CARD16 /* Xmd.h:117:17 */ 7168 7169 type BYTE = CARD8 /* Xmd.h:119:16 */ 7170 type BOOL = CARD8 /* Xmd.h:120:16 */ 7171 7172 // was definitions for sign-extending bitfields on architectures without 7173 // native types smaller than 64-bit, now just backwards compatibility 7174 7175 // this version should leave result of type (t *), but that should only be 7176 // used when not in MUSTCOPY 7177 7178 //********************************************************** 7179 // 7180 // Copyright 1987, 1998 The Open Group 7181 // 7182 // Permission to use, copy, modify, distribute, and sell this software and its 7183 // documentation for any purpose is hereby granted without fee, provided that 7184 // the above copyright notice appear in all copies and that both that 7185 // copyright notice and this permission notice appear in supporting 7186 // documentation. 7187 // 7188 // The above copyright notice and this permission notice shall be included in 7189 // all copies or substantial portions of the Software. 7190 // 7191 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7192 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7193 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7194 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7195 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7196 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7197 // 7198 // Except as contained in this notice, the name of The Open Group shall not be 7199 // used in advertising or otherwise to promote the sale, use or other dealings 7200 // in this Software without prior written authorization from The Open Group. 7201 // 7202 // 7203 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7204 // 7205 // All Rights Reserved 7206 // 7207 // Permission to use, copy, modify, and distribute this software and its 7208 // documentation for any purpose and without fee is hereby granted, 7209 // provided that the above copyright notice appear in all copies and that 7210 // both that copyright notice and this permission notice appear in 7211 // supporting documentation, and that the name of Digital not be 7212 // used in advertising or publicity pertaining to distribution of the 7213 // software without specific, written prior permission. 7214 // 7215 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7216 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7217 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7218 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7219 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7220 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7221 // SOFTWARE. 7222 // 7223 // ***************************************************************** 7224 //********************************************************** 7225 // 7226 // Copyright 1987, 1998 The Open Group 7227 // 7228 // Permission to use, copy, modify, distribute, and sell this software and its 7229 // documentation for any purpose is hereby granted without fee, provided that 7230 // the above copyright notice appear in all copies and that both that 7231 // copyright notice and this permission notice appear in supporting 7232 // documentation. 7233 // 7234 // The above copyright notice and this permission notice shall be included in 7235 // all copies or substantial portions of the Software. 7236 // 7237 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7238 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7239 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7240 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7241 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7242 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7243 // 7244 // Except as contained in this notice, the name of The Open Group shall not be 7245 // used in advertising or otherwise to promote the sale, use or other dealings 7246 // in this Software without prior written authorization from The Open Group. 7247 // 7248 // 7249 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7250 // 7251 // All Rights Reserved 7252 // 7253 // Permission to use, copy, modify, and distribute this software and its 7254 // documentation for any purpose and without fee is hereby granted, 7255 // provided that the above copyright notice appear in all copies and that 7256 // both that copyright notice and this permission notice appear in 7257 // supporting documentation, and that the name of Digital not be 7258 // used in advertising or publicity pertaining to distribution of the 7259 // software without specific, written prior permission. 7260 // 7261 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7262 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7263 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7264 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7265 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7266 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7267 // SOFTWARE. 7268 // 7269 // ***************************************************************** 7270 7271 // Used by PolySegment 7272 7273 type X_xSegment = struct { 7274 Fx1 INT16 7275 Fy1 INT16 7276 Fx2 INT16 7277 Fy2 INT16 7278 } /* Xprotostr.h:54:9 */ 7279 7280 // was definitions for sign-extending bitfields on architectures without 7281 // native types smaller than 64-bit, now just backwards compatibility 7282 7283 // this version should leave result of type (t *), but that should only be 7284 // used when not in MUSTCOPY 7285 7286 //********************************************************** 7287 // 7288 // Copyright 1987, 1998 The Open Group 7289 // 7290 // Permission to use, copy, modify, distribute, and sell this software and its 7291 // documentation for any purpose is hereby granted without fee, provided that 7292 // the above copyright notice appear in all copies and that both that 7293 // copyright notice and this permission notice appear in supporting 7294 // documentation. 7295 // 7296 // The above copyright notice and this permission notice shall be included in 7297 // all copies or substantial portions of the Software. 7298 // 7299 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7300 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7301 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7302 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7303 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7304 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7305 // 7306 // Except as contained in this notice, the name of The Open Group shall not be 7307 // used in advertising or otherwise to promote the sale, use or other dealings 7308 // in this Software without prior written authorization from The Open Group. 7309 // 7310 // 7311 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7312 // 7313 // All Rights Reserved 7314 // 7315 // Permission to use, copy, modify, and distribute this software and its 7316 // documentation for any purpose and without fee is hereby granted, 7317 // provided that the above copyright notice appear in all copies and that 7318 // both that copyright notice and this permission notice appear in 7319 // supporting documentation, and that the name of Digital not be 7320 // used in advertising or publicity pertaining to distribution of the 7321 // software without specific, written prior permission. 7322 // 7323 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7324 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7325 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7326 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7327 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7328 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7329 // SOFTWARE. 7330 // 7331 // ***************************************************************** 7332 //********************************************************** 7333 // 7334 // Copyright 1987, 1998 The Open Group 7335 // 7336 // Permission to use, copy, modify, distribute, and sell this software and its 7337 // documentation for any purpose is hereby granted without fee, provided that 7338 // the above copyright notice appear in all copies and that both that 7339 // copyright notice and this permission notice appear in supporting 7340 // documentation. 7341 // 7342 // The above copyright notice and this permission notice shall be included in 7343 // all copies or substantial portions of the Software. 7344 // 7345 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7346 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7347 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7348 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7349 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7350 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7351 // 7352 // Except as contained in this notice, the name of The Open Group shall not be 7353 // used in advertising or otherwise to promote the sale, use or other dealings 7354 // in this Software without prior written authorization from The Open Group. 7355 // 7356 // 7357 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7358 // 7359 // All Rights Reserved 7360 // 7361 // Permission to use, copy, modify, and distribute this software and its 7362 // documentation for any purpose and without fee is hereby granted, 7363 // provided that the above copyright notice appear in all copies and that 7364 // both that copyright notice and this permission notice appear in 7365 // supporting documentation, and that the name of Digital not be 7366 // used in advertising or publicity pertaining to distribution of the 7367 // software without specific, written prior permission. 7368 // 7369 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7370 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7371 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7372 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7373 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7374 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7375 // SOFTWARE. 7376 // 7377 // ***************************************************************** 7378 7379 // Used by PolySegment 7380 7381 type XSegment1 = X_xSegment /* Xprotostr.h:56:3 */ 7382 7383 // POINT 7384 7385 type X_xPoint = struct { 7386 Fx INT16 7387 Fy INT16 7388 } /* Xprotostr.h:60:9 */ 7389 7390 // POINT 7391 7392 type XPoint1 = X_xPoint /* Xprotostr.h:62:3 */ 7393 7394 type X_xRectangle = struct { 7395 Fx INT16 7396 Fy INT16 7397 Fwidth CARD16 7398 Fheight CARD16 7399 } /* Xprotostr.h:64:9 */ 7400 7401 type XRectangle1 = X_xRectangle /* Xprotostr.h:67:3 */ 7402 7403 // ARC 7404 7405 type X_xArc = struct { 7406 Fx INT16 7407 Fy INT16 7408 Fwidth CARD16 7409 Fheight CARD16 7410 Fangle1 INT16 7411 Fangle2 INT16 7412 } /* Xprotostr.h:71:9 */ 7413 7414 // ARC 7415 7416 type XArc1 = X_xArc /* Xprotostr.h:75:3 */ 7417 7418 // Define constants for the sizes of the network packets. The sz_ prefix is 7419 // used instead of something more descriptive so that the symbols are no more 7420 // than 32 characters in length (which causes problems for some compilers). 7421 7422 // For the purpose of the structure definitions in this file, 7423 // we must redefine the following types in terms of Xmd.h's types, which may 7424 // include bit fields. All of these are #undef'd at the end of this file, 7425 // restoring the definitions in X.h. 7426 7427 type KeyButMask = CARD16 /* Xproto.h:259:16 */ 7428 7429 //**************** 7430 // Connection setup structures. See Chapter 8: Connection Setup 7431 // of the X Window System Protocol specification for details. 7432 // **************** 7433 7434 // Client initiates handshake with this data, followed by the strings 7435 // for the auth protocol & data. 7436 type XConnClientPrefix = struct { 7437 FbyteOrder CARD8 7438 Fpad BYTE 7439 FmajorVersion CARD16 7440 FminorVersion CARD16 7441 FnbytesAuthProto CARD16 7442 FnbytesAuthString CARD16 7443 Fpad2 CARD16 7444 } /* Xproto.h:276:3 */ 7445 7446 // Server response to xConnClientPrefix. 7447 // 7448 // If success == Success, this is followed by xConnSetup and 7449 // numRoots xWindowRoot structs. 7450 // 7451 // If success == Failure, this is followed by a reason string. 7452 // 7453 // The protocol also defines a case of success == Authenticate, but 7454 // that doesn't seem to have ever been implemented by the X Consortium. 7455 type XConnSetupPrefix = struct { 7456 Fsuccess CARD8 7457 FlengthReason BYTE 7458 FmajorVersion CARD16 7459 FminorVersion CARD16 7460 Flength CARD16 7461 } /* Xproto.h:294:3 */ 7462 7463 type XConnSetup = struct { 7464 Frelease CARD32 7465 FridBase CARD32 7466 FridMask CARD32 7467 FmotionBufferSize CARD32 7468 FnbytesVendor CARD16 7469 FmaxRequestSize CARD16 7470 FnumRoots CARD8 7471 FnumFormats CARD8 7472 FimageByteOrder CARD8 7473 FbitmapBitOrder CARD8 7474 FbitmapScanlineUnit CARD8 7475 FbitmapScanlinePad CARD8 7476 FminKeyCode CARD8 7477 FmaxKeyCode CARD8 7478 Fpad2 CARD32 7479 } /* Xproto.h:312:3 */ 7480 7481 type XPixmapFormat = struct { 7482 Fdepth CARD8 7483 FbitsPerPixel CARD8 7484 FscanLinePad CARD8 7485 Fpad1 CARD8 7486 Fpad2 CARD32 7487 } /* Xproto.h:320:3 */ 7488 7489 // window root 7490 7491 type XDepth = struct { 7492 Fdepth CARD8 7493 Fpad1 CARD8 7494 FnVisuals CARD16 7495 Fpad2 CARD32 7496 } /* Xproto.h:329:7 */ 7497 7498 type XVisualType = struct { 7499 FvisualID CARD32 7500 Fclass CARD8 7501 FbitsPerRGB CARD8 7502 FcolormapEntries CARD16 7503 FredMask CARD32 7504 FgreenMask CARD32 7505 FblueMask CARD32 7506 Fpad CARD32 7507 } /* Xproto.h:342:7 */ 7508 7509 type XWindowRoot = struct { 7510 FwindowId CARD32 7511 FdefaultColormap CARD32 7512 FwhitePixel CARD32 7513 FblackPixel CARD32 7514 FcurrentInputMask CARD32 7515 FpixWidth CARD16 7516 FpixHeight CARD16 7517 FmmWidth CARD16 7518 FmmHeight CARD16 7519 FminInstalledMaps CARD16 7520 FmaxInstalledMaps CARD16 7521 FrootVisualID CARD32 7522 FbackingStore CARD8 7523 FsaveUnders BOOL 7524 FrootDepth CARD8 7525 FnDepths CARD8 7526 } /* Xproto.h:357:3 */ 7527 7528 // **************************************************************** 7529 // 7530 // Structure Defns 7531 // Structures needed for replies 7532 // 7533 7534 // Used in GetMotionEvents 7535 7536 type XTimecoord = struct { 7537 Ftime CARD32 7538 Fx INT16 7539 Fy INT16 7540 } /* Xproto.h:370:3 */ 7541 7542 type XHostEntry = struct { 7543 Ffamily CARD8 7544 Fpad BYTE 7545 Flength CARD16 7546 } /* Xproto.h:376:3 */ 7547 7548 type XCharInfo = struct { 7549 FleftSideBearing INT16 7550 FrightSideBearing INT16 7551 FcharacterWidth INT16 7552 Fascent INT16 7553 Fdescent INT16 7554 Fattributes CARD16 7555 } /* Xproto.h:385:3 */ 7556 7557 type XFontProp1 = struct { 7558 Fname CARD32 7559 Fvalue CARD32 7560 } /* Xproto.h:390:3 */ 7561 7562 // non-aligned big-endian font ID follows this struct 7563 type XTextElt = struct { 7564 Flen CARD8 7565 Fdelta INT8 7566 } /* Xproto.h:399:3 */ 7567 7568 type XColorItem = struct { 7569 Fpixel CARD32 7570 Fred CARD16 7571 Fgreen CARD16 7572 Fblue CARD16 7573 Fflags CARD8 7574 Fpad CARD8 7575 } /* Xproto.h:407:3 */ 7576 7577 type Xrgb = struct { 7578 Fred CARD16 7579 Fgreen CARD16 7580 Fblue CARD16 7581 Fpad CARD16 7582 } /* Xproto.h:412:3 */ 7583 7584 type KEYCODE = CARD8 /* Xproto.h:414:15 */ 7585 7586 // **************** 7587 // 7588 // XRep: 7589 // meant to be 32 byte quantity 7590 // 7591 7592 // GenericReply is the common format of all replies. The "data" items 7593 // are specific to each individual reply type. 7594 7595 type XGenericReply = struct { 7596 Ftype BYTE 7597 Fdata1 BYTE 7598 FsequenceNumber CARD16 7599 Flength CARD32 7600 Fdata00 CARD32 7601 Fdata01 CARD32 7602 Fdata02 CARD32 7603 Fdata03 CARD32 7604 Fdata04 CARD32 7605 Fdata05 CARD32 7606 } /* Xproto.h:436:7 */ 7607 7608 // Individual reply formats. 7609 7610 type XGetWindowAttributesReply = struct { 7611 Ftype BYTE 7612 FbackingStore CARD8 7613 FsequenceNumber CARD16 7614 Flength CARD32 7615 FvisualID CARD32 7616 Fclass CARD16 7617 FbitGravity CARD8 7618 FwinGravity CARD8 7619 FbackingBitPlanes CARD32 7620 FbackingPixel CARD32 7621 FsaveUnder BOOL 7622 FmapInstalled BOOL 7623 FmapState CARD8 7624 Foverride BOOL 7625 Fcolormap CARD32 7626 FallEventMasks CARD32 7627 FyourEventMask CARD32 7628 FdoNotPropagateMask CARD16 7629 Fpad CARD16 7630 } /* Xproto.h:464:7 */ 7631 7632 type XGetGeometryReply = struct { 7633 Ftype BYTE 7634 Fdepth CARD8 7635 FsequenceNumber CARD16 7636 Flength CARD32 7637 Froot CARD32 7638 Fx INT16 7639 Fy INT16 7640 Fwidth CARD16 7641 Fheight CARD16 7642 FborderWidth CARD16 7643 Fpad1 CARD16 7644 Fpad2 CARD32 7645 Fpad3 CARD32 7646 } /* Xproto.h:478:7 */ 7647 7648 type XQueryTreeReply = struct { 7649 Ftype BYTE 7650 Fpad1 BYTE 7651 FsequenceNumber CARD16 7652 Flength CARD32 7653 Froot CARD32 7654 Fparent CARD32 7655 FnChildren CARD16 7656 Fpad2 CARD16 7657 Fpad3 CARD32 7658 Fpad4 CARD32 7659 Fpad5 CARD32 7660 } /* Xproto.h:491:7 */ 7661 7662 type XInternAtomReply = struct { 7663 Ftype BYTE 7664 Fpad1 BYTE 7665 FsequenceNumber CARD16 7666 Flength CARD32 7667 Fatom CARD32 7668 Fpad2 CARD32 7669 Fpad3 CARD32 7670 Fpad4 CARD32 7671 Fpad5 CARD32 7672 Fpad6 CARD32 7673 } /* Xproto.h:504:7 */ 7674 7675 type XGetAtomNameReply = struct { 7676 Ftype BYTE 7677 Fpad1 BYTE 7678 FsequenceNumber CARD16 7679 Flength CARD32 7680 FnameLength CARD16 7681 Fpad2 CARD16 7682 Fpad3 CARD32 7683 Fpad4 CARD32 7684 Fpad5 CARD32 7685 Fpad6 CARD32 7686 Fpad7 CARD32 7687 } /* Xproto.h:518:7 */ 7688 7689 type XGetPropertyReply = struct { 7690 Ftype BYTE 7691 Fformat CARD8 7692 FsequenceNumber CARD16 7693 Flength CARD32 7694 FpropertyType CARD32 7695 FbytesAfter CARD32 7696 FnItems CARD32 7697 Fpad1 CARD32 7698 Fpad2 CARD32 7699 Fpad3 CARD32 7700 } /* Xproto.h:531:7 */ 7701 7702 type XListPropertiesReply = struct { 7703 Ftype BYTE 7704 Fpad1 BYTE 7705 FsequenceNumber CARD16 7706 Flength CARD32 7707 FnProperties CARD16 7708 Fpad2 CARD16 7709 Fpad3 CARD32 7710 Fpad4 CARD32 7711 Fpad5 CARD32 7712 Fpad6 CARD32 7713 Fpad7 CARD32 7714 } /* Xproto.h:545:7 */ 7715 7716 type XGetSelectionOwnerReply = struct { 7717 Ftype BYTE 7718 Fpad1 BYTE 7719 FsequenceNumber CARD16 7720 Flength CARD32 7721 Fowner CARD32 7722 Fpad2 CARD32 7723 Fpad3 CARD32 7724 Fpad4 CARD32 7725 Fpad5 CARD32 7726 Fpad6 CARD32 7727 } /* Xproto.h:558:7 */ 7728 7729 type XGrabPointerReply = struct { 7730 Ftype BYTE 7731 Fstatus BYTE 7732 FsequenceNumber CARD16 7733 Flength CARD32 7734 Fpad1 CARD32 7735 Fpad2 CARD32 7736 Fpad3 CARD32 7737 Fpad4 CARD32 7738 Fpad5 CARD32 7739 Fpad6 CARD32 7740 } /* Xproto.h:571:7 */ 7741 7742 type XGrabKeyboardReply = XGrabPointerReply /* Xproto.h:573:27 */ 7743 7744 type XQueryPointerReply = struct { 7745 Ftype BYTE 7746 FsameScreen BOOL 7747 FsequenceNumber CARD16 7748 Flength CARD32 7749 Froot CARD32 7750 Fchild CARD32 7751 FrootX INT16 7752 FrootY INT16 7753 FwinX INT16 7754 FwinY INT16 7755 Fmask CARD16 7756 Fpad1 CARD16 7757 Fpad CARD32 7758 } /* Xproto.h:585:7 */ 7759 7760 type XGetMotionEventsReply = struct { 7761 Ftype BYTE 7762 Fpad1 BYTE 7763 FsequenceNumber CARD16 7764 Flength CARD32 7765 FnEvents CARD32 7766 Fpad2 CARD32 7767 Fpad3 CARD32 7768 Fpad4 CARD32 7769 Fpad5 CARD32 7770 Fpad6 CARD32 7771 } /* Xproto.h:598:7 */ 7772 7773 type XTranslateCoordsReply = struct { 7774 Ftype BYTE 7775 FsameScreen BOOL 7776 FsequenceNumber CARD16 7777 Flength CARD32 7778 Fchild CARD32 7779 FdstX INT16 7780 FdstY INT16 7781 Fpad2 CARD32 7782 Fpad3 CARD32 7783 Fpad4 CARD32 7784 Fpad5 CARD32 7785 } /* Xproto.h:611:7 */ 7786 7787 type XGetInputFocusReply = struct { 7788 Ftype BYTE 7789 FrevertTo CARD8 7790 FsequenceNumber CARD16 7791 Flength CARD32 7792 Ffocus CARD32 7793 Fpad1 CARD32 7794 Fpad2 CARD32 7795 Fpad3 CARD32 7796 Fpad4 CARD32 7797 Fpad5 CARD32 7798 } /* Xproto.h:624:7 */ 7799 7800 type XQueryKeymapReply = struct { 7801 Ftype BYTE 7802 Fpad1 BYTE 7803 FsequenceNumber CARD16 7804 Flength CARD32 7805 Fmap [32]BYTE 7806 } /* Xproto.h:632:7 */ 7807 7808 // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply 7809 type X_xQueryFontReply = struct { 7810 Ftype BYTE 7811 Fpad1 BYTE 7812 FsequenceNumber CARD16 7813 Flength CARD32 7814 FminBounds XCharInfo 7815 Fwalign1 CARD32 7816 FmaxBounds XCharInfo 7817 Fwalign2 CARD32 7818 FminCharOrByte2 CARD16 7819 FmaxCharOrByte2 CARD16 7820 FdefaultChar CARD16 7821 FnFontProps CARD16 7822 FdrawDirection CARD8 7823 FminByte1 CARD8 7824 FmaxByte1 CARD8 7825 FallCharsExist BOOL 7826 FfontAscent INT16 7827 FfontDescent INT16 7828 FnCharInfos CARD32 7829 } /* Xproto.h:635:9 */ 7830 7831 // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply 7832 type XQueryFontReply = X_xQueryFontReply /* Xproto.h:652:3 */ 7833 7834 type XQueryTextExtentsReply = struct { 7835 Ftype BYTE 7836 FdrawDirection CARD8 7837 FsequenceNumber CARD16 7838 Flength CARD32 7839 FfontAscent INT16 7840 FfontDescent INT16 7841 FoverallAscent INT16 7842 FoverallDescent INT16 7843 FoverallWidth INT32 7844 FoverallLeft INT32 7845 FoverallRight INT32 7846 Fpad CARD32 7847 } /* Xproto.h:663:7 */ 7848 7849 type XListFontsReply = struct { 7850 Ftype BYTE 7851 Fpad1 BYTE 7852 FsequenceNumber CARD16 7853 Flength CARD32 7854 FnFonts CARD16 7855 Fpad2 CARD16 7856 Fpad3 CARD32 7857 Fpad4 CARD32 7858 Fpad5 CARD32 7859 Fpad6 CARD32 7860 Fpad7 CARD32 7861 } /* Xproto.h:677:7 */ 7862 7863 // Warning: this MUST match (up to component renaming) xQueryFontReply 7864 type XListFontsWithInfoReply = struct { 7865 Ftype BYTE 7866 FnameLength CARD8 7867 FsequenceNumber CARD16 7868 Flength CARD32 7869 FminBounds XCharInfo 7870 Fwalign1 CARD32 7871 FmaxBounds XCharInfo 7872 Fwalign2 CARD32 7873 FminCharOrByte2 CARD16 7874 FmaxCharOrByte2 CARD16 7875 FdefaultChar CARD16 7876 FnFontProps CARD16 7877 FdrawDirection CARD8 7878 FminByte1 CARD8 7879 FmaxByte1 CARD8 7880 FallCharsExist BOOL 7881 FfontAscent INT16 7882 FfontDescent INT16 7883 FnReplies CARD32 7884 } /* Xproto.h:697:3 */ 7885 7886 type XGetFontPathReply = struct { 7887 Ftype BYTE 7888 Fpad1 BYTE 7889 FsequenceNumber CARD16 7890 Flength CARD32 7891 FnPaths CARD16 7892 Fpad2 CARD16 7893 Fpad3 CARD32 7894 Fpad4 CARD32 7895 Fpad5 CARD32 7896 Fpad6 CARD32 7897 Fpad7 CARD32 7898 } /* Xproto.h:711:7 */ 7899 7900 type XGetImageReply = struct { 7901 Ftype BYTE 7902 Fdepth CARD8 7903 FsequenceNumber CARD16 7904 Flength CARD32 7905 Fvisual CARD32 7906 Fpad3 CARD32 7907 Fpad4 CARD32 7908 Fpad5 CARD32 7909 Fpad6 CARD32 7910 Fpad7 CARD32 7911 } /* Xproto.h:724:7 */ 7912 7913 type XListInstalledColormapsReply = struct { 7914 Ftype BYTE 7915 Fpad1 BYTE 7916 FsequenceNumber CARD16 7917 Flength CARD32 7918 FnColormaps CARD16 7919 Fpad2 CARD16 7920 Fpad3 CARD32 7921 Fpad4 CARD32 7922 Fpad5 CARD32 7923 Fpad6 CARD32 7924 Fpad7 CARD32 7925 } /* Xproto.h:738:7 */ 7926 7927 type XAllocColorReply = struct { 7928 Ftype BYTE 7929 Fpad1 BYTE 7930 FsequenceNumber CARD16 7931 Flength CARD32 7932 Fred CARD16 7933 Fgreen CARD16 7934 Fblue CARD16 7935 Fpad2 CARD16 7936 Fpixel CARD32 7937 Fpad3 CARD32 7938 Fpad4 CARD32 7939 Fpad5 CARD32 7940 } /* Xproto.h:751:7 */ 7941 7942 type XAllocNamedColorReply = struct { 7943 Ftype BYTE 7944 Fpad1 BYTE 7945 FsequenceNumber CARD16 7946 Flength CARD32 7947 Fpixel CARD32 7948 FexactRed CARD16 7949 FexactGreen CARD16 7950 FexactBlue CARD16 7951 FscreenRed CARD16 7952 FscreenGreen CARD16 7953 FscreenBlue CARD16 7954 Fpad2 CARD32 7955 Fpad3 CARD32 7956 } /* Xproto.h:763:7 */ 7957 7958 type XAllocColorCellsReply = struct { 7959 Ftype BYTE 7960 Fpad1 BYTE 7961 FsequenceNumber CARD16 7962 Flength CARD32 7963 FnPixels CARD16 7964 FnMasks CARD16 7965 Fpad3 CARD32 7966 Fpad4 CARD32 7967 Fpad5 CARD32 7968 Fpad6 CARD32 7969 Fpad7 CARD32 7970 } /* Xproto.h:776:7 */ 7971 7972 type XAllocColorPlanesReply = struct { 7973 Ftype BYTE 7974 Fpad1 BYTE 7975 FsequenceNumber CARD16 7976 Flength CARD32 7977 FnPixels CARD16 7978 Fpad2 CARD16 7979 FredMask CARD32 7980 FgreenMask CARD32 7981 FblueMask CARD32 7982 Fpad3 CARD32 7983 Fpad4 CARD32 7984 } /* Xproto.h:788:7 */ 7985 7986 type XQueryColorsReply = struct { 7987 Ftype BYTE 7988 Fpad1 BYTE 7989 FsequenceNumber CARD16 7990 Flength CARD32 7991 FnColors CARD16 7992 Fpad2 CARD16 7993 Fpad3 CARD32 7994 Fpad4 CARD32 7995 Fpad5 CARD32 7996 Fpad6 CARD32 7997 Fpad7 CARD32 7998 } /* Xproto.h:802:7 */ 7999 8000 type XLookupColorReply = struct { 8001 Ftype BYTE 8002 Fpad1 BYTE 8003 FsequenceNumber CARD16 8004 Flength CARD32 8005 FexactRed CARD16 8006 FexactGreen CARD16 8007 FexactBlue CARD16 8008 FscreenRed CARD16 8009 FscreenGreen CARD16 8010 FscreenBlue CARD16 8011 Fpad3 CARD32 8012 Fpad4 CARD32 8013 Fpad5 CARD32 8014 } /* Xproto.h:814:7 */ 8015 8016 type XQueryBestSizeReply = struct { 8017 Ftype BYTE 8018 Fpad1 BYTE 8019 FsequenceNumber CARD16 8020 Flength CARD32 8021 Fwidth CARD16 8022 Fheight CARD16 8023 Fpad3 CARD32 8024 Fpad4 CARD32 8025 Fpad5 CARD32 8026 Fpad6 CARD32 8027 Fpad7 CARD32 8028 } /* Xproto.h:827:7 */ 8029 8030 type XQueryExtensionReply = struct { 8031 Ftype BYTE 8032 Fpad1 BYTE 8033 FsequenceNumber CARD16 8034 Flength CARD32 8035 Fpresent BOOL 8036 Fmajor_opcode CARD8 8037 Ffirst_event CARD8 8038 Ffirst_error CARD8 8039 Fpad3 CARD32 8040 Fpad4 CARD32 8041 Fpad5 CARD32 8042 Fpad6 CARD32 8043 Fpad7 CARD32 8044 } /* Xproto.h:843:7 */ 8045 8046 type XListExtensionsReply = struct { 8047 Ftype BYTE 8048 FnExtensions CARD8 8049 FsequenceNumber CARD16 8050 Flength CARD32 8051 Fpad2 CARD32 8052 Fpad3 CARD32 8053 Fpad4 CARD32 8054 Fpad5 CARD32 8055 Fpad6 CARD32 8056 Fpad7 CARD32 8057 } /* Xproto.h:856:7 */ 8058 8059 type XSetMappingReply = struct { 8060 Ftype BYTE 8061 Fsuccess CARD8 8062 FsequenceNumber CARD16 8063 Flength CARD32 8064 Fpad2 CARD32 8065 Fpad3 CARD32 8066 Fpad4 CARD32 8067 Fpad5 CARD32 8068 Fpad6 CARD32 8069 Fpad7 CARD32 8070 } /* Xproto.h:870:7 */ 8071 type XSetPointerMappingReply = XSetMappingReply /* Xproto.h:871:26 */ 8072 type XSetModifierMappingReply = XSetMappingReply /* Xproto.h:872:26 */ 8073 8074 type XGetPointerMappingReply = struct { 8075 Ftype BYTE 8076 FnElts CARD8 8077 FsequenceNumber CARD16 8078 Flength CARD32 8079 Fpad2 CARD32 8080 Fpad3 CARD32 8081 Fpad4 CARD32 8082 Fpad5 CARD32 8083 Fpad6 CARD32 8084 Fpad7 CARD32 8085 } /* Xproto.h:885:7 */ 8086 8087 type XGetKeyboardMappingReply = struct { 8088 Ftype BYTE 8089 FkeySymsPerKeyCode CARD8 8090 FsequenceNumber CARD16 8091 Flength CARD32 8092 Fpad2 CARD32 8093 Fpad3 CARD32 8094 Fpad4 CARD32 8095 Fpad5 CARD32 8096 Fpad6 CARD32 8097 Fpad7 CARD32 8098 } /* Xproto.h:898:3 */ 8099 8100 type XGetModifierMappingReply = struct { 8101 Ftype BYTE 8102 FnumKeyPerModifier CARD8 8103 FsequenceNumber CARD16 8104 Flength CARD32 8105 Fpad1 CARD32 8106 Fpad2 CARD32 8107 Fpad3 CARD32 8108 Fpad4 CARD32 8109 Fpad5 CARD32 8110 Fpad6 CARD32 8111 } /* Xproto.h:911:3 */ 8112 8113 type XGetKeyboardControlReply = struct { 8114 Ftype BYTE 8115 FglobalAutoRepeat BOOL 8116 FsequenceNumber CARD16 8117 Flength CARD32 8118 FledMask CARD32 8119 FkeyClickPercent CARD8 8120 FbellPercent CARD8 8121 FbellPitch CARD16 8122 FbellDuration CARD16 8123 Fpad CARD16 8124 Fmap [32]BYTE 8125 } /* Xproto.h:923:7 */ 8126 8127 type XGetPointerControlReply = struct { 8128 Ftype BYTE 8129 Fpad1 BYTE 8130 FsequenceNumber CARD16 8131 Flength CARD32 8132 FaccelNumerator CARD16 8133 FaccelDenominator CARD16 8134 Fthreshold CARD16 8135 Fpad2 CARD16 8136 Fpad3 CARD32 8137 Fpad4 CARD32 8138 Fpad5 CARD32 8139 Fpad6 CARD32 8140 } /* Xproto.h:937:7 */ 8141 8142 type XGetScreenSaverReply = struct { 8143 Ftype BYTE 8144 Fpad1 BYTE 8145 FsequenceNumber CARD16 8146 Flength CARD32 8147 Ftimeout CARD16 8148 Finterval CARD16 8149 FpreferBlanking BOOL 8150 FallowExposures BOOL 8151 Fpad2 CARD16 8152 Fpad3 CARD32 8153 Fpad4 CARD32 8154 Fpad5 CARD32 8155 Fpad6 CARD32 8156 } /* Xproto.h:952:7 */ 8157 8158 type XListHostsReply = struct { 8159 Ftype BYTE 8160 Fenabled BOOL 8161 FsequenceNumber CARD16 8162 Flength CARD32 8163 FnHosts CARD16 8164 Fpad1 CARD16 8165 Fpad3 CARD32 8166 Fpad4 CARD32 8167 Fpad5 CARD32 8168 Fpad6 CARD32 8169 Fpad7 CARD32 8170 } /* Xproto.h:966:7 */ 8171 8172 // **************************************************************** 8173 // 8174 // Xerror 8175 // All errors are 32 bytes 8176 // 8177 8178 type XError = struct { 8179 Ftype BYTE 8180 FerrorCode BYTE 8181 FsequenceNumber CARD16 8182 FresourceID CARD32 8183 FminorCode CARD16 8184 FmajorCode CARD8 8185 Fpad1 BYTE 8186 Fpad3 CARD32 8187 Fpad4 CARD32 8188 Fpad5 CARD32 8189 Fpad6 CARD32 8190 Fpad7 CARD32 8191 } /* Xproto.h:989:3 */ 8192 8193 // **************************************************************** 8194 // 8195 // xEvent 8196 // All events are 32 bytes 8197 // 8198 8199 type X_xEvent = struct { 8200 Fu struct { 8201 F__ccgo_pad1 [0]uint32 8202 Fu struct { 8203 Ftype BYTE 8204 Fdetail BYTE 8205 FsequenceNumber CARD16 8206 } 8207 F__ccgo_pad2 [28]byte 8208 } 8209 } /* Xproto.h:996:9 */ 8210 8211 // **************************************************************** 8212 // 8213 // xEvent 8214 // All events are 32 bytes 8215 // 8216 8217 type XEvent1 = X_xEvent /* Xproto.h:1214:3 */ 8218 8219 // ******************************************************** 8220 // 8221 // 8222 // Generic event 8223 // 8224 // Those events are not part of the core protocol spec and can be used by 8225 // various extensions. 8226 // type is always GenericEvent 8227 // extension is the minor opcode of the extension the event belongs to. 8228 // evtype is the actual event type, unique __per extension__. 8229 // 8230 // GenericEvents can be longer than 32 bytes, with the length field 8231 // specifying the number of 4 byte blocks after the first 32 bytes. 8232 // 8233 // 8234 type XGenericEvent1 = struct { 8235 Ftype BYTE 8236 Fextension CARD8 8237 FsequenceNumber CARD16 8238 Flength CARD32 8239 Fevtype CARD16 8240 Fpad2 CARD16 8241 Fpad3 CARD32 8242 Fpad4 CARD32 8243 Fpad5 CARD32 8244 Fpad6 CARD32 8245 Fpad7 CARD32 8246 } /* Xproto.h:1244:3 */ 8247 8248 // KeymapNotify events are not included in the above union because they 8249 // are different from all other events: they do not have a "detail" 8250 // or "sequenceNumber", so there is room for a 248-bit key mask. 8251 8252 type XKeymapEvent1 = struct { 8253 Ftype BYTE 8254 Fmap [31]BYTE 8255 } /* Xproto.h:1255:7 */ 8256 8257 // XReply is the union of all the replies above whose "fixed part" 8258 // fits in 32 bytes. It does NOT include GetWindowAttributesReply, 8259 // QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply 8260 // ListFontsWithInfoReply 8261 8262 type XReply = struct{ Fgeneric XGenericReply } /* Xproto.h:1303:3 */ 8263 8264 // **************************************************************** 8265 // 8266 // REQUESTS 8267 // 8268 8269 // Request structure 8270 8271 type X_xReq = struct { 8272 FreqType CARD8 8273 Fdata CARD8 8274 Flength CARD16 8275 } /* Xproto.h:1314:9 */ 8276 8277 // **************************************************************** 8278 // 8279 // REQUESTS 8280 // 8281 8282 // Request structure 8283 8284 type XReq = X_xReq /* Xproto.h:1319:3 */ 8285 8286 // **************************************************************** 8287 // 8288 // structures that follow request. 8289 // 8290 8291 // ResourceReq is used for any request which has a resource ID 8292 // (or Atom or Time) as its one and only argument. 8293 8294 type XResourceReq = struct { 8295 FreqType CARD8 8296 Fpad BYTE 8297 Flength CARD16 8298 Fid CARD32 8299 } /* Xproto.h:1333:7 */ 8300 8301 type XCreateWindowReq = struct { 8302 FreqType CARD8 8303 Fdepth CARD8 8304 Flength CARD16 8305 Fwid CARD32 8306 Fparent CARD32 8307 Fx INT16 8308 Fy INT16 8309 Fwidth CARD16 8310 Fheight CARD16 8311 FborderWidth CARD16 8312 Fclass CARD16 8313 Fvisual CARD32 8314 Fmask CARD32 8315 } /* Xproto.h:1349:3 */ 8316 8317 type XChangeWindowAttributesReq = struct { 8318 FreqType CARD8 8319 Fpad BYTE 8320 Flength CARD16 8321 Fwindow CARD32 8322 FvalueMask CARD32 8323 } /* Xproto.h:1357:3 */ 8324 8325 type XChangeSaveSetReq = struct { 8326 FreqType CARD8 8327 Fmode BYTE 8328 Flength CARD16 8329 Fwindow CARD32 8330 } /* Xproto.h:1364:3 */ 8331 8332 type XReparentWindowReq = struct { 8333 FreqType CARD8 8334 Fpad BYTE 8335 Flength CARD16 8336 Fwindow CARD32 8337 Fparent CARD32 8338 Fx INT16 8339 Fy INT16 8340 } /* Xproto.h:1372:3 */ 8341 8342 type XConfigureWindowReq = struct { 8343 FreqType CARD8 8344 Fpad CARD8 8345 Flength CARD16 8346 Fwindow CARD32 8347 Fmask CARD16 8348 Fpad2 CARD16 8349 } /* Xproto.h:1381:3 */ 8350 8351 type XCirculateWindowReq = struct { 8352 FreqType CARD8 8353 Fdirection CARD8 8354 Flength CARD16 8355 Fwindow CARD32 8356 } /* Xproto.h:1388:3 */ 8357 8358 type XInternAtomReq = struct { 8359 FreqType CARD8 8360 FonlyIfExists BOOL 8361 Flength CARD16 8362 Fnbytes CARD16 8363 Fpad CARD16 8364 } /* Xproto.h:1396:3 */ 8365 8366 type XChangePropertyReq = struct { 8367 FreqType CARD8 8368 Fmode CARD8 8369 Flength CARD16 8370 Fwindow CARD32 8371 Fproperty CARD32 8372 Ftype CARD32 8373 Fformat CARD8 8374 Fpad [3]BYTE 8375 FnUnits CARD32 8376 } /* Xproto.h:1407:3 */ 8377 8378 type XDeletePropertyReq = struct { 8379 FreqType CARD8 8380 Fpad BYTE 8381 Flength CARD16 8382 Fwindow CARD32 8383 Fproperty CARD32 8384 } /* Xproto.h:1415:3 */ 8385 8386 type XGetPropertyReq = struct { 8387 FreqType CARD8 8388 Fdelete BOOL 8389 Flength CARD16 8390 Fwindow CARD32 8391 Fproperty CARD32 8392 Ftype CARD32 8393 FlongOffset CARD32 8394 FlongLength CARD32 8395 } /* Xproto.h:1429:3 */ 8396 8397 type XSetSelectionOwnerReq = struct { 8398 FreqType CARD8 8399 Fpad BYTE 8400 Flength CARD16 8401 Fwindow CARD32 8402 Fselection CARD32 8403 Ftime CARD32 8404 } /* Xproto.h:1438:3 */ 8405 8406 type XConvertSelectionReq = struct { 8407 FreqType CARD8 8408 Fpad BYTE 8409 Flength CARD16 8410 Frequestor CARD32 8411 Fselection CARD32 8412 Ftarget CARD32 8413 Fproperty CARD32 8414 Ftime CARD32 8415 } /* Xproto.h:1447:7 */ 8416 8417 type XSendEventReq = struct { 8418 FreqType CARD8 8419 Fpropagate BOOL 8420 Flength CARD16 8421 Fdestination CARD32 8422 FeventMask CARD32 8423 Fevent XEvent1 8424 } /* Xproto.h:1456:3 */ 8425 8426 type XGrabPointerReq = struct { 8427 FreqType CARD8 8428 FownerEvents BOOL 8429 Flength CARD16 8430 FgrabWindow CARD32 8431 FeventMask CARD16 8432 FpointerMode BYTE 8433 FkeyboardMode BYTE 8434 FconfineTo CARD32 8435 Fcursor CARD32 8436 Ftime CARD32 8437 } /* Xproto.h:1468:3 */ 8438 8439 type XGrabButtonReq = struct { 8440 FreqType CARD8 8441 FownerEvents BOOL 8442 Flength CARD16 8443 FgrabWindow CARD32 8444 FeventMask CARD16 8445 FpointerMode BYTE 8446 FkeyboardMode BYTE 8447 FconfineTo CARD32 8448 Fcursor CARD32 8449 Fbutton CARD8 8450 Fpad BYTE 8451 Fmodifiers CARD16 8452 } /* Xproto.h:1482:3 */ 8453 8454 type XUngrabButtonReq = struct { 8455 FreqType CARD8 8456 Fbutton CARD8 8457 Flength CARD16 8458 FgrabWindow CARD32 8459 Fmodifiers CARD16 8460 Fpad CARD16 8461 } /* Xproto.h:1491:3 */ 8462 8463 type XChangeActivePointerGrabReq = struct { 8464 FreqType CARD8 8465 Fpad BYTE 8466 Flength CARD16 8467 Fcursor CARD32 8468 Ftime CARD32 8469 FeventMask CARD16 8470 Fpad2 CARD16 8471 } /* Xproto.h:1501:3 */ 8472 8473 type XGrabKeyboardReq = struct { 8474 FreqType CARD8 8475 FownerEvents BOOL 8476 Flength CARD16 8477 FgrabWindow CARD32 8478 Ftime CARD32 8479 FpointerMode BYTE 8480 FkeyboardMode BYTE 8481 Fpad CARD16 8482 } /* Xproto.h:1511:3 */ 8483 8484 type XGrabKeyReq = struct { 8485 FreqType CARD8 8486 FownerEvents BOOL 8487 Flength CARD16 8488 FgrabWindow CARD32 8489 Fmodifiers CARD16 8490 Fkey CARD8 8491 FpointerMode BYTE 8492 FkeyboardMode BYTE 8493 Fpad1 BYTE 8494 Fpad2 BYTE 8495 Fpad3 BYTE 8496 } /* Xproto.h:1522:3 */ 8497 8498 type XUngrabKeyReq = struct { 8499 FreqType CARD8 8500 Fkey CARD8 8501 Flength CARD16 8502 FgrabWindow CARD32 8503 Fmodifiers CARD16 8504 Fpad CARD16 8505 } /* Xproto.h:1531:3 */ 8506 8507 type XAllowEventsReq = struct { 8508 FreqType CARD8 8509 Fmode CARD8 8510 Flength CARD16 8511 Ftime CARD32 8512 } /* Xproto.h:1538:3 */ 8513 8514 type XGetMotionEventsReq = struct { 8515 FreqType CARD8 8516 Fpad BYTE 8517 Flength CARD16 8518 Fwindow CARD32 8519 Fstart CARD32 8520 Fstop CARD32 8521 } /* Xproto.h:1546:3 */ 8522 8523 type XTranslateCoordsReq = struct { 8524 FreqType CARD8 8525 Fpad BYTE 8526 Flength CARD16 8527 FsrcWid CARD32 8528 FdstWid CARD32 8529 FsrcX INT16 8530 FsrcY INT16 8531 } /* Xproto.h:1554:3 */ 8532 8533 type XWarpPointerReq = struct { 8534 FreqType CARD8 8535 Fpad BYTE 8536 Flength CARD16 8537 FsrcWid CARD32 8538 FdstWid CARD32 8539 FsrcX INT16 8540 FsrcY INT16 8541 FsrcWidth CARD16 8542 FsrcHeight CARD16 8543 FdstX INT16 8544 FdstY INT16 8545 } /* Xproto.h:1564:3 */ 8546 8547 type XSetInputFocusReq = struct { 8548 FreqType CARD8 8549 FrevertTo CARD8 8550 Flength CARD16 8551 Ffocus CARD32 8552 Ftime CARD32 8553 } /* Xproto.h:1572:3 */ 8554 8555 type XOpenFontReq = struct { 8556 FreqType CARD8 8557 Fpad BYTE 8558 Flength CARD16 8559 Ffid CARD32 8560 Fnbytes CARD16 8561 Fpad1 BYTE 8562 Fpad2 BYTE 8563 } /* Xproto.h:1581:3 */ 8564 8565 type XQueryTextExtentsReq = struct { 8566 FreqType CARD8 8567 FoddLength BOOL 8568 Flength CARD16 8569 Ffid CARD32 8570 } /* Xproto.h:1588:7 */ 8571 8572 type XListFontsReq = struct { 8573 FreqType CARD8 8574 Fpad BYTE 8575 Flength CARD16 8576 FmaxNames CARD16 8577 Fnbytes CARD16 8578 } /* Xproto.h:1596:3 */ 8579 8580 type XListFontsWithInfoReq = XListFontsReq /* Xproto.h:1598:23 */ 8581 8582 type XSetFontPathReq = struct { 8583 FreqType CARD8 8584 Fpad BYTE 8585 Flength CARD16 8586 FnFonts CARD16 8587 Fpad1 BYTE 8588 Fpad2 BYTE 8589 } /* Xproto.h:1606:3 */ 8590 8591 type XCreatePixmapReq = struct { 8592 FreqType CARD8 8593 Fdepth CARD8 8594 Flength CARD16 8595 Fpid CARD32 8596 Fdrawable CARD32 8597 Fwidth CARD16 8598 Fheight CARD16 8599 } /* Xproto.h:1615:3 */ 8600 8601 type XCreateGCReq = struct { 8602 FreqType CARD8 8603 Fpad BYTE 8604 Flength CARD16 8605 Fgc CARD32 8606 Fdrawable CARD32 8607 Fmask CARD32 8608 } /* Xproto.h:1624:3 */ 8609 8610 type XChangeGCReq = struct { 8611 FreqType CARD8 8612 Fpad BYTE 8613 Flength CARD16 8614 Fgc CARD32 8615 Fmask CARD32 8616 } /* Xproto.h:1632:3 */ 8617 8618 type XCopyGCReq = struct { 8619 FreqType CARD8 8620 Fpad BYTE 8621 Flength CARD16 8622 FsrcGC CARD32 8623 FdstGC CARD32 8624 Fmask CARD32 8625 } /* Xproto.h:1640:3 */ 8626 8627 type XSetDashesReq = struct { 8628 FreqType CARD8 8629 Fpad BYTE 8630 Flength CARD16 8631 Fgc CARD32 8632 FdashOffset CARD16 8633 FnDashes CARD16 8634 } /* Xproto.h:1649:3 */ 8635 8636 type XSetClipRectanglesReq = struct { 8637 FreqType CARD8 8638 Fordering BYTE 8639 Flength CARD16 8640 Fgc CARD32 8641 FxOrigin INT16 8642 FyOrigin INT16 8643 } /* Xproto.h:1657:3 */ 8644 8645 type XClearAreaReq = struct { 8646 FreqType CARD8 8647 Fexposures BOOL 8648 Flength CARD16 8649 Fwindow CARD32 8650 Fx INT16 8651 Fy INT16 8652 Fwidth CARD16 8653 Fheight CARD16 8654 } /* Xproto.h:1666:3 */ 8655 8656 type XCopyAreaReq = struct { 8657 FreqType CARD8 8658 Fpad BYTE 8659 Flength CARD16 8660 FsrcDrawable CARD32 8661 FdstDrawable CARD32 8662 Fgc CARD32 8663 FsrcX INT16 8664 FsrcY INT16 8665 FdstX INT16 8666 FdstY INT16 8667 Fwidth CARD16 8668 Fheight CARD16 8669 } /* Xproto.h:1676:3 */ 8670 8671 type XCopyPlaneReq = struct { 8672 FreqType CARD8 8673 Fpad BYTE 8674 Flength CARD16 8675 FsrcDrawable CARD32 8676 FdstDrawable CARD32 8677 Fgc CARD32 8678 FsrcX INT16 8679 FsrcY INT16 8680 FdstX INT16 8681 FdstY INT16 8682 Fwidth CARD16 8683 Fheight CARD16 8684 FbitPlane CARD32 8685 } /* Xproto.h:1687:3 */ 8686 8687 type XPolyPointReq = struct { 8688 FreqType CARD8 8689 FcoordMode BYTE 8690 Flength CARD16 8691 Fdrawable CARD32 8692 Fgc CARD32 8693 } /* Xproto.h:1695:3 */ 8694 8695 type XPolyLineReq = XPolyPointReq /* Xproto.h:1697:23 */ // same request structure 8696 8697 // The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc 8698 8699 type XPolySegmentReq = struct { 8700 FreqType CARD8 8701 Fpad BYTE 8702 Flength CARD16 8703 Fdrawable CARD32 8704 Fgc CARD32 8705 } /* Xproto.h:1707:3 */ 8706 8707 type XPolyArcReq = XPolySegmentReq /* Xproto.h:1709:25 */ 8708 type XPolyRectangleReq = XPolySegmentReq /* Xproto.h:1710:25 */ 8709 type XPolyFillRectangleReq = XPolySegmentReq /* Xproto.h:1711:25 */ 8710 type XPolyFillArcReq = XPolySegmentReq /* Xproto.h:1712:25 */ 8711 8712 type X_FillPolyReq = struct { 8713 FreqType CARD8 8714 Fpad BYTE 8715 Flength CARD16 8716 Fdrawable CARD32 8717 Fgc CARD32 8718 Fshape BYTE 8719 FcoordMode BYTE 8720 Fpad1 CARD16 8721 } /* Xproto.h:1714:9 */ 8722 8723 type XFillPolyReq = X_FillPolyReq /* Xproto.h:1723:3 */ 8724 8725 type X_PutImageReq = struct { 8726 FreqType CARD8 8727 Fformat CARD8 8728 Flength CARD16 8729 Fdrawable CARD32 8730 Fgc CARD32 8731 Fwidth CARD16 8732 Fheight CARD16 8733 FdstX INT16 8734 FdstY INT16 8735 FleftPad CARD8 8736 Fdepth CARD8 8737 Fpad CARD16 8738 } /* Xproto.h:1726:9 */ 8739 8740 type XPutImageReq = X_PutImageReq /* Xproto.h:1737:3 */ 8741 8742 type XGetImageReq = struct { 8743 FreqType CARD8 8744 Fformat CARD8 8745 Flength CARD16 8746 Fdrawable CARD32 8747 Fx INT16 8748 Fy INT16 8749 Fwidth CARD16 8750 Fheight CARD16 8751 FplaneMask CARD32 8752 } /* Xproto.h:1747:3 */ 8753 8754 // the following used by PolyText8 and PolyText16 8755 8756 type XPolyTextReq = struct { 8757 FreqType CARD8 8758 Fpad CARD8 8759 Flength CARD16 8760 Fdrawable CARD32 8761 Fgc CARD32 8762 Fx INT16 8763 Fy INT16 8764 } /* Xproto.h:1758:3 */ 8765 8766 type XPolyText8Req = XPolyTextReq /* Xproto.h:1760:22 */ 8767 type XPolyText16Req = XPolyTextReq /* Xproto.h:1761:22 */ 8768 8769 type XImageTextReq = struct { 8770 FreqType CARD8 8771 FnChars BYTE 8772 Flength CARD16 8773 Fdrawable CARD32 8774 Fgc CARD32 8775 Fx INT16 8776 Fy INT16 8777 } /* Xproto.h:1770:3 */ 8778 8779 type XImageText8Req = XImageTextReq /* Xproto.h:1772:23 */ 8780 type XImageText16Req = XImageTextReq /* Xproto.h:1773:23 */ 8781 8782 type XCreateColormapReq = struct { 8783 FreqType CARD8 8784 Falloc BYTE 8785 Flength CARD16 8786 Fmid CARD32 8787 Fwindow CARD32 8788 Fvisual CARD32 8789 } /* Xproto.h:1782:3 */ 8790 8791 type XCopyColormapAndFreeReq = struct { 8792 FreqType CARD8 8793 Fpad BYTE 8794 Flength CARD16 8795 Fmid CARD32 8796 FsrcCmap CARD32 8797 } /* Xproto.h:1790:3 */ 8798 8799 type XAllocColorReq = struct { 8800 FreqType CARD8 8801 Fpad BYTE 8802 Flength CARD16 8803 Fcmap CARD32 8804 Fred CARD16 8805 Fgreen CARD16 8806 Fblue CARD16 8807 Fpad2 CARD16 8808 } /* Xproto.h:1799:3 */ 8809 8810 type XAllocNamedColorReq = struct { 8811 FreqType CARD8 8812 Fpad BYTE 8813 Flength CARD16 8814 Fcmap CARD32 8815 Fnbytes CARD16 8816 Fpad1 BYTE 8817 Fpad2 BYTE 8818 } /* Xproto.h:1808:3 */ 8819 8820 type XAllocColorCellsReq = struct { 8821 FreqType CARD8 8822 Fcontiguous BOOL 8823 Flength CARD16 8824 Fcmap CARD32 8825 Fcolors CARD16 8826 Fplanes CARD16 8827 } /* Xproto.h:1816:3 */ 8828 8829 type XAllocColorPlanesReq = struct { 8830 FreqType CARD8 8831 Fcontiguous BOOL 8832 Flength CARD16 8833 Fcmap CARD32 8834 Fcolors CARD16 8835 Fred CARD16 8836 Fgreen CARD16 8837 Fblue CARD16 8838 } /* Xproto.h:1824:3 */ 8839 8840 type XFreeColorsReq = struct { 8841 FreqType CARD8 8842 Fpad BYTE 8843 Flength CARD16 8844 Fcmap CARD32 8845 FplaneMask CARD32 8846 } /* Xproto.h:1832:3 */ 8847 8848 type XStoreColorsReq = struct { 8849 FreqType CARD8 8850 Fpad BYTE 8851 Flength CARD16 8852 Fcmap CARD32 8853 } /* Xproto.h:1839:3 */ 8854 8855 type XStoreNamedColorReq = struct { 8856 FreqType CARD8 8857 Fflags CARD8 8858 Flength CARD16 8859 Fcmap CARD32 8860 Fpixel CARD32 8861 Fnbytes CARD16 8862 Fpad1 BYTE 8863 Fpad2 BYTE 8864 } /* Xproto.h:1849:7 */ 8865 8866 type XQueryColorsReq = struct { 8867 FreqType CARD8 8868 Fpad BYTE 8869 Flength CARD16 8870 Fcmap CARD32 8871 } /* Xproto.h:1856:3 */ 8872 8873 type XLookupColorReq = struct { 8874 FreqType CARD8 8875 Fpad BYTE 8876 Flength CARD16 8877 Fcmap CARD32 8878 Fnbytes CARD16 8879 Fpad1 BYTE 8880 Fpad2 BYTE 8881 } /* Xproto.h:1865:3 */ 8882 8883 type XCreateCursorReq = struct { 8884 FreqType CARD8 8885 Fpad BYTE 8886 Flength CARD16 8887 Fcid CARD32 8888 Fsource CARD32 8889 Fmask CARD32 8890 FforeRed CARD16 8891 FforeGreen CARD16 8892 FforeBlue CARD16 8893 FbackRed CARD16 8894 FbackGreen CARD16 8895 FbackBlue CARD16 8896 Fx CARD16 8897 Fy CARD16 8898 } /* Xproto.h:1876:3 */ 8899 8900 type XCreateGlyphCursorReq = struct { 8901 FreqType CARD8 8902 Fpad BYTE 8903 Flength CARD16 8904 Fcid CARD32 8905 Fsource CARD32 8906 Fmask CARD32 8907 FsourceChar CARD16 8908 FmaskChar CARD16 8909 FforeRed CARD16 8910 FforeGreen CARD16 8911 FforeBlue CARD16 8912 FbackRed CARD16 8913 FbackGreen CARD16 8914 FbackBlue CARD16 8915 } /* Xproto.h:1887:3 */ 8916 8917 type XRecolorCursorReq = struct { 8918 FreqType CARD8 8919 Fpad BYTE 8920 Flength CARD16 8921 Fcursor CARD32 8922 FforeRed CARD16 8923 FforeGreen CARD16 8924 FforeBlue CARD16 8925 FbackRed CARD16 8926 FbackGreen CARD16 8927 FbackBlue CARD16 8928 } /* Xproto.h:1896:3 */ 8929 8930 type XQueryBestSizeReq = struct { 8931 FreqType CARD8 8932 Fclass CARD8 8933 Flength CARD16 8934 Fdrawable CARD32 8935 Fwidth CARD16 8936 Fheight CARD16 8937 } /* Xproto.h:1908:3 */ 8938 8939 type XQueryExtensionReq = struct { 8940 FreqType CARD8 8941 Fpad BYTE 8942 Flength CARD16 8943 Fnbytes CARD16 8944 Fpad1 BYTE 8945 Fpad2 BYTE 8946 } /* Xproto.h:1916:3 */ 8947 8948 type XSetModifierMappingReq = struct { 8949 FreqType CARD8 8950 FnumKeyPerModifier CARD8 8951 Flength CARD16 8952 } /* Xproto.h:1922:3 */ 8953 8954 type XSetPointerMappingReq = struct { 8955 FreqType CARD8 8956 FnElts CARD8 8957 Flength CARD16 8958 } /* Xproto.h:1928:3 */ 8959 8960 type XGetKeyboardMappingReq = struct { 8961 FreqType CARD8 8962 Fpad BYTE 8963 Flength CARD16 8964 FfirstKeyCode CARD8 8965 Fcount CARD8 8966 Fpad1 CARD16 8967 } /* Xproto.h:1937:3 */ 8968 8969 type XChangeKeyboardMappingReq = struct { 8970 FreqType CARD8 8971 FkeyCodes CARD8 8972 Flength CARD16 8973 FfirstKeyCode CARD8 8974 FkeySymsPerKeyCode CARD8 8975 Fpad1 CARD16 8976 } /* Xproto.h:1946:3 */ 8977 8978 type XChangeKeyboardControlReq = struct { 8979 FreqType CARD8 8980 Fpad BYTE 8981 Flength CARD16 8982 Fmask CARD32 8983 } /* Xproto.h:1953:3 */ 8984 8985 type XBellReq = struct { 8986 FreqType CARD8 8987 Fpercent INT8 8988 Flength CARD16 8989 } /* Xproto.h:1959:3 */ 8990 8991 type XChangePointerControlReq = struct { 8992 FreqType CARD8 8993 Fpad BYTE 8994 Flength CARD16 8995 FaccelNum INT16 8996 FaccelDenum INT16 8997 Fthreshold INT16 8998 FdoAccel BOOL 8999 FdoThresh BOOL 9000 } /* Xproto.h:1968:3 */ 9001 9002 type XSetScreenSaverReq = struct { 9003 FreqType CARD8 9004 Fpad BYTE 9005 Flength CARD16 9006 Ftimeout INT16 9007 Finterval INT16 9008 FpreferBlank BYTE 9009 FallowExpose BYTE 9010 Fpad2 CARD16 9011 } /* Xproto.h:1977:3 */ 9012 9013 type XChangeHostsReq = struct { 9014 FreqType CARD8 9015 Fmode BYTE 9016 Flength CARD16 9017 FhostFamily CARD8 9018 Fpad BYTE 9019 FhostLength CARD16 9020 } /* Xproto.h:1986:3 */ 9021 9022 type XListHostsReq = struct { 9023 FreqType CARD8 9024 Fpad BYTE 9025 Flength CARD16 9026 } /* Xproto.h:1992:7 */ 9027 9028 type XChangeModeReq = struct { 9029 FreqType CARD8 9030 Fmode BYTE 9031 Flength CARD16 9032 } /* Xproto.h:1998:7 */ 9033 9034 type XSetAccessControlReq = XChangeModeReq /* Xproto.h:2000:24 */ 9035 type XSetCloseDownModeReq = XChangeModeReq /* Xproto.h:2001:24 */ 9036 type XForceScreenSaverReq = XChangeModeReq /* Xproto.h:2002:24 */ 9037 9038 type XRotatePropertiesReq = struct { 9039 FreqType CARD8 9040 Fpad BYTE 9041 Flength CARD16 9042 Fwindow CARD32 9043 FnAtoms CARD16 9044 FnPositions INT16 9045 } /* Xproto.h:2011:7 */ 9046 9047 type X_XFreeFuncs = struct { 9048 Fatoms FreeFuncType 9049 Fmodifiermap FreeModmapType 9050 Fkey_bindings FreeFuncType 9051 Fcontext_db FreeFuncType 9052 FdefaultCCCs FreeFuncType 9053 FclientCmaps FreeFuncType 9054 FintensityMaps FreeFuncType 9055 Fim_filters FreeFuncType 9056 Fxkb FreeFuncType 9057 } /* Xlib.h:255:1 */ 9058 9059 type X_XSQEvent = struct { 9060 Fnext uintptr 9061 Fevent XEvent 9062 Fqserial_num uint64 9063 } /* Xlib.h:255:1 */ 9064 9065 type X_XExten = struct { 9066 Fnext uintptr 9067 Fcodes XExtCodes 9068 Fcreate_GC CreateGCType 9069 Fcopy_GC CopyGCType 9070 Fflush_GC FlushGCType 9071 Ffree_GC FreeGCType 9072 Fcreate_Font CreateFontType 9073 Ffree_Font FreeFontType 9074 Fclose_display CloseDisplayType 9075 Ferror ErrorType 9076 Ferror_string ErrorStringType 9077 Fname uintptr 9078 Ferror_values PrintErrorType 9079 Fbefore_flush BeforeFlushType 9080 Fnext_flush uintptr 9081 } /* Xlib.h:255:1 */ 9082 9083 type X_XInternalAsync = struct { 9084 Fnext uintptr 9085 Fhandler uintptr 9086 Fdata XPointer 9087 } /* Xlib.h:255:1 */ 9088 9089 type X_XLockPtrs = struct { 9090 Flock_display uintptr 9091 Funlock_display uintptr 9092 } /* Xlib.h:255:1 */ 9093 9094 type X_XConnectionInfo = struct { 9095 Ffd int32 9096 F__ccgo_pad1 [4]byte 9097 Fread_callback X_XInternalConnectionProc 9098 Fcall_data XPointer 9099 Fwatch_data uintptr 9100 Fnext uintptr 9101 } /* Xlib.h:255:1 */ 9102 9103 type X_XConnWatchInfo = struct { 9104 Ffn XConnectionWatchProc 9105 Fclient_data XPointer 9106 Fnext uintptr 9107 } /* Xlib.h:255:1 */ 9108 9109 // access "last_request_read" and "request" with 64bit 9110 // warning: the value argument of the SET-macros must not 9111 // have any side-effects because it may get called twice. 9112 // accessors for 64-bit unsigned long 9113 9114 // _QEvent datatype for use in input queueing. 9115 type X_XQEvent = X_XSQEvent /* Xlibint.h:329:3 */ 9116 9117 // POSIX.1-2008 extended locale interface (see locale.h). 9118 // Definition of locale_t. 9119 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 9120 // This file is part of the GNU C Library. 9121 // 9122 // The GNU C Library is free software; you can redistribute it and/or 9123 // modify it under the terms of the GNU Lesser General Public 9124 // License as published by the Free Software Foundation; either 9125 // version 2.1 of the License, or (at your option) any later version. 9126 // 9127 // The GNU C Library is distributed in the hope that it will be useful, 9128 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9129 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9130 // Lesser General Public License for more details. 9131 // 9132 // You should have received a copy of the GNU Lesser General Public 9133 // License along with the GNU C Library; if not, see 9134 // <https://www.gnu.org/licenses/>. 9135 9136 // Definition of struct __locale_struct and __locale_t. 9137 // Copyright (C) 1997-2020 Free Software Foundation, Inc. 9138 // This file is part of the GNU C Library. 9139 // Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. 9140 // 9141 // The GNU C Library is free software; you can redistribute it and/or 9142 // modify it under the terms of the GNU Lesser General Public 9143 // License as published by the Free Software Foundation; either 9144 // version 2.1 of the License, or (at your option) any later version. 9145 // 9146 // The GNU C Library is distributed in the hope that it will be useful, 9147 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9148 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9149 // Lesser General Public License for more details. 9150 // 9151 // You should have received a copy of the GNU Lesser General Public 9152 // License along with the GNU C Library; if not, see 9153 // <https://www.gnu.org/licenses/>. 9154 9155 // POSIX.1-2008: the locale_t type, representing a locale context 9156 // (implementation-namespace version). This type should be treated 9157 // as opaque by applications; some details are exposed for the sake of 9158 // efficiency in e.g. ctype functions. 9159 9160 type X__locale_struct = struct { 9161 F__locales [13]uintptr 9162 F__ctype_b uintptr 9163 F__ctype_tolower uintptr 9164 F__ctype_toupper uintptr 9165 F__names [13]uintptr 9166 } /* __locale_t.h:28:1 */ 9167 9168 type X__locale_t = uintptr /* __locale_t.h:42:32 */ 9169 9170 type Locale_t = X__locale_t /* locale_t.h:24:20 */ 9171 9172 // the new Xfuncs.h 9173 9174 // the ANSI C way 9175 9176 // 9177 // O/S-dependent (mis)feature macro definitions 9178 // 9179 // Copyright 1991, 1998 The Open Group 9180 // 9181 // Permission to use, copy, modify, distribute, and sell this software and its 9182 // documentation for any purpose is hereby granted without fee, provided that 9183 // the above copyright notice appear in all copies and that both that 9184 // copyright notice and this permission notice appear in supporting 9185 // documentation. 9186 // 9187 // The above copyright notice and this permission notice shall be included in 9188 // all copies or substantial portions of the Software. 9189 // 9190 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9191 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9192 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9193 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9194 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9195 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9196 // 9197 // Except as contained in this notice, the name of The Open Group shall not be 9198 // used in advertising or otherwise to promote the sale, use or other dealings 9199 // in this Software without prior written authorization from The Open Group. 9200 // 9201 9202 // Utek leaves kernel macros around in include files (bleah) 9203 9204 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9205 // This file is part of the GNU C Library. 9206 // 9207 // The GNU C Library is free software; you can redistribute it and/or 9208 // modify it under the terms of the GNU Lesser General Public 9209 // License as published by the Free Software Foundation; either 9210 // version 2.1 of the License, or (at your option) any later version. 9211 // 9212 // The GNU C Library is distributed in the hope that it will be useful, 9213 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9214 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9215 // Lesser General Public License for more details. 9216 // 9217 // You should have received a copy of the GNU Lesser General Public 9218 // License along with the GNU C Library; if not, see 9219 // <https://www.gnu.org/licenses/>. 9220 9221 // ISO C99 Standard: 7.20 General utilities <stdlib.h> 9222 9223 // Handle feature test macros at the start of a header. 9224 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 9225 // This file is part of the GNU C Library. 9226 // 9227 // The GNU C Library is free software; you can redistribute it and/or 9228 // modify it under the terms of the GNU Lesser General Public 9229 // License as published by the Free Software Foundation; either 9230 // version 2.1 of the License, or (at your option) any later version. 9231 // 9232 // The GNU C Library is distributed in the hope that it will be useful, 9233 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9234 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9235 // Lesser General Public License for more details. 9236 // 9237 // You should have received a copy of the GNU Lesser General Public 9238 // License along with the GNU C Library; if not, see 9239 // <https://www.gnu.org/licenses/>. 9240 9241 // This header is internal to glibc and should not be included outside 9242 // of glibc headers. Headers including it must define 9243 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 9244 // cannot have multiple include guards because ISO C feature test 9245 // macros depend on the definition of the macro when an affected 9246 // header is included, not when the first system header is 9247 // included. 9248 9249 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9250 // This file is part of the GNU C Library. 9251 // 9252 // The GNU C Library is free software; you can redistribute it and/or 9253 // modify it under the terms of the GNU Lesser General Public 9254 // License as published by the Free Software Foundation; either 9255 // version 2.1 of the License, or (at your option) any later version. 9256 // 9257 // The GNU C Library is distributed in the hope that it will be useful, 9258 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9259 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9260 // Lesser General Public License for more details. 9261 // 9262 // You should have received a copy of the GNU Lesser General Public 9263 // License along with the GNU C Library; if not, see 9264 // <https://www.gnu.org/licenses/>. 9265 9266 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 9267 // macro. 9268 9269 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 9270 // macro. Most but not all symbols enabled by that macro in TS 9271 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 9272 // still require that macro in C2X. 9273 9274 // ISO/IEC TS 18661-4:2015 defines the 9275 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 9276 // functions, the symbols from this TS are enabled unconditionally in 9277 // C2X. 9278 9279 // ISO/IEC TS 18661-3:2015 defines the 9280 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 9281 9282 // Get size_t, wchar_t and NULL from <stddef.h>. 9283 // Copyright (C) 1989-2020 Free Software Foundation, Inc. 9284 // 9285 // This file is part of GCC. 9286 // 9287 // GCC is free software; you can redistribute it and/or modify 9288 // it under the terms of the GNU General Public License as published by 9289 // the Free Software Foundation; either version 3, or (at your option) 9290 // any later version. 9291 // 9292 // GCC is distributed in the hope that it will be useful, 9293 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9294 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9295 // GNU General Public License for more details. 9296 // 9297 // Under Section 7 of GPL version 3, you are granted additional 9298 // permissions described in the GCC Runtime Library Exception, version 9299 // 3.1, as published by the Free Software Foundation. 9300 // 9301 // You should have received a copy of the GNU General Public License and 9302 // a copy of the GCC Runtime Library Exception along with this program; 9303 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 9304 // <http://www.gnu.org/licenses/>. 9305 9306 // ISO C Standard: 7.17 Common definitions <stddef.h> 9307 9308 // Any one of these symbols __need_* means that GNU libc 9309 // wants us just to define one data type. So don't define 9310 // the symbols that indicate this file's entire job has been done. 9311 9312 // This avoids lossage on SunOS but only if stdtypes.h comes first. 9313 // There's no way to win with the other order! Sun lossage. 9314 9315 // Sequent's header files use _PTRDIFF_T_ in some conflicting way. 9316 // Just ignore it. 9317 9318 // On VxWorks, <type/vxTypesBase.h> may have defined macros like 9319 // _TYPE_size_t which will typedef size_t. fixincludes patched the 9320 // vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is 9321 // not defined, and so that defining this macro defines _GCC_SIZE_T. 9322 // If we find that the macros are still defined at this point, we must 9323 // invoke them so that the type is defined as expected. 9324 9325 // In case nobody has defined these types, but we aren't running under 9326 // GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and 9327 // __WCHAR_TYPE__ have reasonable values. This can happen if the 9328 // parts of GCC is compiled by an older compiler, that actually 9329 // include gstddef.h, such as collect2. 9330 9331 // Signed type of difference of two pointers. 9332 9333 // Define this type if we are doing the whole job, 9334 // or if we want this type in particular. 9335 9336 // If this symbol has done its job, get rid of it. 9337 9338 // Unsigned type of `sizeof' something. 9339 9340 // Define this type if we are doing the whole job, 9341 // or if we want this type in particular. 9342 9343 // Wide character type. 9344 // Locale-writers should change this as necessary to 9345 // be big enough to hold unique values not between 0 and 127, 9346 // and not (wchar_t) -1, for each defined multibyte character. 9347 9348 // Define this type if we are doing the whole job, 9349 // or if we want this type in particular. 9350 9351 // A null pointer constant. 9352 9353 // Offset of member MEMBER in a struct of type TYPE. 9354 9355 // XPG requires a few symbols from <sys/wait.h> being defined. 9356 // Definitions of flag bits for `waitpid' et al. 9357 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 9358 // This file is part of the GNU C Library. 9359 // 9360 // The GNU C Library is free software; you can redistribute it and/or 9361 // modify it under the terms of the GNU Lesser General Public 9362 // License as published by the Free Software Foundation; either 9363 // version 2.1 of the License, or (at your option) any later version. 9364 // 9365 // The GNU C Library is distributed in the hope that it will be useful, 9366 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9367 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9368 // Lesser General Public License for more details. 9369 // 9370 // You should have received a copy of the GNU Lesser General Public 9371 // License along with the GNU C Library; if not, see 9372 // <https://www.gnu.org/licenses/>. 9373 9374 // Bits in the third argument to `waitpid'. 9375 9376 // Bits in the fourth argument to `waitid'. 9377 9378 // The following values are used by the `waitid' function. 9379 9380 // The Linux kernel defines these bare, rather than an enum, 9381 // which causes a conflict if the include order is reversed. 9382 9383 type Idtype_t = uint32 /* waitflags.h:57:3 */ 9384 // Definitions of status bits for `wait' et al. 9385 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 9386 // This file is part of the GNU C Library. 9387 // 9388 // The GNU C Library is free software; you can redistribute it and/or 9389 // modify it under the terms of the GNU Lesser General Public 9390 // License as published by the Free Software Foundation; either 9391 // version 2.1 of the License, or (at your option) any later version. 9392 // 9393 // The GNU C Library is distributed in the hope that it will be useful, 9394 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9395 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9396 // Lesser General Public License for more details. 9397 // 9398 // You should have received a copy of the GNU Lesser General Public 9399 // License along with the GNU C Library; if not, see 9400 // <https://www.gnu.org/licenses/>. 9401 9402 // Everything extant so far uses these same bits. 9403 9404 // If WIFEXITED(STATUS), the low-order 8 bits of the status. 9405 9406 // If WIFSIGNALED(STATUS), the terminating signal. 9407 9408 // If WIFSTOPPED(STATUS), the signal that stopped the child. 9409 9410 // Nonzero if STATUS indicates normal termination. 9411 9412 // Nonzero if STATUS indicates termination by a signal. 9413 9414 // Nonzero if STATUS indicates the child is stopped. 9415 9416 // Nonzero if STATUS indicates the child continued after a stop. We only 9417 // define this if <bits/waitflags.h> provides the WCONTINUED flag bit. 9418 9419 // Nonzero if STATUS indicates the child dumped core. 9420 9421 // Macros for constructing status values. 9422 9423 // Define the macros <sys/wait.h> also would define this way. 9424 9425 // _FloatN API tests for enablement. 9426 // Macros to control TS 18661-3 glibc features on ldbl-128 platforms. 9427 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 9428 // This file is part of the GNU C Library. 9429 // 9430 // The GNU C Library is free software; you can redistribute it and/or 9431 // modify it under the terms of the GNU Lesser General Public 9432 // License as published by the Free Software Foundation; either 9433 // version 2.1 of the License, or (at your option) any later version. 9434 // 9435 // The GNU C Library is distributed in the hope that it will be useful, 9436 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9437 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9438 // Lesser General Public License for more details. 9439 // 9440 // You should have received a copy of the GNU Lesser General Public 9441 // License along with the GNU C Library; if not, see 9442 // <https://www.gnu.org/licenses/>. 9443 9444 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9445 // This file is part of the GNU C Library. 9446 // 9447 // The GNU C Library is free software; you can redistribute it and/or 9448 // modify it under the terms of the GNU Lesser General Public 9449 // License as published by the Free Software Foundation; either 9450 // version 2.1 of the License, or (at your option) any later version. 9451 // 9452 // The GNU C Library is distributed in the hope that it will be useful, 9453 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9454 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9455 // Lesser General Public License for more details. 9456 // 9457 // You should have received a copy of the GNU Lesser General Public 9458 // License along with the GNU C Library; if not, see 9459 // <https://www.gnu.org/licenses/>. 9460 9461 // Properties of long double type. ldbl-128 version. 9462 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 9463 // This file is part of the GNU C Library. 9464 // 9465 // The GNU C Library is free software; you can redistribute it and/or 9466 // modify it under the terms of the GNU Lesser General Public 9467 // License published by the Free Software Foundation; either 9468 // version 2.1 of the License, or (at your option) any later version. 9469 // 9470 // The GNU C Library is distributed in the hope that it will be useful, 9471 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9472 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9473 // Lesser General Public License for more details. 9474 // 9475 // You should have received a copy of the GNU Lesser General Public 9476 // License along with the GNU C Library; if not, see 9477 // <https://www.gnu.org/licenses/>. 9478 9479 // long double is distinct from double, so there is nothing to 9480 // define here. 9481 9482 // Defined to 1 if the current compiler invocation provides a 9483 // floating-point type with the IEEE 754 binary128 format, and this 9484 // glibc includes corresponding *f128 interfaces for it. 9485 9486 // Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct 9487 // from the default float, double and long double types in this glibc. 9488 9489 // Defined to 1 if the current compiler invocation provides a 9490 // floating-point type with the right format for _Float64x, and this 9491 // glibc includes corresponding *f64x interfaces for it. 9492 9493 // Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format 9494 // of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has 9495 // the format of _Float128, which must be different from that of long 9496 // double. 9497 9498 // Defined to concatenate the literal suffix to be used with _Float128 9499 // types, if __HAVE_FLOAT128 is 1. 9500 9501 // Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. 9502 9503 // The remaining of this file provides support for older compilers. 9504 9505 // The type _Float128 exists only since GCC 7.0. 9506 9507 // Various built-in functions do not exist before GCC 7.0. 9508 9509 // Macros to control TS 18661-3 glibc features where the same 9510 // definitions are appropriate for all platforms. 9511 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 9512 // This file is part of the GNU C Library. 9513 // 9514 // The GNU C Library is free software; you can redistribute it and/or 9515 // modify it under the terms of the GNU Lesser General Public 9516 // License as published by the Free Software Foundation; either 9517 // version 2.1 of the License, or (at your option) any later version. 9518 // 9519 // The GNU C Library is distributed in the hope that it will be useful, 9520 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9521 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9522 // Lesser General Public License for more details. 9523 // 9524 // You should have received a copy of the GNU Lesser General Public 9525 // License along with the GNU C Library; if not, see 9526 // <https://www.gnu.org/licenses/>. 9527 9528 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9529 // This file is part of the GNU C Library. 9530 // 9531 // The GNU C Library is free software; you can redistribute it and/or 9532 // modify it under the terms of the GNU Lesser General Public 9533 // License as published by the Free Software Foundation; either 9534 // version 2.1 of the License, or (at your option) any later version. 9535 // 9536 // The GNU C Library is distributed in the hope that it will be useful, 9537 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9538 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9539 // Lesser General Public License for more details. 9540 // 9541 // You should have received a copy of the GNU Lesser General Public 9542 // License along with the GNU C Library; if not, see 9543 // <https://www.gnu.org/licenses/>. 9544 9545 // Properties of long double type. ldbl-128 version. 9546 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 9547 // This file is part of the GNU C Library. 9548 // 9549 // The GNU C Library is free software; you can redistribute it and/or 9550 // modify it under the terms of the GNU Lesser General Public 9551 // License published by the Free Software Foundation; either 9552 // version 2.1 of the License, or (at your option) any later version. 9553 // 9554 // The GNU C Library is distributed in the hope that it will be useful, 9555 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9556 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9557 // Lesser General Public License for more details. 9558 // 9559 // You should have received a copy of the GNU Lesser General Public 9560 // License along with the GNU C Library; if not, see 9561 // <https://www.gnu.org/licenses/>. 9562 9563 // long double is distinct from double, so there is nothing to 9564 // define here. 9565 9566 // This header should be included at the bottom of each bits/floatn.h. 9567 // It defines the following macros for each _FloatN and _FloatNx type, 9568 // where the same definitions, or definitions based only on the macros 9569 // in bits/floatn.h, are appropriate for all glibc configurations. 9570 9571 // Defined to 1 if the current compiler invocation provides a 9572 // floating-point type with the right format for this type, and this 9573 // glibc includes corresponding *fN or *fNx interfaces for it. 9574 9575 // Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the 9576 // type is the first with its format in the sequence of (the default 9577 // choices for) float, double, long double, _Float16, _Float32, 9578 // _Float64, _Float128, _Float32x, _Float64x, _Float128x for this 9579 // glibc; that is, if functions present once per floating-point format 9580 // rather than once per type are present for this type. 9581 // 9582 // All configurations supported by glibc have _Float32 the same format 9583 // as float, _Float64 and _Float32x the same format as double, the 9584 // _Float64x the same format as either long double or _Float128. No 9585 // configurations support _Float128x or, as of GCC 7, have compiler 9586 // support for a type meeting the requirements for _Float128x. 9587 9588 // Defined to 1 if the corresponding _FloatN type is not binary compatible 9589 // with the corresponding ISO C type in the current compilation unit as 9590 // opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built 9591 // in glibc. 9592 9593 // Defined to 1 if any _FloatN or _FloatNx types that are not 9594 // ABI-distinct are however distinct types at the C language level (so 9595 // for the purposes of __builtin_types_compatible_p and _Generic). 9596 9597 // Defined to concatenate the literal suffix to be used with _FloatN 9598 // or _FloatNx types, if __HAVE_<type> is 1. The corresponding 9599 // literal suffixes exist since GCC 7, for C only. 9600 9601 // Defined to a complex type if __HAVE_<type> is 1. 9602 9603 // The remaining of this file provides support for older compilers. 9604 9605 // If double, long double and _Float64 all have the same set of 9606 // values, TS 18661-3 requires the usual arithmetic conversions on 9607 // long double and _Float64 to produce _Float64. For this to be the 9608 // case when building with a compiler without a distinct _Float64 9609 // type, _Float64 must be a typedef for long double, not for 9610 // double. 9611 9612 // Returned by `div'. 9613 type Div_t = struct { 9614 Fquot int32 9615 Frem int32 9616 } /* stdlib.h:62:5 */ 9617 9618 // Returned by `ldiv'. 9619 type Ldiv_t = struct { 9620 Fquot int64 9621 Frem int64 9622 } /* stdlib.h:70:5 */ 9623 9624 // Returned by `lldiv'. 9625 type Lldiv_t = struct { 9626 Fquot int64 9627 Frem int64 9628 } /* stdlib.h:80:5 */ 9629 9630 // Reentrant versions of the `random' family of functions. 9631 // These functions all use the following data structure to contain 9632 // state, rather than global state variables. 9633 9634 type Random_data = struct { 9635 Ffptr uintptr 9636 Frptr uintptr 9637 Fstate uintptr 9638 Frand_type int32 9639 Frand_deg int32 9640 Frand_sep int32 9641 F__ccgo_pad1 [4]byte 9642 Fend_ptr uintptr 9643 } /* stdlib.h:423:1 */ 9644 9645 // Data structure for communication with thread safe versions. This 9646 // type is to be regarded as opaque. It's only exported because users 9647 // have to allocate objects of this type. 9648 type Drand48_data = struct { 9649 F__x [3]uint16 9650 F__old_x [3]uint16 9651 F__c uint16 9652 F__init uint16 9653 F__a uint64 9654 } /* stdlib.h:490:1 */ 9655 9656 // Shorthand for type of comparison functions. 9657 type X__compar_fn_t = uintptr /* stdlib.h:808:13 */ 9658 9659 // Floating-point inline functions for stdlib.h. 9660 // Copyright (C) 2012-2020 Free Software Foundation, Inc. 9661 // This file is part of the GNU C Library. 9662 // 9663 // The GNU C Library is free software; you can redistribute it and/or 9664 // modify it under the terms of the GNU Lesser General Public 9665 // License as published by the Free Software Foundation; either 9666 // version 2.1 of the License, or (at your option) any later version. 9667 // 9668 // The GNU C Library is distributed in the hope that it will be useful, 9669 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9670 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9671 // Lesser General Public License for more details. 9672 // 9673 // You should have received a copy of the GNU Lesser General Public 9674 // License along with the GNU C Library; if not, see 9675 // <https://www.gnu.org/licenses/>. 9676 9677 // Define some macros helping to catch buffer overflows. 9678 9679 // Macros to control TS 18661-3 glibc features on ldbl-128 platforms. 9680 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 9681 // This file is part of the GNU C Library. 9682 // 9683 // The GNU C Library is free software; you can redistribute it and/or 9684 // modify it under the terms of the GNU Lesser General Public 9685 // License as published by the Free Software Foundation; either 9686 // version 2.1 of the License, or (at your option) any later version. 9687 // 9688 // The GNU C Library is distributed in the hope that it will be useful, 9689 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9690 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9691 // Lesser General Public License for more details. 9692 // 9693 // You should have received a copy of the GNU Lesser General Public 9694 // License along with the GNU C Library; if not, see 9695 // <https://www.gnu.org/licenses/>. 9696 9697 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9698 // This file is part of the GNU C Library. 9699 // 9700 // The GNU C Library is free software; you can redistribute it and/or 9701 // modify it under the terms of the GNU Lesser General Public 9702 // License as published by the Free Software Foundation; either 9703 // version 2.1 of the License, or (at your option) any later version. 9704 // 9705 // The GNU C Library is distributed in the hope that it will be useful, 9706 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9707 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9708 // Lesser General Public License for more details. 9709 // 9710 // You should have received a copy of the GNU Lesser General Public 9711 // License along with the GNU C Library; if not, see 9712 // <https://www.gnu.org/licenses/>. 9713 9714 // ISO C99 Standard: 7.21 String handling <string.h> 9715 9716 // 9717 // 9718 // Copyright 1989, 1991, 1998 The Open Group 9719 // 9720 // Permission to use, copy, modify, distribute, and sell this software and its 9721 // documentation for any purpose is hereby granted without fee, provided that 9722 // the above copyright notice appear in all copies and that both that 9723 // copyright notice and this permission notice appear in supporting 9724 // documentation. 9725 // 9726 // The above copyright notice and this permission notice shall be included in 9727 // all copies or substantial portions of the Software. 9728 // 9729 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9730 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9731 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9732 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9733 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9734 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9735 // 9736 // Except as contained in this notice, the name of The Open Group shall not be 9737 // used in advertising or otherwise to promote the sale, use or other dealings 9738 // in this Software without prior written authorization from The Open Group. 9739 // * 9740 // 9741 9742 // Definitions to make function prototypes manageable 9743 9744 // The following definitions can be used for locking requests in multi-threaded 9745 // address spaces. 9746 // Author: Stephen Gildea, MIT X Consortium 9747 // 9748 // declarations for C Threads locking 9749 9750 type LockInfoPtr = uintptr /* Xlibint.h:363:29 */ 9751 9752 // Xlib manual is bogus 9753 9754 // CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit 9755 // character. If the character is in the column and exists, then return the 9756 // appropriate metrics (note that fonts with common per-character metrics will 9757 // return min_bounds). If none of these hold true, try again with the default 9758 // char. 9759 9760 // CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and 9761 // column. This is used for fonts that have more than row zero. 9762 9763 // srcvar must be a variable for large architecture version 9764 9765 type X_XAsyncHandler = X_XInternalAsync /* Xlibint.h:782:3 */ 9766 9767 // This struct is part of the ABI and is defined by value 9768 // in user-code. This means that we cannot make 9769 // the sequence-numbers 64bit. 9770 type X_XAsyncEState = struct { 9771 Fmin_sequence_number uint64 9772 Fmax_sequence_number uint64 9773 Ferror_code uint8 9774 Fmajor_opcode uint8 9775 Fminor_opcode uint16 9776 Flast_error_received uint8 9777 F__ccgo_pad1 [3]byte 9778 Ferror_count int32 9779 F__ccgo_pad2 [4]byte 9780 } /* Xlibint.h:789:9 */ 9781 9782 // This struct is part of the ABI and is defined by value 9783 // in user-code. This means that we cannot make 9784 // the sequence-numbers 64bit. 9785 type X_XAsyncErrorState = X_XAsyncEState /* Xlibint.h:797:3 */ 9786 9787 type FreeFuncType = uintptr /* Xlibint.h:807:14 */ 9788 9789 type FreeModmapType = uintptr /* Xlibint.h:811:13 */ 9790 9791 // This structure is private to the library. 9792 type X_XFreeFuncRec = X_XFreeFuncs /* Xlibint.h:828:3 */ 9793 9794 // types for InitExt.c 9795 type CreateGCType = uintptr /* Xlibint.h:831:13 */ 9796 9797 type CopyGCType = uintptr /* Xlibint.h:837:13 */ 9798 9799 type FlushGCType = uintptr /* Xlibint.h:843:13 */ 9800 9801 type FreeGCType = uintptr /* Xlibint.h:849:13 */ 9802 9803 type CreateFontType = uintptr /* Xlibint.h:855:13 */ 9804 9805 type FreeFontType = uintptr /* Xlibint.h:861:13 */ 9806 9807 type CloseDisplayType = uintptr /* Xlibint.h:867:13 */ 9808 9809 type ErrorType = uintptr /* Xlibint.h:872:13 */ 9810 9811 type ErrorStringType = uintptr /* Xlibint.h:879:13 */ 9812 9813 type PrintErrorType = uintptr /* Xlibint.h:887:14 */ 9814 9815 type BeforeFlushType = uintptr /* Xlibint.h:893:14 */ 9816 9817 // This structure is private to the library. 9818 type X_XExtension = X_XExten /* Xlibint.h:919:3 */ 9819 9820 // internal connections for IMs 9821 9822 type X_XInternalConnectionProc = uintptr /* Xlibint.h:1289:14 */ 9823 9824 //********************************************************** 9825 // 9826 // Copyright 1987, 1998 The Open Group 9827 // 9828 // Permission to use, copy, modify, distribute, and sell this software and its 9829 // documentation for any purpose is hereby granted without fee, provided that 9830 // the above copyright notice appear in all copies and that both that 9831 // copyright notice and this permission notice appear in supporting 9832 // documentation. 9833 // 9834 // The above copyright notice and this permission notice shall be included in 9835 // all copies or substantial portions of the Software. 9836 // 9837 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9838 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9839 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9840 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9841 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9842 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9843 // 9844 // Except as contained in this notice, the name of The Open Group shall not be 9845 // used in advertising or otherwise to promote the sale, use or other dealings 9846 // in this Software without prior written authorization from The Open Group. 9847 // 9848 // 9849 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 9850 // 9851 // All Rights Reserved 9852 // 9853 // Permission to use, copy, modify, and distribute this software and its 9854 // documentation for any purpose and without fee is hereby granted, 9855 // provided that the above copyright notice appear in all copies and that 9856 // both that copyright notice and this permission notice appear in 9857 // supporting documentation, and that the name of Digital not be 9858 // used in advertising or publicity pertaining to distribution of the 9859 // software without specific, written prior permission. 9860 // 9861 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 9862 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 9863 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 9864 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 9865 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 9866 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 9867 // SOFTWARE. 9868 // 9869 // ***************************************************************** 9870 9871 // You must include <X11/Xlib.h> before including this file 9872 // 9873 // 9874 // Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 9875 // 9876 // Permission to use, copy, modify, distribute, and sell this software and its 9877 // documentation for any purpose is hereby granted without fee, provided that 9878 // the above copyright notice appear in all copies and that both that 9879 // copyright notice and this permission notice appear in supporting 9880 // documentation. 9881 // 9882 // The above copyright notice and this permission notice shall be included in 9883 // all copies or substantial portions of the Software. 9884 // 9885 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9886 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9887 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9888 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9889 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9890 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9891 // 9892 // Except as contained in this notice, the name of The Open Group shall not be 9893 // used in advertising or otherwise to promote the sale, use or other dealings 9894 // in this Software without prior written authorization from The Open Group. 9895 // 9896 9897 // Xlib.h - Header definition and support file for the C subroutine 9898 // interface library (Xlib) to the X Window System Protocol (V11). 9899 // Structures and symbols starting with "_" are private to the library. 9900 //********************************************************** 9901 // 9902 // Copyright 1987, 1998 The Open Group 9903 // 9904 // Permission to use, copy, modify, distribute, and sell this software and its 9905 // documentation for any purpose is hereby granted without fee, provided that 9906 // the above copyright notice appear in all copies and that both that 9907 // copyright notice and this permission notice appear in supporting 9908 // documentation. 9909 // 9910 // The above copyright notice and this permission notice shall be included in 9911 // all copies or substantial portions of the Software. 9912 // 9913 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9914 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9915 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9916 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9917 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9918 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9919 // 9920 // Except as contained in this notice, the name of The Open Group shall not be 9921 // used in advertising or otherwise to promote the sale, use or other dealings 9922 // in this Software without prior written authorization from The Open Group. 9923 // 9924 // 9925 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 9926 // 9927 // All Rights Reserved 9928 // 9929 // Permission to use, copy, modify, and distribute this software and its 9930 // documentation for any purpose and without fee is hereby granted, 9931 // provided that the above copyright notice appear in all copies and that 9932 // both that copyright notice and this permission notice appear in 9933 // supporting documentation, and that the name of Digital not be 9934 // used in advertising or publicity pertaining to distribution of the 9935 // software without specific, written prior permission. 9936 // 9937 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 9938 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 9939 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 9940 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 9941 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 9942 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 9943 // SOFTWARE. 9944 // 9945 // ***************************************************************** 9946 9947 // default keysyms 9948 9949 //********************************************************** 9950 // Copyright 1987, 1994, 1998 The Open Group 9951 // 9952 // Permission to use, copy, modify, distribute, and sell this software and its 9953 // documentation for any purpose is hereby granted without fee, provided that 9954 // the above copyright notice appear in all copies and that both that 9955 // copyright notice and this permission notice appear in supporting 9956 // documentation. 9957 // 9958 // The above copyright notice and this permission notice shall be included 9959 // in all copies or substantial portions of the Software. 9960 // 9961 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 9962 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 9963 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 9964 // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR 9965 // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 9966 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 9967 // OTHER DEALINGS IN THE SOFTWARE. 9968 // 9969 // Except as contained in this notice, the name of The Open Group shall 9970 // not be used in advertising or otherwise to promote the sale, use or 9971 // other dealings in this Software without prior written authorization 9972 // from The Open Group. 9973 // 9974 // 9975 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts 9976 // 9977 // All Rights Reserved 9978 // 9979 // Permission to use, copy, modify, and distribute this software and its 9980 // documentation for any purpose and without fee is hereby granted, 9981 // provided that the above copyright notice appear in all copies and that 9982 // both that copyright notice and this permission notice appear in 9983 // supporting documentation, and that the name of Digital not be 9984 // used in advertising or publicity pertaining to distribution of the 9985 // software without specific, written prior permission. 9986 // 9987 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 9988 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 9989 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 9990 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 9991 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 9992 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 9993 // SOFTWARE. 9994 // 9995 // ***************************************************************** 9996 9997 // The "X11 Window System Protocol" standard defines in Appendix A the 9998 // keysym codes. These 29-bit integer values identify characters or 9999 // functions associated with each key (e.g., via the visible 10000 // engraving) of a keyboard layout. This file assigns mnemonic macro 10001 // names for these keysyms. 10002 // 10003 // This file is also compiled (by src/util/makekeys.c in libX11) into 10004 // hash tables that can be accessed with X11 library functions such as 10005 // XStringToKeysym() and XKeysymToString(). 10006 // 10007 // Where a keysym corresponds one-to-one to an ISO 10646 / Unicode 10008 // character, this is noted in a comment that provides both the U+xxxx 10009 // Unicode position, as well as the official Unicode name of the 10010 // character. 10011 // 10012 // Where the correspondence is either not one-to-one or semantically 10013 // unclear, the Unicode position and name are enclosed in 10014 // parentheses. Such legacy keysyms should be considered deprecated 10015 // and are not recommended for use in future keyboard mappings. 10016 // 10017 // For any future extension of the keysyms with characters already 10018 // found in ISO 10646 / Unicode, the following algorithm shall be 10019 // used. The new keysym code position will simply be the character's 10020 // Unicode number plus 0x01000000. The keysym values in the range 10021 // 0x01000100 to 0x0110ffff are reserved to represent Unicode 10022 // characters in the range U+0100 to U+10FFFF. 10023 // 10024 // While most newer Unicode-based X11 clients do already accept 10025 // Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it 10026 // will remain necessary for clients -- in the interest of 10027 // compatibility with existing servers -- to also understand the 10028 // existing legacy keysym values in the range 0x0100 to 0x20ff. 10029 // 10030 // Where several mnemonic names are defined for the same keysym in this 10031 // file, all but the first one listed should be considered deprecated. 10032 // 10033 // Mnemonic names for keysyms are defined in this file with lines 10034 // that match one of these Perl regular expressions: 10035 // 10036 // /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/ 10037 // /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/ 10038 // /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/ 10039 // 10040 // Before adding new keysyms, please do consider the following: In 10041 // addition to the keysym names defined in this file, the 10042 // XStringToKeysym() and XKeysymToString() functions will also handle 10043 // any keysym string of the form "U0020" to "U007E" and "U00A0" to 10044 // "U10FFFF" for all possible Unicode characters. In other words, 10045 // every possible Unicode character has already a keysym string 10046 // defined algorithmically, even if it is not listed here. Therefore, 10047 // defining an additional keysym macro is only necessary where a 10048 // non-hexadecimal mnemonic name is needed, or where the new keysym 10049 // does not represent any existing Unicode character. 10050 // 10051 // When adding new keysyms to this file, do not forget to also update the 10052 // following as needed: 10053 // 10054 // - the mappings in src/KeyBind.c in the libX11 repo 10055 // https://gitlab.freedesktop.org/xorg/lib/libx11 10056 // 10057 // - the protocol specification in specs/keysyms.xml in this repo 10058 // https://gitlab.freedesktop.org/xorg/proto/xorgproto 10059 // 10060 10061 // TTY function keys, cleverly chosen to map to ASCII, for convenience of 10062 // programming, but could have been arbitrary (at the cost of lookup 10063 // tables in client code). 10064 10065 // International & multi-key character composition 10066 10067 // Japanese keyboard support 10068 10069 // 0xff31 thru 0xff3f are under XK_KOREAN 10070 10071 // Cursor control & motion 10072 10073 // Misc functions 10074 10075 // Keypad functions, keypad numbers cleverly chosen to map to ASCII 10076 10077 // Auxiliary functions; note the duplicate definitions for left and right 10078 // function keys; Sun keyboards and a few other manufacturers have such 10079 // function key groups on the left and/or right sides of the keyboard. 10080 // We've not found a keyboard with more than 35 function keys total. 10081 10082 // Modifiers 10083 10084 // Keyboard (XKB) Extension function and modifier keys 10085 // (from Appendix C of "The X Keyboard Extension: Protocol Specification") 10086 // Byte 3 = 0xfe 10087 10088 // extra dead elements for German T3 layout 10089 10090 // dead vowels for universal syllable entry 10091 10092 // Single-Stroke Multiple-Character N-Graph Keysyms For The X Input Method 10093 10094 // 3270 Terminal Keys 10095 // Byte 3 = 0xfd 10096 10097 // Latin 1 10098 // (ISO/IEC 8859-1 = Unicode U+0020..U+00FF) 10099 // Byte 3 = 0 10100 10101 // Latin 2 10102 // Byte 3 = 1 10103 10104 // Latin 3 10105 // Byte 3 = 2 10106 10107 // Latin 4 10108 // Byte 3 = 3 10109 10110 // Latin 8 10111 10112 // Latin 9 10113 // Byte 3 = 0x13 10114 10115 // Katakana 10116 // Byte 3 = 4 10117 10118 // Arabic 10119 // Byte 3 = 5 10120 10121 // Cyrillic 10122 // Byte 3 = 6 10123 10124 // Greek 10125 // (based on an early draft of, and not quite identical to, ISO/IEC 8859-7) 10126 // Byte 3 = 7 10127 10128 // Technical 10129 // (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html) 10130 // Byte 3 = 8 10131 10132 // Special 10133 // (from the DEC VT100 Special Graphics Character Set) 10134 // Byte 3 = 9 10135 10136 // Publishing 10137 // (these are probably from a long forgotten DEC Publishing 10138 // font that once shipped with DECwrite) 10139 // Byte 3 = 0x0a 10140 10141 // APL 10142 // Byte 3 = 0x0b 10143 10144 // Hebrew 10145 // Byte 3 = 0x0c 10146 10147 // Thai 10148 // Byte 3 = 0x0d 10149 10150 // Korean 10151 // Byte 3 = 0x0e 10152 10153 // Hangul Consonant Characters 10154 10155 // Hangul Vowel Characters 10156 10157 // Hangul syllable-final (JongSeong) Characters 10158 10159 // Ancient Hangul Consonant Characters 10160 10161 // Ancient Hangul Vowel Characters 10162 10163 // Ancient Hangul syllable-final (JongSeong) Characters 10164 10165 // Korean currency symbol 10166 10167 // Armenian 10168 10169 // Georgian 10170 10171 // Azeri (and other Turkic or Caucasian languages) 10172 10173 // latin 10174 // those are not really Caucasus 10175 // For Inupiak 10176 10177 // Vietnamese 10178 10179 // one, two and three are defined above. 10180 10181 // Sinhala (http://unicode.org/charts/PDF/U0D80.pdf) 10182 // http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_6.html 10183 10184 // The Xlib structs are full of implicit padding to properly align members. 10185 // We can't clean that up without breaking ABI, so tell clang not to bother 10186 // complaining about it. 10187 10188 // Bitmask returned by XParseGeometry(). Each bit tells if the corresponding 10189 // value (x, y, width, height) was found in the parsed string. 10190 10191 // new version containing base_width, base_height, and win_gravity fields; 10192 // used with WM_NORMAL_HINTS. 10193 type XSizeHints = struct { 10194 Fflags int64 10195 Fx int32 10196 Fy int32 10197 Fwidth int32 10198 Fheight int32 10199 Fmin_width int32 10200 Fmin_height int32 10201 Fmax_width int32 10202 Fmax_height int32 10203 Fwidth_inc int32 10204 Fheight_inc int32 10205 Fmin_aspect struct { 10206 Fx int32 10207 Fy int32 10208 } 10209 Fmax_aspect struct { 10210 Fx int32 10211 Fy int32 10212 } 10213 Fbase_width int32 10214 Fbase_height int32 10215 Fwin_gravity int32 10216 F__ccgo_pad1 [4]byte 10217 } /* Xutil.h:94:3 */ 10218 10219 // The next block of definitions are for window manager properties that 10220 // clients and applications use for communication. 10221 10222 // flags argument in size hints 10223 10224 // obsolete 10225 10226 type XWMHints = struct { 10227 Fflags int64 10228 Finput int32 10229 Finitial_state int32 10230 Ficon_pixmap Pixmap 10231 Ficon_window Window 10232 Ficon_x int32 10233 Ficon_y int32 10234 Ficon_mask Pixmap 10235 Fwindow_group XID 10236 } /* Xutil.h:130:3 */ 10237 10238 // definition for flags of XWMHints 10239 10240 // definitions for initial window state 10241 10242 // Obsolete states no longer defined by ICCCM 10243 // some wm's may put it on inactive menu 10244 10245 // new structure for manipulating TEXT properties; used with WM_NAME, 10246 // WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND. 10247 type XTextProperty = struct { 10248 Fvalue uintptr 10249 Fencoding Atom 10250 Fformat int32 10251 F__ccgo_pad1 [4]byte 10252 Fnitems uint64 10253 } /* Xutil.h:168:3 */ 10254 10255 type XICCEncodingStyle = uint32 /* Xutil.h:181:3 */ 10256 10257 type XIconSize = struct { 10258 Fmin_width int32 10259 Fmin_height int32 10260 Fmax_width int32 10261 Fmax_height int32 10262 Fwidth_inc int32 10263 Fheight_inc int32 10264 } /* Xutil.h:187:3 */ 10265 10266 type XClassHint = struct { 10267 Fres_name uintptr 10268 Fres_class uintptr 10269 } /* Xutil.h:192:3 */ 10270 10271 // These macros are used to give some sugar to the image routines so that 10272 // naive people are more comfortable with them. 10273 10274 // Compose sequence status structure, used in calling XLookupString. 10275 type X_XComposeStatus = struct { 10276 Fcompose_ptr XPointer 10277 Fchars_matched int32 10278 F__ccgo_pad1 [4]byte 10279 } /* Xutil.h:231:9 */ 10280 10281 // These macros are used to give some sugar to the image routines so that 10282 // naive people are more comfortable with them. 10283 10284 // Compose sequence status structure, used in calling XLookupString. 10285 type XComposeStatus = X_XComposeStatus /* Xutil.h:234:3 */ 10286 10287 // Keysym macros, used on Keysyms to test for classes of symbols 10288 10289 // opaque reference to Region data type 10290 type X_XRegion = struct { 10291 Fsize int64 10292 FnumRects int64 10293 Frects uintptr 10294 Fextents BOX 10295 } /* Xutil.h:273:9 */ 10296 10297 // Keysym macros, used on Keysyms to test for classes of symbols 10298 10299 // opaque reference to Region data type 10300 type Region = uintptr /* Xutil.h:273:25 */ 10301 10302 // Return values from XRectInRegion() 10303 10304 // Information used by the visual utility routines to find desired visual 10305 // type from the many visuals a display may support. 10306 10307 type XVisualInfo = struct { 10308 Fvisual uintptr 10309 Fvisualid VisualID 10310 Fscreen int32 10311 Fdepth int32 10312 Fclass int32 10313 F__ccgo_pad1 [4]byte 10314 Fred_mask uint64 10315 Fgreen_mask uint64 10316 Fblue_mask uint64 10317 Fcolormap_size int32 10318 Fbits_per_rgb int32 10319 } /* Xutil.h:302:3 */ 10320 10321 // This defines a window manager property that clients may use to 10322 // share standard color maps of type RGB_COLOR_MAP: 10323 type XStandardColormap = struct { 10324 Fcolormap Colormap 10325 Fred_max uint64 10326 Fred_mult uint64 10327 Fgreen_max uint64 10328 Fgreen_mult uint64 10329 Fblue_max uint64 10330 Fblue_mult uint64 10331 Fbase_pixel uint64 10332 Fvisualid VisualID 10333 Fkillid XID 10334 } /* Xutil.h:331:3 */ 10335 10336 // return codes for XReadBitmapFile and XWriteBitmapFile 10337 10338 // *************************************************************** 10339 // 10340 // 10341 // Context Management 10342 // 10343 // 10344 10345 // Associative lookup table return codes 10346 10347 type XContext = int32 /* Xutil.h:357:13 */ 10348 10349 // Copyright © 2000 SuSE, Inc. 10350 // 10351 // Permission to use, copy, modify, distribute, and sell this software and its 10352 // documentation for any purpose is hereby granted without fee, provided that 10353 // the above copyright notice appear in all copies and that both that 10354 // copyright notice and this permission notice appear in supporting 10355 // documentation, and that the name of SuSE not be used in advertising or 10356 // publicity pertaining to distribution of the software without specific, 10357 // written prior permission. SuSE makes no representations about the 10358 // suitability of this software for any purpose. It is provided "as is" 10359 // without express or implied warranty. 10360 // 10361 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 10362 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 10363 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10364 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 10365 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 10366 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 10367 // 10368 // Author: Keith Packard, SuSE, Inc. 10369 10370 //********************************************************** 10371 // 10372 // Copyright 1987, 1998 The Open Group 10373 // 10374 // Permission to use, copy, modify, distribute, and sell this software and its 10375 // documentation for any purpose is hereby granted without fee, provided that 10376 // the above copyright notice appear in all copies and that both that 10377 // copyright notice and this permission notice appear in supporting 10378 // documentation. 10379 // 10380 // The above copyright notice and this permission notice shall be included in 10381 // all copies or substantial portions of the Software. 10382 // 10383 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10384 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10385 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10386 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10387 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10388 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10389 // 10390 // Except as contained in this notice, the name of The Open Group shall not be 10391 // used in advertising or otherwise to promote the sale, use or other dealings 10392 // in this Software without prior written authorization from The Open Group. 10393 // 10394 // 10395 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 10396 // 10397 // All Rights Reserved 10398 // 10399 // Permission to use, copy, modify, and distribute this software and its 10400 // documentation for any purpose and without fee is hereby granted, 10401 // provided that the above copyright notice appear in all copies and that 10402 // both that copyright notice and this permission notice appear in 10403 // supporting documentation, and that the name of Digital not be 10404 // used in advertising or publicity pertaining to distribution of the 10405 // software without specific, written prior permission. 10406 // 10407 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 10408 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 10409 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 10410 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 10411 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 10412 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 10413 // SOFTWARE. 10414 // 10415 // ***************************************************************** 10416 // Copyright © 2000 SuSE, Inc. 10417 // 10418 // Permission to use, copy, modify, distribute, and sell this software and its 10419 // documentation for any purpose is hereby granted without fee, provided that 10420 // the above copyright notice appear in all copies and that both that 10421 // copyright notice and this permission notice appear in supporting 10422 // documentation, and that the name of SuSE not be used in advertising or 10423 // publicity pertaining to distribution of the software without specific, 10424 // written prior permission. SuSE makes no representations about the 10425 // suitability of this software for any purpose. It is provided "as is" 10426 // without express or implied warranty. 10427 // 10428 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 10429 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 10430 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10431 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 10432 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 10433 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 10434 // 10435 // Author: Keith Packard, SuSE, Inc. 10436 10437 //********************************************************** 10438 // 10439 // Copyright (c) 1999 The XFree86 Project Inc. 10440 // 10441 // All Rights Reserved. 10442 // 10443 // The above copyright notice and this permission notice shall be included in 10444 // all copies or substantial portions of the Software. 10445 // 10446 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10447 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10448 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10449 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10450 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10451 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10452 // 10453 // Except as contained in this notice, the name of The XFree86 Project 10454 // Inc. shall not be used in advertising or otherwise to promote the 10455 // sale, use or other dealings in this Software without prior written 10456 // authorization from The XFree86 Project Inc.. 10457 // 10458 10459 // * 10460 // Types definitions shared between server and clients 10461 // 10462 10463 type Pointer = uintptr /* Xdefs.h:53:14 */ 10464 10465 type ClientPtr = uintptr /* Xdefs.h:57:24 */ 10466 10467 type FontPtr = uintptr /* Xdefs.h:81:22 */ // also in fonts/include/font.h 10468 10469 type FSID = uint64 /* Xdefs.h:91:23 */ 10470 10471 type AccContext = FSID /* Xdefs.h:97:14 */ 10472 10473 // OS independent time value 10474 // XXX Should probably go in Xos.h 10475 type OSTimePtr = uintptr /* Xdefs.h:101:24 */ 10476 10477 type BlockHandlerProcPtr = uintptr /* Xdefs.h:104:14 */ 10478 10479 type Glyph = XID /* render.h:29:14 */ 10480 type GlyphSet = XID /* render.h:30:14 */ 10481 type Picture = XID /* render.h:31:14 */ 10482 type PictFormat = XID /* render.h:32:14 */ 10483 10484 // #define X_RenderTransform 16 10485 // 0.5 10486 // 0.6 10487 // 0.8 10488 // 0.9 10489 // 0.10 10490 10491 // Operators only available in version 0.2 10492 10493 // Operators only available in version 0.11 10494 10495 // Filters included in 0.6 10496 // Filters included in 0.10 10497 10498 // Subpixel orders included in 0.6 10499 10500 // Extended repeat attributes included in 0.10 10501 10502 // data structures 10503 10504 type XDirectFormat = struct { 10505 Fred CARD16 10506 FredMask CARD16 10507 Fgreen CARD16 10508 FgreenMask CARD16 10509 Fblue CARD16 10510 FblueMask CARD16 10511 Falpha CARD16 10512 FalphaMask CARD16 10513 } /* renderproto.h:61:3 */ 10514 10515 type XPictFormInfo = struct { 10516 Fid CARD32 10517 Ftype CARD8 10518 Fdepth CARD8 10519 Fpad1 CARD16 10520 Fdirect XDirectFormat 10521 Fcolormap CARD32 10522 } /* renderproto.h:72:3 */ 10523 10524 type XPictVisual = struct { 10525 Fvisual CARD32 10526 Fformat CARD32 10527 } /* renderproto.h:79:3 */ 10528 10529 type XPictDepth = struct { 10530 Fdepth CARD8 10531 Fpad1 CARD8 10532 FnPictVisuals CARD16 10533 Fpad2 CARD32 10534 } /* renderproto.h:88:3 */ 10535 10536 type XPictScreen = struct { 10537 FnDepth CARD32 10538 Ffallback CARD32 10539 } /* renderproto.h:95:3 */ 10540 10541 type XIndexValue = struct { 10542 Fpixel CARD32 10543 Fred CARD16 10544 Fgreen CARD16 10545 Fblue CARD16 10546 Falpha CARD16 10547 } /* renderproto.h:105:3 */ 10548 10549 type XRenderColor = struct { 10550 Fred CARD16 10551 Fgreen CARD16 10552 Fblue CARD16 10553 Falpha CARD16 10554 } /* renderproto.h:114:3 */ 10555 10556 type XPointFixed = struct { 10557 Fx INT32 10558 Fy INT32 10559 } /* renderproto.h:121:3 */ 10560 10561 type XLineFixed = struct { 10562 Fp1 XPointFixed 10563 Fp2 XPointFixed 10564 } /* renderproto.h:128:3 */ 10565 10566 type XTriangle = struct { 10567 Fp1 XPointFixed 10568 Fp2 XPointFixed 10569 Fp3 XPointFixed 10570 } /* renderproto.h:134:3 */ 10571 10572 type XTrapezoid = struct { 10573 Ftop INT32 10574 Fbottom INT32 10575 Fleft XLineFixed 10576 Fright XLineFixed 10577 } /* renderproto.h:143:3 */ 10578 10579 type XGlyphInfo = struct { 10580 Fwidth CARD16 10581 Fheight CARD16 10582 Fx INT16 10583 Fy INT16 10584 FxOff INT16 10585 FyOff INT16 10586 } /* renderproto.h:154:3 */ 10587 10588 type XGlyphElt = struct { 10589 Flen CARD8 10590 Fpad1 CARD8 10591 Fpad2 CARD16 10592 Fdeltax INT16 10593 Fdeltay INT16 10594 } /* renderproto.h:164:3 */ 10595 10596 type XSpanFix = struct { 10597 Fl INT32 10598 Fr INT32 10599 Fy INT32 10600 } /* renderproto.h:170:3 */ 10601 10602 type XTrap = struct { 10603 Ftop XSpanFix 10604 Fbot XSpanFix 10605 } /* renderproto.h:176:3 */ 10606 10607 // requests and replies 10608 type XRenderQueryVersionReq = struct { 10609 FreqType CARD8 10610 FrenderReqType CARD8 10611 Flength CARD16 10612 FmajorVersion CARD32 10613 FminorVersion CARD32 10614 } /* renderproto.h:189:3 */ 10615 10616 type XRenderQueryVersionReply = struct { 10617 Ftype BYTE 10618 Fpad1 BYTE 10619 FsequenceNumber CARD16 10620 Flength CARD32 10621 FmajorVersion CARD32 10622 FminorVersion CARD32 10623 Fpad2 CARD32 10624 Fpad3 CARD32 10625 Fpad4 CARD32 10626 Fpad5 CARD32 10627 } /* renderproto.h:204:3 */ 10628 10629 type XRenderQueryPictFormatsReq = struct { 10630 FreqType CARD8 10631 FrenderReqType CARD8 10632 Flength CARD16 10633 } /* renderproto.h:212:3 */ 10634 10635 type XRenderQueryPictFormatsReply = struct { 10636 Ftype BYTE 10637 Fpad1 BYTE 10638 FsequenceNumber CARD16 10639 Flength CARD32 10640 FnumFormats CARD32 10641 FnumScreens CARD32 10642 FnumDepths CARD32 10643 FnumVisuals CARD32 10644 FnumSubpixel CARD32 10645 Fpad5 CARD32 10646 } /* renderproto.h:227:3 */ 10647 10648 type XRenderQueryPictIndexValuesReq = struct { 10649 FreqType CARD8 10650 FrenderReqType CARD8 10651 Flength CARD16 10652 Fformat CARD32 10653 } /* renderproto.h:236:3 */ 10654 10655 type XRenderQueryPictIndexValuesReply = struct { 10656 Ftype BYTE 10657 Fpad1 BYTE 10658 FsequenceNumber CARD16 10659 Flength CARD32 10660 FnumIndexValues CARD32 10661 Fpad2 CARD32 10662 Fpad3 CARD32 10663 Fpad4 CARD32 10664 Fpad5 CARD32 10665 Fpad6 CARD32 10666 } /* renderproto.h:251:3 */ 10667 10668 type XRenderCreatePictureReq = struct { 10669 FreqType CARD8 10670 FrenderReqType CARD8 10671 Flength CARD16 10672 Fpid CARD32 10673 Fdrawable CARD32 10674 Fformat CARD32 10675 Fmask CARD32 10676 } /* renderproto.h:263:3 */ 10677 10678 type XRenderChangePictureReq = struct { 10679 FreqType CARD8 10680 FrenderReqType CARD8 10681 Flength CARD16 10682 Fpicture CARD32 10683 Fmask CARD32 10684 } /* renderproto.h:273:3 */ 10685 10686 type XRenderSetPictureClipRectanglesReq = struct { 10687 FreqType CARD8 10688 FrenderReqType CARD8 10689 Flength CARD16 10690 Fpicture CARD32 10691 FxOrigin INT16 10692 FyOrigin INT16 10693 } /* renderproto.h:284:3 */ 10694 10695 type XRenderFreePictureReq = struct { 10696 FreqType CARD8 10697 FrenderReqType CARD8 10698 Flength CARD16 10699 Fpicture CARD32 10700 } /* renderproto.h:293:3 */ 10701 10702 type XRenderCompositeReq = struct { 10703 FreqType CARD8 10704 FrenderReqType CARD8 10705 Flength CARD16 10706 Fop CARD8 10707 Fpad1 CARD8 10708 Fpad2 CARD16 10709 Fsrc CARD32 10710 Fmask CARD32 10711 Fdst CARD32 10712 FxSrc INT16 10713 FySrc INT16 10714 FxMask INT16 10715 FyMask INT16 10716 FxDst INT16 10717 FyDst INT16 10718 Fwidth CARD16 10719 Fheight CARD16 10720 } /* renderproto.h:315:3 */ 10721 10722 type XRenderScaleReq = struct { 10723 FreqType CARD8 10724 FrenderReqType CARD8 10725 Flength CARD16 10726 Fsrc CARD32 10727 Fdst CARD32 10728 FcolorScale CARD32 10729 FalphaScale CARD32 10730 FxSrc INT16 10731 FySrc INT16 10732 FxDst INT16 10733 FyDst INT16 10734 Fwidth CARD16 10735 Fheight CARD16 10736 } /* renderproto.h:333:3 */ 10737 10738 type XRenderTrapezoidsReq = struct { 10739 FreqType CARD8 10740 FrenderReqType CARD8 10741 Flength CARD16 10742 Fop CARD8 10743 Fpad1 CARD8 10744 Fpad2 CARD16 10745 Fsrc CARD32 10746 Fdst CARD32 10747 FmaskFormat CARD32 10748 FxSrc INT16 10749 FySrc INT16 10750 } /* renderproto.h:349:3 */ 10751 10752 type XRenderTrianglesReq = struct { 10753 FreqType CARD8 10754 FrenderReqType CARD8 10755 Flength CARD16 10756 Fop CARD8 10757 Fpad1 CARD8 10758 Fpad2 CARD16 10759 Fsrc CARD32 10760 Fdst CARD32 10761 FmaskFormat CARD32 10762 FxSrc INT16 10763 FySrc INT16 10764 } /* renderproto.h:365:3 */ 10765 10766 type XRenderTriStripReq = struct { 10767 FreqType CARD8 10768 FrenderReqType CARD8 10769 Flength CARD16 10770 Fop CARD8 10771 Fpad1 CARD8 10772 Fpad2 CARD16 10773 Fsrc CARD32 10774 Fdst CARD32 10775 FmaskFormat CARD32 10776 FxSrc INT16 10777 FySrc INT16 10778 } /* renderproto.h:381:3 */ 10779 10780 type XRenderTriFanReq = struct { 10781 FreqType CARD8 10782 FrenderReqType CARD8 10783 Flength CARD16 10784 Fop CARD8 10785 Fpad1 CARD8 10786 Fpad2 CARD16 10787 Fsrc CARD32 10788 Fdst CARD32 10789 FmaskFormat CARD32 10790 FxSrc INT16 10791 FySrc INT16 10792 } /* renderproto.h:397:3 */ 10793 10794 type XRenderCreateGlyphSetReq = struct { 10795 FreqType CARD8 10796 FrenderReqType CARD8 10797 Flength CARD16 10798 Fgsid CARD32 10799 Fformat CARD32 10800 } /* renderproto.h:407:3 */ 10801 10802 type XRenderReferenceGlyphSetReq = struct { 10803 FreqType CARD8 10804 FrenderReqType CARD8 10805 Flength CARD16 10806 Fgsid CARD32 10807 Fexisting CARD32 10808 } /* renderproto.h:417:3 */ 10809 10810 type XRenderFreeGlyphSetReq = struct { 10811 FreqType CARD8 10812 FrenderReqType CARD8 10813 Flength CARD16 10814 Fglyphset CARD32 10815 } /* renderproto.h:426:3 */ 10816 10817 type XRenderAddGlyphsReq = struct { 10818 FreqType CARD8 10819 FrenderReqType CARD8 10820 Flength CARD16 10821 Fglyphset CARD32 10822 Fnglyphs CARD32 10823 } /* renderproto.h:436:3 */ 10824 10825 type XRenderFreeGlyphsReq = struct { 10826 FreqType CARD8 10827 FrenderReqType CARD8 10828 Flength CARD16 10829 Fglyphset CARD32 10830 } /* renderproto.h:445:3 */ 10831 10832 type XRenderCompositeGlyphsReq = struct { 10833 FreqType CARD8 10834 FrenderReqType CARD8 10835 Flength CARD16 10836 Fop CARD8 10837 Fpad1 CARD8 10838 Fpad2 CARD16 10839 Fsrc CARD32 10840 Fdst CARD32 10841 FmaskFormat CARD32 10842 Fglyphset CARD32 10843 FxSrc INT16 10844 FySrc INT16 10845 } /* renderproto.h:462:3 */ 10846 type XRenderCompositeGlyphs8Req = struct { 10847 FreqType CARD8 10848 FrenderReqType CARD8 10849 Flength CARD16 10850 Fop CARD8 10851 Fpad1 CARD8 10852 Fpad2 CARD16 10853 Fsrc CARD32 10854 Fdst CARD32 10855 FmaskFormat CARD32 10856 Fglyphset CARD32 10857 FxSrc INT16 10858 FySrc INT16 10859 } /* renderproto.h:462:30 */ 10860 type XRenderCompositeGlyphs16Req = struct { 10861 FreqType CARD8 10862 FrenderReqType CARD8 10863 Flength CARD16 10864 Fop CARD8 10865 Fpad1 CARD8 10866 Fpad2 CARD16 10867 Fsrc CARD32 10868 Fdst CARD32 10869 FmaskFormat CARD32 10870 Fglyphset CARD32 10871 FxSrc INT16 10872 FySrc INT16 10873 } /* renderproto.h:463:1 */ 10874 type XRenderCompositeGlyphs32Req = struct { 10875 FreqType CARD8 10876 FrenderReqType CARD8 10877 Flength CARD16 10878 Fop CARD8 10879 Fpad1 CARD8 10880 Fpad2 CARD16 10881 Fsrc CARD32 10882 Fdst CARD32 10883 FmaskFormat CARD32 10884 Fglyphset CARD32 10885 FxSrc INT16 10886 FySrc INT16 10887 } /* renderproto.h:463:30 */ 10888 10889 // 0.1 and higher 10890 10891 type XRenderFillRectanglesReq = struct { 10892 FreqType CARD8 10893 FrenderReqType CARD8 10894 Flength CARD16 10895 Fop CARD8 10896 Fpad1 CARD8 10897 Fpad2 CARD16 10898 Fdst CARD32 10899 Fcolor XRenderColor 10900 } /* renderproto.h:480:3 */ 10901 10902 // 0.5 and higher 10903 10904 type XRenderCreateCursorReq = struct { 10905 FreqType CARD8 10906 FrenderReqType CARD8 10907 Flength CARD16 10908 Fcid CARD32 10909 Fsrc CARD32 10910 Fx CARD16 10911 Fy CARD16 10912 } /* renderproto.h:494:3 */ 10913 10914 // 0.6 and higher 10915 10916 // This can't use an array because 32-bit values may be in bitfields 10917 type XRenderTransform = struct { 10918 Fmatrix11 INT32 10919 Fmatrix12 INT32 10920 Fmatrix13 INT32 10921 Fmatrix21 INT32 10922 Fmatrix22 INT32 10923 Fmatrix23 INT32 10924 Fmatrix31 INT32 10925 Fmatrix32 INT32 10926 Fmatrix33 INT32 10927 } /* renderproto.h:513:3 */ 10928 10929 type XRenderSetPictureTransformReq = struct { 10930 FreqType CARD8 10931 FrenderReqType CARD8 10932 Flength CARD16 10933 Fpicture CARD32 10934 Ftransform XRenderTransform 10935 } /* renderproto.h:523:3 */ 10936 10937 type XRenderQueryFiltersReq = struct { 10938 FreqType CARD8 10939 FrenderReqType CARD8 10940 Flength CARD16 10941 Fdrawable CARD32 10942 } /* renderproto.h:532:3 */ 10943 10944 type XRenderQueryFiltersReply = struct { 10945 Ftype BYTE 10946 Fpad1 BYTE 10947 FsequenceNumber CARD16 10948 Flength CARD32 10949 FnumAliases CARD32 10950 FnumFilters CARD32 10951 Fpad2 CARD32 10952 Fpad3 CARD32 10953 Fpad4 CARD32 10954 Fpad5 CARD32 10955 } /* renderproto.h:547:3 */ 10956 10957 type XRenderSetPictureFilterReq = struct { 10958 FreqType CARD8 10959 FrenderReqType CARD8 10960 Flength CARD16 10961 Fpicture CARD32 10962 Fnbytes CARD16 10963 Fpad CARD16 10964 } /* renderproto.h:558:3 */ 10965 10966 // 0.8 and higher 10967 10968 type XAnimCursorElt = struct { 10969 Fcursor CARD32 10970 Fdelay CARD32 10971 } /* renderproto.h:567:3 */ 10972 10973 type XRenderCreateAnimCursorReq = struct { 10974 FreqType CARD8 10975 FrenderReqType CARD8 10976 Flength CARD16 10977 Fcid CARD32 10978 } /* renderproto.h:576:3 */ 10979 10980 // 0.9 and higher 10981 10982 type XRenderAddTrapsReq = struct { 10983 FreqType CARD8 10984 FrenderReqType CARD8 10985 Flength CARD16 10986 Fpicture CARD32 10987 FxOff INT16 10988 FyOff INT16 10989 } /* renderproto.h:589:3 */ 10990 10991 // 0.10 and higher 10992 10993 type XRenderCreateSolidFillReq = struct { 10994 FreqType CARD8 10995 FrenderReqType CARD8 10996 Flength CARD16 10997 Fpid CARD32 10998 Fcolor XRenderColor 10999 } /* renderproto.h:601:3 */ 11000 11001 type XRenderCreateLinearGradientReq = struct { 11002 FreqType CARD8 11003 FrenderReqType CARD8 11004 Flength CARD16 11005 Fpid CARD32 11006 Fp1 XPointFixed 11007 Fp2 XPointFixed 11008 FnStops CARD32 11009 } /* renderproto.h:613:3 */ 11010 11011 type XRenderCreateRadialGradientReq = struct { 11012 FreqType CARD8 11013 FrenderReqType CARD8 11014 Flength CARD16 11015 Fpid CARD32 11016 Finner XPointFixed 11017 Fouter XPointFixed 11018 Finner_radius INT32 11019 Fouter_radius INT32 11020 FnStops CARD32 11021 } /* renderproto.h:627:3 */ 11022 11023 type XRenderCreateConicalGradientReq = struct { 11024 FreqType CARD8 11025 FrenderReqType CARD8 11026 Flength CARD16 11027 Fpid CARD32 11028 Fcenter XPointFixed 11029 Fangle INT32 11030 FnStops CARD32 11031 } /* renderproto.h:639:3 */ 11032 11033 // 11034 // Copyright © 2000 SuSE, Inc. 11035 // 11036 // Permission to use, copy, modify, distribute, and sell this software and its 11037 // documentation for any purpose is hereby granted without fee, provided that 11038 // the above copyright notice appear in all copies and that both that 11039 // copyright notice and this permission notice appear in supporting 11040 // documentation, and that the name of SuSE not be used in advertising or 11041 // publicity pertaining to distribution of the software without specific, 11042 // written prior permission. SuSE makes no representations about the 11043 // suitability of this software for any purpose. It is provided "as is" 11044 // without express or implied warranty. 11045 // 11046 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 11047 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 11048 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11049 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 11050 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 11051 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 11052 // 11053 // Author: Keith Packard, SuSE, Inc. 11054 11055 // 11056 // 11057 // Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 11058 // 11059 // Permission to use, copy, modify, distribute, and sell this software and its 11060 // documentation for any purpose is hereby granted without fee, provided that 11061 // the above copyright notice appear in all copies and that both that 11062 // copyright notice and this permission notice appear in supporting 11063 // documentation. 11064 // 11065 // The above copyright notice and this permission notice shall be included in 11066 // all copies or substantial portions of the Software. 11067 // 11068 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 11069 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 11070 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 11071 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 11072 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 11073 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 11074 // 11075 // Except as contained in this notice, the name of The Open Group shall not be 11076 // used in advertising or otherwise to promote the sale, use or other dealings 11077 // in this Software without prior written authorization from The Open Group. 11078 // 11079 11080 // Xlib.h - Header definition and support file for the C subroutine 11081 // interface library (Xlib) to the X Window System Protocol (V11). 11082 // Structures and symbols starting with "_" are private to the library. 11083 // 11084 // 11085 // Copyright 1989, 1991, 1998 The Open Group 11086 // 11087 // Permission to use, copy, modify, distribute, and sell this software and its 11088 // documentation for any purpose is hereby granted without fee, provided that 11089 // the above copyright notice appear in all copies and that both that 11090 // copyright notice and this permission notice appear in supporting 11091 // documentation. 11092 // 11093 // The above copyright notice and this permission notice shall be included in 11094 // all copies or substantial portions of the Software. 11095 // 11096 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 11097 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 11098 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 11099 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 11100 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 11101 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 11102 // 11103 // Except as contained in this notice, the name of The Open Group shall not be 11104 // used in advertising or otherwise to promote the sale, use or other dealings 11105 // in this Software without prior written authorization from The Open Group. 11106 // * 11107 // 11108 11109 // Definitions to make function prototypes manageable 11110 11111 // 11112 // O/S-dependent (mis)feature macro definitions 11113 // 11114 // Copyright 1991, 1998 The Open Group 11115 // 11116 // Permission to use, copy, modify, distribute, and sell this software and its 11117 // documentation for any purpose is hereby granted without fee, provided that 11118 // the above copyright notice appear in all copies and that both that 11119 // copyright notice and this permission notice appear in supporting 11120 // documentation. 11121 // 11122 // The above copyright notice and this permission notice shall be included in 11123 // all copies or substantial portions of the Software. 11124 // 11125 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 11126 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 11127 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 11128 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 11129 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 11130 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 11131 // 11132 // Except as contained in this notice, the name of The Open Group shall not be 11133 // used in advertising or otherwise to promote the sale, use or other dealings 11134 // in this Software without prior written authorization from The Open Group. 11135 // 11136 11137 //********************************************************** 11138 // 11139 // Copyright 1987, 1998 The Open Group 11140 // 11141 // Permission to use, copy, modify, distribute, and sell this software and its 11142 // documentation for any purpose is hereby granted without fee, provided that 11143 // the above copyright notice appear in all copies and that both that 11144 // copyright notice and this permission notice appear in supporting 11145 // documentation. 11146 // 11147 // The above copyright notice and this permission notice shall be included in 11148 // all copies or substantial portions of the Software. 11149 // 11150 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 11151 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 11152 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 11153 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 11154 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 11155 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 11156 // 11157 // Except as contained in this notice, the name of The Open Group shall not be 11158 // used in advertising or otherwise to promote the sale, use or other dealings 11159 // in this Software without prior written authorization from The Open Group. 11160 // 11161 // 11162 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 11163 // 11164 // All Rights Reserved 11165 // 11166 // Permission to use, copy, modify, and distribute this software and its 11167 // documentation for any purpose and without fee is hereby granted, 11168 // provided that the above copyright notice appear in all copies and that 11169 // both that copyright notice and this permission notice appear in 11170 // supporting documentation, and that the name of Digital not be 11171 // used in advertising or publicity pertaining to distribution of the 11172 // software without specific, written prior permission. 11173 // 11174 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 11175 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 11176 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 11177 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 11178 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 11179 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 11180 // SOFTWARE. 11181 // 11182 // ***************************************************************** 11183 11184 // Copyright © 2000 SuSE, Inc. 11185 // 11186 // Permission to use, copy, modify, distribute, and sell this software and its 11187 // documentation for any purpose is hereby granted without fee, provided that 11188 // the above copyright notice appear in all copies and that both that 11189 // copyright notice and this permission notice appear in supporting 11190 // documentation, and that the name of SuSE not be used in advertising or 11191 // publicity pertaining to distribution of the software without specific, 11192 // written prior permission. SuSE makes no representations about the 11193 // suitability of this software for any purpose. It is provided "as is" 11194 // without express or implied warranty. 11195 // 11196 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 11197 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 11198 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11199 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 11200 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 11201 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 11202 // 11203 // Author: Keith Packard, SuSE, Inc. 11204 11205 type XRenderDirectFormat = struct { 11206 Fred int16 11207 FredMask int16 11208 Fgreen int16 11209 FgreenMask int16 11210 Fblue int16 11211 FblueMask int16 11212 Falpha int16 11213 FalphaMask int16 11214 } /* Xrender.h:44:3 */ 11215 11216 type XRenderPictFormat = struct { 11217 Fid PictFormat 11218 Ftype int32 11219 Fdepth int32 11220 Fdirect XRenderDirectFormat 11221 Fcolormap Colormap 11222 } /* Xrender.h:52:3 */ 11223 11224 type X_XRenderPictureAttributes = struct { 11225 Frepeat int32 11226 F__ccgo_pad1 [4]byte 11227 Falpha_map Picture 11228 Falpha_x_origin int32 11229 Falpha_y_origin int32 11230 Fclip_x_origin int32 11231 Fclip_y_origin int32 11232 Fclip_mask Pixmap 11233 Fgraphics_exposures int32 11234 Fsubwindow_mode int32 11235 Fpoly_edge int32 11236 Fpoly_mode int32 11237 Fdither Atom 11238 Fcomponent_alpha int32 11239 F__ccgo_pad2 [4]byte 11240 } /* Xrender.h:67:9 */ 11241 11242 type XRenderPictureAttributes = X_XRenderPictureAttributes /* Xrender.h:81:3 */ 11243 11244 type XRenderColor1 = struct { 11245 Fred uint16 11246 Fgreen uint16 11247 Fblue uint16 11248 Falpha uint16 11249 } /* Xrender.h:88:3 */ 11250 11251 type X_XGlyphInfo = struct { 11252 Fwidth uint16 11253 Fheight uint16 11254 Fx int16 11255 Fy int16 11256 FxOff int16 11257 FyOff int16 11258 } /* Xrender.h:90:9 */ 11259 11260 type XGlyphInfo1 = X_XGlyphInfo /* Xrender.h:97:3 */ 11261 11262 type X_XGlyphElt8 = struct { 11263 Fglyphset GlyphSet 11264 Fchars uintptr 11265 Fnchars int32 11266 FxOff int32 11267 FyOff int32 11268 F__ccgo_pad1 [4]byte 11269 } /* Xrender.h:99:9 */ 11270 11271 type XGlyphElt8 = X_XGlyphElt8 /* Xrender.h:105:3 */ 11272 11273 type X_XGlyphElt16 = struct { 11274 Fglyphset GlyphSet 11275 Fchars uintptr 11276 Fnchars int32 11277 FxOff int32 11278 FyOff int32 11279 F__ccgo_pad1 [4]byte 11280 } /* Xrender.h:107:9 */ 11281 11282 type XGlyphElt16 = X_XGlyphElt16 /* Xrender.h:113:3 */ 11283 11284 type X_XGlyphElt32 = struct { 11285 Fglyphset GlyphSet 11286 Fchars uintptr 11287 Fnchars int32 11288 FxOff int32 11289 FyOff int32 11290 F__ccgo_pad1 [4]byte 11291 } /* Xrender.h:115:9 */ 11292 11293 type XGlyphElt32 = X_XGlyphElt32 /* Xrender.h:121:3 */ 11294 11295 type XDouble = float64 /* Xrender.h:123:16 */ 11296 11297 type X_XPointDouble = struct { 11298 Fx XDouble 11299 Fy XDouble 11300 } /* Xrender.h:125:9 */ 11301 11302 type XPointDouble = X_XPointDouble /* Xrender.h:127:3 */ 11303 11304 type XFixed = int32 /* Xrender.h:132:13 */ 11305 11306 type X_XPointFixed = struct { 11307 Fx XFixed 11308 Fy XFixed 11309 } /* Xrender.h:134:9 */ 11310 11311 type XPointFixed1 = X_XPointFixed /* Xrender.h:136:3 */ 11312 11313 type X_XLineFixed = struct { 11314 Fp1 XPointFixed1 11315 Fp2 XPointFixed1 11316 } /* Xrender.h:138:9 */ 11317 11318 type XLineFixed1 = X_XLineFixed /* Xrender.h:140:3 */ 11319 11320 type X_XTriangle = struct { 11321 Fp1 XPointFixed1 11322 Fp2 XPointFixed1 11323 Fp3 XPointFixed1 11324 } /* Xrender.h:142:9 */ 11325 11326 type XTriangle1 = X_XTriangle /* Xrender.h:144:3 */ 11327 11328 type X_XCircle = struct { 11329 Fx XFixed 11330 Fy XFixed 11331 Fradius XFixed 11332 } /* Xrender.h:146:9 */ 11333 11334 type XCircle = X_XCircle /* Xrender.h:150:3 */ 11335 11336 type X_XTrapezoid = struct { 11337 Ftop XFixed 11338 Fbottom XFixed 11339 Fleft XLineFixed1 11340 Fright XLineFixed1 11341 } /* Xrender.h:152:9 */ 11342 11343 type XTrapezoid1 = X_XTrapezoid /* Xrender.h:155:3 */ 11344 11345 type X_XTransform = struct{ Fmatrix [3][3]XFixed } /* Xrender.h:157:9 */ 11346 11347 type XTransform = X_XTransform /* Xrender.h:159:3 */ 11348 11349 type X_XFilters = struct { 11350 Fnfilter int32 11351 F__ccgo_pad1 [4]byte 11352 Ffilter uintptr 11353 Fnalias int32 11354 F__ccgo_pad2 [4]byte 11355 Falias uintptr 11356 } /* Xrender.h:161:9 */ 11357 11358 type XFilters = X_XFilters /* Xrender.h:166:3 */ 11359 11360 type X_XIndexValue = struct { 11361 Fpixel uint64 11362 Fred uint16 11363 Fgreen uint16 11364 Fblue uint16 11365 Falpha uint16 11366 } /* Xrender.h:168:9 */ 11367 11368 type XIndexValue1 = X_XIndexValue /* Xrender.h:171:3 */ 11369 11370 type X_XAnimCursor = struct { 11371 Fcursor Cursor 11372 Fdelay uint64 11373 } /* Xrender.h:173:9 */ 11374 11375 type XAnimCursor = X_XAnimCursor /* Xrender.h:176:3 */ 11376 11377 type X_XSpanFix = struct { 11378 Fleft XFixed 11379 Fright XFixed 11380 Fy XFixed 11381 } /* Xrender.h:178:9 */ 11382 11383 type XSpanFix1 = X_XSpanFix /* Xrender.h:180:3 */ 11384 11385 type X_XTrap = struct { 11386 Ftop XSpanFix1 11387 Fbottom XSpanFix1 11388 } /* Xrender.h:182:9 */ 11389 11390 type XTrap1 = X_XTrap /* Xrender.h:184:3 */ 11391 11392 type X_XLinearGradient = struct { 11393 Fp1 XPointFixed1 11394 Fp2 XPointFixed1 11395 } /* Xrender.h:186:9 */ 11396 11397 type XLinearGradient = X_XLinearGradient /* Xrender.h:189:3 */ 11398 11399 type X_XRadialGradient = struct { 11400 Finner XCircle 11401 Fouter XCircle 11402 } /* Xrender.h:191:9 */ 11403 11404 type XRadialGradient = X_XRadialGradient /* Xrender.h:194:3 */ 11405 11406 type X_XConicalGradient = struct { 11407 Fcenter XPointFixed1 11408 Fangle XFixed 11409 } /* Xrender.h:196:9 */ 11410 11411 type XConicalGradient = X_XConicalGradient /* Xrender.h:199:3 */ 11412 11413 type XRenderVisual = struct { 11414 Fvisual uintptr 11415 Fformat uintptr 11416 } /* Xrenderint.h:37:3 */ 11417 11418 type XRenderDepth = struct { 11419 Fdepth int32 11420 Fnvisuals int32 11421 Fvisuals uintptr 11422 } /* Xrenderint.h:43:3 */ 11423 11424 type XRenderScreen = struct { 11425 Fdepths uintptr 11426 Fndepths int32 11427 F__ccgo_pad1 [4]byte 11428 Ffallback uintptr 11429 Fsubpixel int32 11430 F__ccgo_pad2 [4]byte 11431 } /* Xrenderint.h:50:3 */ 11432 11433 type X_XRenderInfo = struct { 11434 Fmajor_version int32 11435 Fminor_version int32 11436 Fformat uintptr 11437 Fnformat int32 11438 F__ccgo_pad1 [4]byte 11439 Fscreen uintptr 11440 Fnscreen int32 11441 F__ccgo_pad2 [4]byte 11442 Fdepth uintptr 11443 Fndepth int32 11444 F__ccgo_pad3 [4]byte 11445 Fvisual uintptr 11446 Fnvisual int32 11447 F__ccgo_pad4 [4]byte 11448 Fsubpixel uintptr 11449 Fnsubpixel int32 11450 F__ccgo_pad5 [4]byte 11451 Ffilter uintptr 11452 Fnfilter int32 11453 F__ccgo_pad6 [4]byte 11454 Ffilter_alias uintptr 11455 Fnfilter_alias int32 11456 F__ccgo_pad7 [4]byte 11457 } /* Xrenderint.h:52:9 */ 11458 11459 type XRenderInfo = X_XRenderInfo /* Xrenderint.h:69:3 */ 11460 11461 // replaces XRenderExtDisplayInfo 11462 type X_XRenderExtDisplayInfo = struct { 11463 Fnext uintptr 11464 Fdisplay uintptr 11465 Fcodes uintptr 11466 Finfo uintptr 11467 } /* Xrenderint.h:72:9 */ 11468 11469 // replaces XRenderExtDisplayInfo 11470 type XRenderExtDisplayInfo = X_XRenderExtDisplayInfo /* Xrenderint.h:77:3 */ 11471 11472 // replaces XExtensionInfo 11473 type X_XRenderExtInfo = struct { 11474 Fhead uintptr 11475 Fcur uintptr 11476 Fndisplays int32 11477 F__ccgo_pad1 [4]byte 11478 } /* Xrenderint.h:80:9 */ 11479 11480 // replaces XExtensionInfo 11481 type XRenderExtInfo = X_XRenderExtInfo /* Xrenderint.h:84:3 */ 11482 11483 // Xlib uses long for 32-bit values. Xrender uses int. This 11484 // matters on alpha. Note that this macro assumes that int is 32 bits 11485 // except on WORD64 machines where it is 64 bits. 11486 11487 func XXRenderAddTraps(tls *libc.TLS, dpy uintptr, picture Picture, xOff int32, yOff int32, traps uintptr, ntrap int32) { /* AddTrap.c:31:1: */ 11488 bp := tls.Alloc(8) 11489 defer tls.Free(8) 11490 11491 var info uintptr = XXRenderFindDisplay(tls, dpy) 11492 var req uintptr 11493 var n int32 11494 var len int64 11495 var max_req uint64 11496 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11497 max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size 11498 } else { 11499 max_req = uint64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size) 11500 } 11501 11502 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 11503 return 11504 } 11505 11506 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11507 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 11508 } 11509 for ntrap != 0 { 11510 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddTraps), uint64(Sz_xRenderAddTrapsReq)) 11511 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11512 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddTraps) 11513 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture) 11514 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FxOff = INT16(xOff) 11515 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FyOff = INT16(yOff) 11516 n = ntrap 11517 len = int64(n) * int64(int32(Sz_xTrap)>>2) 11518 if uint64(len) > max_req-uint64((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) { 11519 n = int32((max_req - uint64((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)) / uint64(int32(Sz_xTrap)>>2)) 11520 len = int64(n) * int64(int32(Sz_xTrap)>>2) 11521 } 11522 if int64((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 11523 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11524 { 11525 // var _BRdat CARD64 at bp, 8 11526 var _BRlen CARD32 = CARD32(int32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) - 1) 11527 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 11528 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 11529 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 11530 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 11531 x11.X_XData32(tls, dpy, bp, uint32(4)) 11532 } 11533 } else { 11534 len = len 11535 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 11536 } 11537 } else { 11538 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 11539 } 11540 len <<= 2 11541 { 11542 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 11543 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint64(int32(len))) 11544 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3))) 11545 } else { 11546 x11.X_XSend(tls, dpy, traps, len) 11547 } 11548 } 11549 11550 ntrap = ntrap - n 11551 traps += 24 * uintptr(n) 11552 } 11553 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11554 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 11555 } 11556 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11557 (*struct { 11558 f func(*libc.TLS, uintptr) int32 11559 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11560 } 11561 } 11562 11563 // Xlib uses long for 32-bit values. Xrender uses int. This 11564 // matters on alpha. Note that this macro assumes that int is 32 bits 11565 // except on WORD64 machines where it is 64 bits. 11566 11567 func XXRenderParseColor(tls *libc.TLS, dpy uintptr, spec uintptr, def uintptr) int32 { /* Color.c:30:1: */ 11568 bp := tls.Alloc(24) 11569 defer tls.Free(24) 11570 11571 if !(libc.Xstrncmp(tls, spec, ts, uint64(5)) != 0) { 11572 // var elements [4]uint16 at bp, 8 11573 11574 var pShort uintptr 11575 var i int32 11576 var n int32 11577 var c uint8 11578 11579 spec += uintptr(5) 11580 // Attempt to parse the value portion. 11581 pShort = bp /* &elements[0] */ 11582 i = 0 11583 __1: 11584 if !(i < 4) { 11585 goto __3 11586 } 11587 { 11588 n = 0 11589 *(*uint16)(unsafe.Pointer(pShort)) = uint16(0) 11590 for int32(*(*uint8)(unsafe.Pointer(spec))) != '/' && int32(*(*uint8)(unsafe.Pointer(spec))) != 0 { 11591 if libc.PreIncInt32(&n, 1) > 4 { 11592 return 0 11593 } 11594 c = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&spec, 1))) 11595 libc.AssignShlPtrUint16(pShort, int(4)) 11596 if int32(c) >= '0' && int32(c) <= '9' { 11597 *(*uint16)(unsafe.Pointer(pShort)) |= uint16(int32(c) - '0') 11598 } else if int32(c) >= 'a' && int32(c) <= 'f' { 11599 *(*uint16)(unsafe.Pointer(pShort)) |= uint16(int32(c) - ('a' - 10)) 11600 } else { 11601 return 0 11602 } 11603 } 11604 if n == 0 { 11605 return 0 11606 } 11607 if n < 4 { 11608 *(*uint16)(unsafe.Pointer(pShort)) = uint16(uint64(*(*uint16)(unsafe.Pointer(pShort))) * uint64(0xFFFF) / uint64(int32(1)<<(n*4)-1)) 11609 } 11610 11611 } 11612 goto __2 11613 __2: 11614 i++ 11615 pShort += 2 11616 spec++ 11617 goto __1 11618 goto __3 11619 __3: 11620 ; 11621 (*XRenderColor1)(unsafe.Pointer(def)).Fred = *(*uint16)(unsafe.Pointer(bp)) 11622 (*XRenderColor1)(unsafe.Pointer(def)).Fgreen = *(*uint16)(unsafe.Pointer(bp + 1*2)) 11623 (*XRenderColor1)(unsafe.Pointer(def)).Fblue = *(*uint16)(unsafe.Pointer(bp + 2*2)) 11624 (*XRenderColor1)(unsafe.Pointer(def)).Falpha = *(*uint16)(unsafe.Pointer(bp + 3*2)) 11625 } else { 11626 // var coreColor XColor at bp+8, 16 11627 11628 var colormap Colormap 11629 11630 colormap = (*Screen)(unsafe.Pointer((*struct { 11631 Fext_data uintptr 11632 Fprivate1 uintptr 11633 Ffd int32 11634 Fprivate2 int32 11635 Fproto_major_version int32 11636 Fproto_minor_version int32 11637 Fvendor uintptr 11638 Fprivate3 XID 11639 Fprivate4 XID 11640 Fprivate5 XID 11641 Fprivate6 int32 11642 F__ccgo_pad1 [4]byte 11643 Fresource_alloc uintptr 11644 Fbyte_order int32 11645 Fbitmap_unit int32 11646 Fbitmap_pad int32 11647 Fbitmap_bit_order int32 11648 Fnformats int32 11649 F__ccgo_pad2 [4]byte 11650 Fpixmap_format uintptr 11651 Fprivate8 int32 11652 Frelease int32 11653 Fprivate9 uintptr 11654 Fprivate10 uintptr 11655 Fqlen int32 11656 F__ccgo_pad3 [4]byte 11657 Flast_request_read uint64 11658 Frequest uint64 11659 Fprivate11 XPointer 11660 Fprivate12 XPointer 11661 Fprivate13 XPointer 11662 Fprivate14 XPointer 11663 Fmax_request_size uint32 11664 F__ccgo_pad4 [4]byte 11665 Fdb uintptr 11666 Fprivate15 uintptr 11667 Fdisplay_name uintptr 11668 Fdefault_screen int32 11669 Fnscreens int32 11670 Fscreens uintptr 11671 Fmotion_buffer uint64 11672 Fprivate16 uint64 11673 Fmin_keycode int32 11674 Fmax_keycode int32 11675 Fprivate17 XPointer 11676 Fprivate18 XPointer 11677 Fprivate19 int32 11678 F__ccgo_pad5 [4]byte 11679 Fxdefaults uintptr 11680 })(unsafe.Pointer(dpy)).Fscreens + uintptr((*struct { 11681 Fext_data uintptr 11682 Fprivate1 uintptr 11683 Ffd int32 11684 Fprivate2 int32 11685 Fproto_major_version int32 11686 Fproto_minor_version int32 11687 Fvendor uintptr 11688 Fprivate3 XID 11689 Fprivate4 XID 11690 Fprivate5 XID 11691 Fprivate6 int32 11692 F__ccgo_pad1 [4]byte 11693 Fresource_alloc uintptr 11694 Fbyte_order int32 11695 Fbitmap_unit int32 11696 Fbitmap_pad int32 11697 Fbitmap_bit_order int32 11698 Fnformats int32 11699 F__ccgo_pad2 [4]byte 11700 Fpixmap_format uintptr 11701 Fprivate8 int32 11702 Frelease int32 11703 Fprivate9 uintptr 11704 Fprivate10 uintptr 11705 Fqlen int32 11706 F__ccgo_pad3 [4]byte 11707 Flast_request_read uint64 11708 Frequest uint64 11709 Fprivate11 XPointer 11710 Fprivate12 XPointer 11711 Fprivate13 XPointer 11712 Fprivate14 XPointer 11713 Fmax_request_size uint32 11714 F__ccgo_pad4 [4]byte 11715 Fdb uintptr 11716 Fprivate15 uintptr 11717 Fdisplay_name uintptr 11718 Fdefault_screen int32 11719 Fnscreens int32 11720 Fscreens uintptr 11721 Fmotion_buffer uint64 11722 Fprivate16 uint64 11723 Fmin_keycode int32 11724 Fmax_keycode int32 11725 Fprivate17 XPointer 11726 Fprivate18 XPointer 11727 Fprivate19 int32 11728 F__ccgo_pad5 [4]byte 11729 Fxdefaults uintptr 11730 })(unsafe.Pointer(dpy)).Fdefault_screen)*128)).Fcmap 11731 if !(x11.XXParseColor(tls, dpy, colormap, spec, bp+8) != 0) { 11732 return 0 11733 } 11734 (*XRenderColor1)(unsafe.Pointer(def)).Fred = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fred 11735 (*XRenderColor1)(unsafe.Pointer(def)).Fgreen = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fgreen 11736 (*XRenderColor1)(unsafe.Pointer(def)).Fblue = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fblue 11737 (*XRenderColor1)(unsafe.Pointer(def)).Falpha = uint16(0xffff) 11738 } 11739 (*XRenderColor1)(unsafe.Pointer(def)).Fred = uint16(uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fred)*int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha)) / 0xffff) 11740 (*XRenderColor1)(unsafe.Pointer(def)).Fgreen = uint16(uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fgreen)*int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha)) / 0xffff) 11741 (*XRenderColor1)(unsafe.Pointer(def)).Fblue = uint16(uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fblue)*int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha)) / 0xffff) 11742 return 1 11743 } 11744 11745 // Xlib uses long for 32-bit values. Xrender uses int. This 11746 // matters on alpha. Note that this macro assumes that int is 32 bits 11747 // except on WORD64 machines where it is 64 bits. 11748 11749 func XXRenderComposite(tls *libc.TLS, dpy uintptr, op int32, src Picture, mask Picture, dst Picture, src_x int32, src_y int32, mask_x int32, mask_y int32, dst_x int32, dst_y int32, width uint32, height uint32) { /* Composite.c:31:1: */ 11750 var info uintptr = XXRenderFindDisplay(tls, dpy) 11751 var req uintptr 11752 11753 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 11754 return 11755 } 11756 11757 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11758 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 11759 } 11760 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderComposite), uint64(Sz_xRenderCompositeReq)) 11761 (*XRenderCompositeReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11762 (*XRenderCompositeReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderComposite) 11763 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fop = CARD8(op) 11764 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fsrc = CARD32(src) 11765 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fmask = CARD32(mask) 11766 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 11767 (*XRenderCompositeReq)(unsafe.Pointer(req)).FxSrc = INT16(src_x) 11768 (*XRenderCompositeReq)(unsafe.Pointer(req)).FySrc = INT16(src_y) 11769 (*XRenderCompositeReq)(unsafe.Pointer(req)).FxMask = INT16(mask_x) 11770 (*XRenderCompositeReq)(unsafe.Pointer(req)).FyMask = INT16(mask_y) 11771 (*XRenderCompositeReq)(unsafe.Pointer(req)).FxDst = INT16(dst_x) 11772 (*XRenderCompositeReq)(unsafe.Pointer(req)).FyDst = INT16(dst_y) 11773 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fwidth = CARD16(width) 11774 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fheight = CARD16(height) 11775 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11776 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 11777 } 11778 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11779 (*struct { 11780 f func(*libc.TLS, uintptr) int32 11781 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11782 } 11783 } 11784 11785 // Xlib uses long for 32-bit values. Xrender uses int. This 11786 // matters on alpha. Note that this macro assumes that int is 32 bits 11787 // except on WORD64 machines where it is 64 bits. 11788 11789 func XXRenderCreateCursor(tls *libc.TLS, dpy uintptr, source Picture, x uint32, y uint32) Cursor { /* Cursor.c:30:1: */ 11790 var info uintptr = XXRenderFindDisplay(tls, dpy) 11791 var cid Cursor 11792 var req uintptr 11793 11794 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 11795 return uint64(0) 11796 } 11797 11798 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11799 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 11800 } 11801 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateCursor), uint64(Sz_xRenderCreateCursorReq)) 11802 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11803 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateCursor) 11804 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fcid = CARD32(libc.AssignUint64(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 11805 Fext_data uintptr 11806 Fprivate1 uintptr 11807 Ffd int32 11808 Fprivate2 int32 11809 Fproto_major_version int32 11810 Fproto_minor_version int32 11811 Fvendor uintptr 11812 Fprivate3 XID 11813 Fprivate4 XID 11814 Fprivate5 XID 11815 Fprivate6 int32 11816 F__ccgo_pad1 [4]byte 11817 Fresource_alloc uintptr 11818 Fbyte_order int32 11819 Fbitmap_unit int32 11820 Fbitmap_pad int32 11821 Fbitmap_bit_order int32 11822 Fnformats int32 11823 F__ccgo_pad2 [4]byte 11824 Fpixmap_format uintptr 11825 Fprivate8 int32 11826 Frelease int32 11827 Fprivate9 uintptr 11828 Fprivate10 uintptr 11829 Fqlen int32 11830 F__ccgo_pad3 [4]byte 11831 Flast_request_read uint64 11832 Frequest uint64 11833 Fprivate11 XPointer 11834 Fprivate12 XPointer 11835 Fprivate13 XPointer 11836 Fprivate14 XPointer 11837 Fmax_request_size uint32 11838 F__ccgo_pad4 [4]byte 11839 Fdb uintptr 11840 Fprivate15 uintptr 11841 Fdisplay_name uintptr 11842 Fdefault_screen int32 11843 Fnscreens int32 11844 Fscreens uintptr 11845 Fmotion_buffer uint64 11846 Fprivate16 uint64 11847 Fmin_keycode int32 11848 Fmax_keycode int32 11849 Fprivate17 XPointer 11850 Fprivate18 XPointer 11851 Fprivate19 int32 11852 F__ccgo_pad5 [4]byte 11853 Fxdefaults uintptr 11854 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy))) 11855 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fsrc = CARD32(source) 11856 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fx = CARD16(x) 11857 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fy = CARD16(y) 11858 11859 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11860 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 11861 } 11862 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11863 (*struct { 11864 f func(*libc.TLS, uintptr) int32 11865 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11866 } 11867 return cid 11868 } 11869 11870 func XXRenderCreateAnimCursor(tls *libc.TLS, dpy uintptr, ncursor int32, cursors uintptr) Cursor { /* Cursor.c:55:1: */ 11871 bp := tls.Alloc(8) 11872 defer tls.Free(8) 11873 11874 var info uintptr = XXRenderFindDisplay(tls, dpy) 11875 var cid Cursor 11876 var req uintptr 11877 var len int64 11878 11879 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 11880 return uint64(0) 11881 } 11882 11883 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11884 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 11885 } 11886 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateAnimCursor), uint64(Sz_xRenderCreateAnimCursorReq)) 11887 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11888 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateAnimCursor) 11889 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Fcid = CARD32(libc.AssignUint64(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 11890 Fext_data uintptr 11891 Fprivate1 uintptr 11892 Ffd int32 11893 Fprivate2 int32 11894 Fproto_major_version int32 11895 Fproto_minor_version int32 11896 Fvendor uintptr 11897 Fprivate3 XID 11898 Fprivate4 XID 11899 Fprivate5 XID 11900 Fprivate6 int32 11901 F__ccgo_pad1 [4]byte 11902 Fresource_alloc uintptr 11903 Fbyte_order int32 11904 Fbitmap_unit int32 11905 Fbitmap_pad int32 11906 Fbitmap_bit_order int32 11907 Fnformats int32 11908 F__ccgo_pad2 [4]byte 11909 Fpixmap_format uintptr 11910 Fprivate8 int32 11911 Frelease int32 11912 Fprivate9 uintptr 11913 Fprivate10 uintptr 11914 Fqlen int32 11915 F__ccgo_pad3 [4]byte 11916 Flast_request_read uint64 11917 Frequest uint64 11918 Fprivate11 XPointer 11919 Fprivate12 XPointer 11920 Fprivate13 XPointer 11921 Fprivate14 XPointer 11922 Fmax_request_size uint32 11923 F__ccgo_pad4 [4]byte 11924 Fdb uintptr 11925 Fprivate15 uintptr 11926 Fdisplay_name uintptr 11927 Fdefault_screen int32 11928 Fnscreens int32 11929 Fscreens uintptr 11930 Fmotion_buffer uint64 11931 Fprivate16 uint64 11932 Fmin_keycode int32 11933 Fmax_keycode int32 11934 Fprivate17 XPointer 11935 Fprivate18 XPointer 11936 Fprivate19 int32 11937 F__ccgo_pad5 [4]byte 11938 Fxdefaults uintptr 11939 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy))) 11940 11941 len = int64(ncursor) * int64(Sz_xAnimCursorElt) >> 2 11942 if int64((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 11943 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11944 { 11945 // var _BRdat CARD64 at bp, 8 11946 var _BRlen CARD32 = CARD32(int32((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) - 1) 11947 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength = CARD16(0) 11948 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 11949 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 11950 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 11951 x11.X_XData32(tls, dpy, bp, uint32(4)) 11952 } 11953 } else { 11954 len = len 11955 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 11956 } 11957 } else { 11958 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 11959 } 11960 len <<= 2 11961 x11.X_XData32(tls, dpy, cursors, uint32(len)) 11962 11963 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11964 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 11965 } 11966 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11967 (*struct { 11968 f func(*libc.TLS, uintptr) int32 11969 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11970 } 11971 return cid 11972 } 11973 11974 // Xlib uses long for 32-bit values. Xrender uses int. This 11975 // matters on alpha. Note that this macro assumes that int is 32 bits 11976 // except on WORD64 machines where it is 64 bits. 11977 11978 // precompute the maximum size of batching request allowed 11979 11980 func XXRenderFillRectangle(tls *libc.TLS, dpy uintptr, op int32, dst Picture, color uintptr, x int32, y int32, width uint32, height uint32) { /* FillRect.c:35:1: */ 11981 var info uintptr = XXRenderFindDisplay(tls, dpy) 11982 var rect uintptr 11983 var req uintptr 11984 11985 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 11986 return 11987 } 11988 11989 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11990 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 11991 } 11992 11993 req = (*Display)(unsafe.Pointer(dpy)).Flast_req 11994 // if same as previous request, with same drawable, batch requests 11995 if int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType) == (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode && int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType) == X_RenderFillRectangles && int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop) == op && Picture((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst) == dst && int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fred) && int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fgreen) && int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fblue) && int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha) == int32((*XRenderColor1)(unsafe.Pointer(color)).Falpha) && (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xRectangle) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax && (int64((*Display)(unsafe.Pointer(dpy)).Fbufptr)-int64(req))/1 < int64(Sz_xRenderFillRectanglesReq+FRCTSPERBATCH*Sz_xRectangle) { 11996 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(int32(Sz_xRectangle) >> 2) 11997 rect = (*Display)(unsafe.Pointer(dpy)).Fbufptr 11998 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xRectangle) 11999 } else { 12000 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), uint64(Sz_xRenderFillRectanglesReq+Sz_xRectangle)) 12001 12002 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12003 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles) 12004 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op) 12005 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 12006 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred 12007 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen 12008 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue 12009 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha 12010 12011 rect = req + uintptr(1)*20 12012 } 12013 (*XRectangle1)(unsafe.Pointer(rect)).Fx = INT16(x) 12014 (*XRectangle1)(unsafe.Pointer(rect)).Fy = INT16(y) 12015 (*XRectangle1)(unsafe.Pointer(rect)).Fwidth = CARD16(width) 12016 (*XRectangle1)(unsafe.Pointer(rect)).Fheight = CARD16(height) 12017 12018 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12019 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 12020 } 12021 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12022 (*struct { 12023 f func(*libc.TLS, uintptr) int32 12024 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12025 } 12026 } 12027 12028 // Xlib uses long for 32-bit values. Xrender uses int. This 12029 // matters on alpha. Note that this macro assumes that int is 32 bits 12030 // except on WORD64 machines where it is 64 bits. 12031 12032 // precompute the maximum size of batching request allowed 12033 12034 func XXRenderFillRectangles(tls *libc.TLS, dpy uintptr, op int32, dst Picture, color uintptr, rectangles uintptr, n_rects int32) { /* FillRects.c:35:1: */ 12035 bp := tls.Alloc(8) 12036 defer tls.Free(8) 12037 12038 var info uintptr = XXRenderFindDisplay(tls, dpy) 12039 var req uintptr 12040 var len int64 12041 var n int32 12042 12043 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12044 return 12045 } 12046 12047 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12048 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 12049 } 12050 12051 for n_rects != 0 { 12052 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), uint64(Sz_xRenderFillRectanglesReq)) 12053 12054 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12055 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles) 12056 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op) 12057 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 12058 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred 12059 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen 12060 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue 12061 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha 12062 12063 n = n_rects 12064 len = int64(n) << 1 12065 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && len > int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)) { 12066 n = int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)) >> 1) 12067 len = int64(n) << 1 12068 } 12069 if int64((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 12070 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 12071 { 12072 // var _BRdat CARD64 at bp, 8 12073 var _BRlen CARD32 = CARD32(int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) - 1) 12074 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0) 12075 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 12076 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 12077 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 12078 x11.X_XData32(tls, dpy, bp, uint32(4)) 12079 } 12080 } else { 12081 len = len 12082 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 12083 } 12084 } else { 12085 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 12086 } 12087 len <<= 2 /* watch out for macros... */ 12088 { 12089 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12090 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rectangles, uint64(int32(len))) 12091 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3))) 12092 } else { 12093 x11.X_XSend(tls, dpy, rectangles, len) 12094 } 12095 } 12096 12097 n_rects = n_rects - n 12098 rectangles += 8 * uintptr(n) 12099 } 12100 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12101 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 12102 } 12103 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12104 (*struct { 12105 f func(*libc.TLS, uintptr) int32 12106 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12107 } 12108 } 12109 12110 // Xlib uses long for 32-bit values. Xrender uses int. This 12111 // matters on alpha. Note that this macro assumes that int is 32 bits 12112 // except on WORD64 machines where it is 64 bits. 12113 12114 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 12115 // 12116 // This file is part of GCC. 12117 // 12118 // GCC is free software; you can redistribute it and/or modify it under 12119 // the terms of the GNU General Public License as published by the Free 12120 // Software Foundation; either version 3, or (at your option) any later 12121 // version. 12122 // 12123 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12124 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 12125 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12126 // for more details. 12127 // 12128 // Under Section 7 of GPL version 3, you are granted additional 12129 // permissions described in the GCC Runtime Library Exception, version 12130 // 3.1, as published by the Free Software Foundation. 12131 // 12132 // You should have received a copy of the GNU General Public License and 12133 // a copy of the GCC Runtime Library Exception along with this program; 12134 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 12135 // <http://www.gnu.org/licenses/>. 12136 12137 // This administrivia gets added to the beginning of limits.h 12138 // if the system has its own version of limits.h. 12139 12140 // We use _GCC_LIMITS_H_ because we want this not to match 12141 // any macros that the system's limits.h uses for its own purposes. 12142 12143 // Use "..." so that we find syslimits.h only in this same directory. 12144 // syslimits.h stands for the system's own limits.h file. 12145 // If we can use it ok unmodified, then we install this text. 12146 // If fixincludes fixes it, then the fixed version is installed 12147 // instead of this text. 12148 12149 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12150 // This file is part of the GNU C Library. 12151 // 12152 // The GNU C Library is free software; you can redistribute it and/or 12153 // modify it under the terms of the GNU Lesser General Public 12154 // License as published by the Free Software Foundation; either 12155 // version 2.1 of the License, or (at your option) any later version. 12156 // 12157 // The GNU C Library is distributed in the hope that it will be useful, 12158 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12159 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12160 // Lesser General Public License for more details. 12161 // 12162 // You should have received a copy of the GNU Lesser General Public 12163 // License along with the GNU C Library; if not, see 12164 // <https://www.gnu.org/licenses/>. 12165 12166 // ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h> 12167 12168 // Handle feature test macros at the start of a header. 12169 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 12170 // This file is part of the GNU C Library. 12171 // 12172 // The GNU C Library is free software; you can redistribute it and/or 12173 // modify it under the terms of the GNU Lesser General Public 12174 // License as published by the Free Software Foundation; either 12175 // version 2.1 of the License, or (at your option) any later version. 12176 // 12177 // The GNU C Library is distributed in the hope that it will be useful, 12178 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12179 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12180 // Lesser General Public License for more details. 12181 // 12182 // You should have received a copy of the GNU Lesser General Public 12183 // License along with the GNU C Library; if not, see 12184 // <https://www.gnu.org/licenses/>. 12185 12186 // This header is internal to glibc and should not be included outside 12187 // of glibc headers. Headers including it must define 12188 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 12189 // cannot have multiple include guards because ISO C feature test 12190 // macros depend on the definition of the macro when an affected 12191 // header is included, not when the first system header is 12192 // included. 12193 12194 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12195 // This file is part of the GNU C Library. 12196 // 12197 // The GNU C Library is free software; you can redistribute it and/or 12198 // modify it under the terms of the GNU Lesser General Public 12199 // License as published by the Free Software Foundation; either 12200 // version 2.1 of the License, or (at your option) any later version. 12201 // 12202 // The GNU C Library is distributed in the hope that it will be useful, 12203 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12204 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12205 // Lesser General Public License for more details. 12206 // 12207 // You should have received a copy of the GNU Lesser General Public 12208 // License along with the GNU C Library; if not, see 12209 // <https://www.gnu.org/licenses/>. 12210 12211 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 12212 // macro. 12213 12214 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 12215 // macro. Most but not all symbols enabled by that macro in TS 12216 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 12217 // still require that macro in C2X. 12218 12219 // ISO/IEC TS 18661-4:2015 defines the 12220 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 12221 // functions, the symbols from this TS are enabled unconditionally in 12222 // C2X. 12223 12224 // ISO/IEC TS 18661-3:2015 defines the 12225 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 12226 12227 // Maximum length of any multibyte character in any locale. 12228 // We define this value here since the gcc header does not define 12229 // the correct value. 12230 12231 // If we are not using GNU CC we have to define all the symbols ourself. 12232 // Otherwise use gcc's definitions (see below). 12233 12234 // Get the compiler's limits.h, which defines almost all the ISO constants. 12235 // 12236 // We put this #include_next outside the double inclusion check because 12237 // it should be possible to include this file more than once and still get 12238 // the definitions from gcc's header. 12239 12240 // The <limits.h> files in some gcc versions don't define LLONG_MIN, 12241 // LLONG_MAX, and ULLONG_MAX. Instead only the values gcc defined for 12242 // ages are available. 12243 12244 // The integer width macros are not defined by GCC's <limits.h> before 12245 // GCC 7, or if _GNU_SOURCE rather than 12246 // __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. 12247 12248 // POSIX adds things to <limits.h>. 12249 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12250 // This file is part of the GNU C Library. 12251 // 12252 // The GNU C Library is free software; you can redistribute it and/or 12253 // modify it under the terms of the GNU Lesser General Public 12254 // License as published by the Free Software Foundation; either 12255 // version 2.1 of the License, or (at your option) any later version. 12256 // 12257 // The GNU C Library is distributed in the hope that it will be useful, 12258 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12259 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12260 // Lesser General Public License for more details. 12261 // 12262 // You should have received a copy of the GNU Lesser General Public 12263 // License along with the GNU C Library; if not, see 12264 // <https://www.gnu.org/licenses/>. 12265 12266 // POSIX Standard: 2.9.2 Minimum Values Added to <limits.h> 12267 // 12268 // Never include this file directly; use <limits.h> instead. 12269 12270 // Determine the wordsize from the preprocessor defines. 12271 // 12272 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 12273 // This file is part of the GNU C Library. 12274 // 12275 // The GNU C Library is free software; you can redistribute it and/or 12276 // modify it under the terms of the GNU Lesser General Public 12277 // License as published by the Free Software Foundation; either 12278 // version 2.1 of the License, or (at your option) any later version. 12279 // 12280 // The GNU C Library is distributed in the hope that it will be useful, 12281 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12282 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12283 // Lesser General Public License for more details. 12284 // 12285 // You should have received a copy of the GNU Lesser General Public 12286 // License along with the GNU C Library; if not, see 12287 // <https://www.gnu.org/licenses/>. 12288 12289 // These are the standard-mandated minimum values. 12290 12291 // Minimum number of operations in one list I/O call. 12292 12293 // Minimal number of outstanding asynchronous I/O operations. 12294 12295 // Maximum length of arguments to `execve', including environment. 12296 12297 // Maximum simultaneous processes per real user ID. 12298 12299 // Minimal number of timer expiration overruns. 12300 12301 // Maximum length of a host name (not including the terminating null) 12302 // as returned from the GETHOSTNAME function. 12303 12304 // Maximum link count of a file. 12305 12306 // Maximum length of login name. 12307 12308 // Number of bytes in a terminal canonical input queue. 12309 12310 // Number of bytes for which space will be 12311 // available in a terminal input queue. 12312 12313 // Maximum number of message queues open for a process. 12314 12315 // Maximum number of supported message priorities. 12316 12317 // Number of bytes in a filename. 12318 12319 // Number of simultaneous supplementary group IDs per process. 12320 12321 // Number of files one process can have open at once. 12322 12323 // Number of bytes in a pathname. 12324 12325 // Number of bytes than can be written atomically to a pipe. 12326 12327 // The number of repeated occurrences of a BRE permitted by the 12328 // REGEXEC and REGCOMP functions when using the interval notation. 12329 12330 // Minimal number of realtime signals reserved for the application. 12331 12332 // Number of semaphores a process can have. 12333 12334 // Maximal value of a semaphore. 12335 12336 // Number of pending realtime signals. 12337 12338 // Largest value of a `ssize_t'. 12339 12340 // Number of streams a process can have open at once. 12341 12342 // The number of bytes in a symbolic link. 12343 12344 // The number of symbolic links that can be traversed in the 12345 // resolution of a pathname in the absence of a loop. 12346 12347 // Number of timer for a process. 12348 12349 // Maximum number of characters in a tty name. 12350 12351 // Maximum length of a timezone name (element of `tzname'). 12352 12353 // Maximum clock resolution in nanoseconds. 12354 12355 // Get the implementation-specific values for the above. 12356 // Minimum guaranteed maximum values for system limits. Linux version. 12357 // Copyright (C) 1993-2020 Free Software Foundation, Inc. 12358 // 12359 // This file is part of the GNU C Library. 12360 // 12361 // The GNU C Library is free software; you can redistribute it and/or 12362 // modify it under the terms of the GNU Lesser General Public License as 12363 // published by the Free Software Foundation; either version 2.1 of the 12364 // License, or (at your option) any later version. 12365 // 12366 // The GNU C Library is distributed in the hope that it will be useful, 12367 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12368 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12369 // Lesser General Public License for more details. 12370 // 12371 // You should have received a copy of the GNU Lesser General Public 12372 // License along with the GNU C Library. If not, see 12373 // <https://www.gnu.org/licenses/>. 12374 12375 // The kernel header pollutes the namespace with the NR_OPEN symbol 12376 // and defines LINK_MAX although filesystems have different maxima. A 12377 // similar thing is true for OPEN_MAX: the limit can be changed at 12378 // runtime and therefore the macro must not be defined. Remove this 12379 // after including the header if necessary. 12380 12381 // The kernel sources contain a file with all the needed information. 12382 // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note 12383 12384 // Have to remove NR_OPEN? 12385 // Have to remove LINK_MAX? 12386 // Have to remove OPEN_MAX? 12387 // Have to remove ARG_MAX? 12388 12389 // The number of data keys per process. 12390 // This is the value this implementation supports. 12391 12392 // Controlling the iterations of destructors for thread-specific data. 12393 // Number of iterations this implementation does. 12394 12395 // The number of threads per process. 12396 // We have no predefined limit on the number of threads. 12397 12398 // Maximum amount by which a process can descrease its asynchronous I/O 12399 // priority level. 12400 12401 // Minimum size for a thread. At least two pages for systems with 64k 12402 // pages. 12403 12404 // Maximum number of timer expiration overruns. 12405 12406 // Maximum tty name length. 12407 12408 // Maximum login name length. This is arbitrary. 12409 12410 // Maximum host name length. 12411 12412 // Maximum message queue priority level. 12413 12414 // Maximum value the semaphore can have. 12415 12416 // ssize_t is not formally required to be the signed type 12417 // corresponding to size_t, but it is for all configurations supported 12418 // by glibc. 12419 12420 // This value is a guaranteed minimum maximum. 12421 // The current maximum can be got from `sysconf'. 12422 12423 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12424 // This file is part of the GNU C Library. 12425 // 12426 // The GNU C Library is free software; you can redistribute it and/or 12427 // modify it under the terms of the GNU Lesser General Public 12428 // License as published by the Free Software Foundation; either 12429 // version 2.1 of the License, or (at your option) any later version. 12430 // 12431 // The GNU C Library is distributed in the hope that it will be useful, 12432 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12433 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12434 // Lesser General Public License for more details. 12435 // 12436 // You should have received a copy of the GNU Lesser General Public 12437 // License along with the GNU C Library; if not, see 12438 // <https://www.gnu.org/licenses/>. 12439 12440 // Never include this file directly; include <limits.h> instead. 12441 12442 // The maximum `ibase' and `obase' values allowed by the `bc' utility. 12443 12444 // The maximum number of elements allowed in an array by the `bc' utility. 12445 12446 // The maximum `scale' value allowed by the `bc' utility. 12447 12448 // The maximum length of a string constant accepted by the `bc' utility. 12449 12450 // The maximum number of weights that can be assigned to an entry of 12451 // the LC_COLLATE `order' keyword in the locale definition file. 12452 12453 // The maximum number of expressions that can be nested 12454 // within parentheses by the `expr' utility. 12455 12456 // The maximum length, in bytes, of an input line. 12457 12458 // The maximum number of repeated occurrences of a regular expression 12459 // permitted when using the interval notation `\{M,N\}'. 12460 12461 // The maximum number of bytes in a character class name. We have no 12462 // fixed limit, 2048 is a high number. 12463 12464 // These values are implementation-specific, 12465 // and may vary within the implementation. 12466 // Their precise values can be obtained from sysconf. 12467 12468 // This value is defined like this in regex.h. 12469 12470 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12471 // 12472 // This file is part of GCC. 12473 // 12474 // GCC is free software; you can redistribute it and/or modify it under 12475 // the terms of the GNU General Public License as published by the Free 12476 // Software Foundation; either version 3, or (at your option) any later 12477 // version. 12478 // 12479 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12480 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 12481 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12482 // for more details. 12483 // 12484 // Under Section 7 of GPL version 3, you are granted additional 12485 // permissions described in the GCC Runtime Library Exception, version 12486 // 3.1, as published by the Free Software Foundation. 12487 // 12488 // You should have received a copy of the GNU General Public License and 12489 // a copy of the GCC Runtime Library Exception along with this program; 12490 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 12491 // <http://www.gnu.org/licenses/>. 12492 12493 // Number of bits in a `char'. 12494 12495 // Maximum length of a multibyte character. 12496 12497 // Minimum and maximum values a `signed char' can hold. 12498 12499 // Maximum value an `unsigned char' can hold. (Minimum is 0). 12500 12501 // Minimum and maximum values a `char' can hold. 12502 12503 // Minimum and maximum values a `signed short int' can hold. 12504 12505 // Maximum value an `unsigned short int' can hold. (Minimum is 0). 12506 12507 // Minimum and maximum values a `signed int' can hold. 12508 12509 // Maximum value an `unsigned int' can hold. (Minimum is 0). 12510 12511 // Minimum and maximum values a `signed long int' can hold. 12512 // (Same as `int'). 12513 12514 // Maximum value an `unsigned long int' can hold. (Minimum is 0). 12515 12516 // Minimum and maximum values a `signed long long int' can hold. 12517 12518 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 12519 12520 // This administrivia gets added to the end of limits.h 12521 // if the system has its own version of limits.h. 12522 12523 func XXRenderQueryFilters(tls *libc.TLS, dpy uintptr, drawable Drawable) uintptr { /* Filter.c:30:10: */ 12524 bp := tls.Alloc(33) 12525 defer tls.Free(33) 12526 12527 var info uintptr = XXRenderFindDisplay(tls, dpy) 12528 var xri uintptr 12529 var req uintptr 12530 // var rep XRenderQueryFiltersReply at bp, 32 12531 12532 var filters uintptr 12533 var name uintptr 12534 // var len uint8 at bp+32, 1 12535 12536 var i int32 12537 var nbytes uint64 12538 var nbytesAlias uint64 12539 var nbytesName uint64 12540 var reply_left uint64 12541 12542 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12543 return uintptr(0) 12544 } 12545 12546 if !(XXRenderQueryFormats(tls, dpy) != 0) { 12547 return uintptr(0) 12548 } 12549 12550 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 12551 if (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version < 6 { 12552 return uintptr(0) 12553 } 12554 12555 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12556 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 12557 } 12558 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryFilters), uint64(Sz_xRenderQueryFiltersReq)) 12559 (*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12560 (*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryFilters) 12561 (*XRenderQueryFiltersReq)(unsafe.Pointer(req)).Fdrawable = CARD32(drawable) 12562 if !(x11.X_XReply(tls, dpy, bp, 0, XFalse) != 0) { 12563 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12564 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 12565 } 12566 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12567 (*struct { 12568 f func(*libc.TLS, uintptr) int32 12569 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12570 } 12571 return uintptr(0) 12572 } 12573 12574 // Limit each component of combined size to 1/4 the max, which is far 12575 // more than they should ever possibly need. 12576 if (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).Flength < CARD32(int32(0x7fffffff)>>2) && uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumFilters) < uint64(0x7fffffff/4)/uint64(unsafe.Sizeof(uintptr(0))) && uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases) < uint64(0x7fffffff/4)/uint64(unsafe.Sizeof(int16(0))) { 12577 // Compute total number of bytes for filter names 12578 nbytes = uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).Flength) << 2 12579 nbytesAlias = uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases * CARD32(2)) 12580 if (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases&CARD32(1) != 0 { 12581 nbytesAlias = nbytesAlias + uint64(2) 12582 } 12583 nbytesName = nbytes - nbytesAlias 12584 12585 // Allocate one giant block for the whole data structure 12586 filters = libc.Xmalloc(tls, func() uint64 { 12587 if uint64(unsafe.Sizeof(XFilters{}))+uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumFilters)*uint64(unsafe.Sizeof(uintptr(0)))+uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)*uint64(unsafe.Sizeof(int16(0)))+nbytesName == uint64(0) { 12588 return uint64(1) 12589 } 12590 return uint64(unsafe.Sizeof(XFilters{})) + uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumFilters)*uint64(unsafe.Sizeof(uintptr(0))) + uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)*uint64(unsafe.Sizeof(int16(0))) + nbytesName 12591 }()) 12592 } else { 12593 filters = uintptr(0) 12594 } 12595 12596 if !(filters != 0) { 12597 x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength)) 12598 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12599 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 12600 } 12601 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12602 (*struct { 12603 f func(*libc.TLS, uintptr) int32 12604 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12605 } 12606 return uintptr(0) 12607 } 12608 12609 // Layout: 12610 // XFilters 12611 // numFilters char * pointers to filter names 12612 // numAliases short alias values 12613 // nbytesName char strings 12614 12615 (*XFilters)(unsafe.Pointer(filters)).Fnfilter = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters) 12616 (*XFilters)(unsafe.Pointer(filters)).Fnalias = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases) 12617 (*XFilters)(unsafe.Pointer(filters)).Ffilter = filters + uintptr(1)*32 12618 (*XFilters)(unsafe.Pointer(filters)).Falias = (*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumFilters)*8 12619 name = (*XFilters)(unsafe.Pointer(filters)).Falias + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)*2 12620 12621 // Read the filter aliases 12622 x11.X_XReadPad(tls, dpy, (*XFilters)(unsafe.Pointer(filters)).Falias, int64(CARD32(2)*(*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)) 12623 reply_left = uint64(CARD32(8) + (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).Flength - CARD32(2)*(*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases) 12624 12625 // Read the filter names 12626 for i = 0; CARD32(i) < (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters; i++ { 12627 var l int32 12628 x11.X_XRead(tls, dpy, bp+32, int64(1)) 12629 reply_left-- 12630 l = int32(*(*uint8)(unsafe.Pointer(bp + 32))) & 0xff 12631 if uint64(l)+uint64(1) > nbytesName { 12632 x11.X_XEatDataWords(tls, dpy, reply_left) 12633 libc.Xfree(tls, filters) 12634 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12635 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 12636 } 12637 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12638 (*struct { 12639 f func(*libc.TLS, uintptr) int32 12640 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12641 } 12642 return uintptr(0) 12643 } 12644 nbytesName = nbytesName - uint64(l+1) 12645 *(*uintptr)(unsafe.Pointer((*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr(i)*8)) = name 12646 x11.X_XRead(tls, dpy, name, int64(l)) 12647 reply_left = reply_left - uint64(l) 12648 *(*uint8)(unsafe.Pointer(name + uintptr(l))) = uint8(0) 12649 name += uintptr(l + 1) 12650 } 12651 i = int32((int64(name) - int64((*XFilters)(unsafe.Pointer(filters)).Falias+uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)*2)) / 1) 12652 12653 if i&3 != 0 { 12654 x11.X_XEatData(tls, dpy, uint64(4-i&3)) 12655 } 12656 12657 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12658 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 12659 } 12660 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12661 (*struct { 12662 f func(*libc.TLS, uintptr) int32 12663 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12664 } 12665 return filters 12666 } 12667 12668 func XXRenderSetPictureFilter(tls *libc.TLS, dpy uintptr, picture Picture, filter uintptr, params uintptr, nparams int32) { /* Filter.c:153:1: */ 12669 var info uintptr = XXRenderFindDisplay(tls, dpy) 12670 var req uintptr 12671 var nbytes int32 = int32(libc.Xstrlen(tls, filter)) 12672 12673 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12674 return 12675 } 12676 12677 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12678 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 12679 } 12680 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureFilter), uint64(Sz_xRenderSetPictureFilterReq)) 12681 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12682 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureFilter) 12683 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture) 12684 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fnbytes = CARD16(nbytes) 12685 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16((nbytes+3)>>2 + nparams) 12686 { 12687 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12688 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, filter, uint64(nbytes)) 12689 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nbytes + 3) & libc.CplInt32(3)) 12690 } else { 12691 x11.X_XSend(tls, dpy, filter, int64(nbytes)) 12692 } 12693 } 12694 12695 { 12696 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nparams<<2) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12697 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, params, uint64(nparams<<2)) 12698 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nparams<<2 + 3) & libc.CplInt32(3)) 12699 } else { 12700 x11.X_XSend(tls, dpy, params, int64(nparams<<2)) 12701 } 12702 } 12703 12704 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12705 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 12706 } 12707 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12708 (*struct { 12709 f func(*libc.TLS, uintptr) int32 12710 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12711 } 12712 } 12713 12714 // Xlib uses long for 32-bit values. Xrender uses int. This 12715 // matters on alpha. Note that this macro assumes that int is 32 bits 12716 // except on WORD64 machines where it is 64 bits. 12717 12718 func XXRenderCreateGlyphSet(tls *libc.TLS, dpy uintptr, format uintptr) GlyphSet { /* Glyph.c:31:1: */ 12719 var info uintptr = XXRenderFindDisplay(tls, dpy) 12720 var gsid GlyphSet 12721 var req uintptr 12722 12723 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12724 return uint64(0) 12725 } 12726 12727 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12728 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 12729 } 12730 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateGlyphSet), uint64(Sz_xRenderCreateGlyphSetReq)) 12731 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12732 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateGlyphSet) 12733 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fgsid = CARD32(libc.AssignUint64(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 12734 Fext_data uintptr 12735 Fprivate1 uintptr 12736 Ffd int32 12737 Fprivate2 int32 12738 Fproto_major_version int32 12739 Fproto_minor_version int32 12740 Fvendor uintptr 12741 Fprivate3 XID 12742 Fprivate4 XID 12743 Fprivate5 XID 12744 Fprivate6 int32 12745 F__ccgo_pad1 [4]byte 12746 Fresource_alloc uintptr 12747 Fbyte_order int32 12748 Fbitmap_unit int32 12749 Fbitmap_pad int32 12750 Fbitmap_bit_order int32 12751 Fnformats int32 12752 F__ccgo_pad2 [4]byte 12753 Fpixmap_format uintptr 12754 Fprivate8 int32 12755 Frelease int32 12756 Fprivate9 uintptr 12757 Fprivate10 uintptr 12758 Fqlen int32 12759 F__ccgo_pad3 [4]byte 12760 Flast_request_read uint64 12761 Frequest uint64 12762 Fprivate11 XPointer 12763 Fprivate12 XPointer 12764 Fprivate13 XPointer 12765 Fprivate14 XPointer 12766 Fmax_request_size uint32 12767 F__ccgo_pad4 [4]byte 12768 Fdb uintptr 12769 Fprivate15 uintptr 12770 Fdisplay_name uintptr 12771 Fdefault_screen int32 12772 Fnscreens int32 12773 Fscreens uintptr 12774 Fmotion_buffer uint64 12775 Fprivate16 uint64 12776 Fmin_keycode int32 12777 Fmax_keycode int32 12778 Fprivate17 XPointer 12779 Fprivate18 XPointer 12780 Fprivate19 int32 12781 F__ccgo_pad5 [4]byte 12782 Fxdefaults uintptr 12783 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy))) 12784 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fformat = CARD32((*XRenderPictFormat)(unsafe.Pointer(format)).Fid) 12785 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12786 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 12787 } 12788 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12789 (*struct { 12790 f func(*libc.TLS, uintptr) int32 12791 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12792 } 12793 return gsid 12794 } 12795 12796 func XXRenderReferenceGlyphSet(tls *libc.TLS, dpy uintptr, existing GlyphSet) GlyphSet { /* Glyph.c:50:1: */ 12797 var info uintptr = XXRenderFindDisplay(tls, dpy) 12798 var gsid GlyphSet 12799 var req uintptr 12800 12801 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12802 return uint64(0) 12803 } 12804 12805 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12806 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 12807 } 12808 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderReferenceGlyphSet), uint64(Sz_xRenderReferenceGlyphSetReq)) 12809 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12810 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderReferenceGlyphSet) 12811 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fgsid = CARD32(libc.AssignUint64(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 12812 Fext_data uintptr 12813 Fprivate1 uintptr 12814 Ffd int32 12815 Fprivate2 int32 12816 Fproto_major_version int32 12817 Fproto_minor_version int32 12818 Fvendor uintptr 12819 Fprivate3 XID 12820 Fprivate4 XID 12821 Fprivate5 XID 12822 Fprivate6 int32 12823 F__ccgo_pad1 [4]byte 12824 Fresource_alloc uintptr 12825 Fbyte_order int32 12826 Fbitmap_unit int32 12827 Fbitmap_pad int32 12828 Fbitmap_bit_order int32 12829 Fnformats int32 12830 F__ccgo_pad2 [4]byte 12831 Fpixmap_format uintptr 12832 Fprivate8 int32 12833 Frelease int32 12834 Fprivate9 uintptr 12835 Fprivate10 uintptr 12836 Fqlen int32 12837 F__ccgo_pad3 [4]byte 12838 Flast_request_read uint64 12839 Frequest uint64 12840 Fprivate11 XPointer 12841 Fprivate12 XPointer 12842 Fprivate13 XPointer 12843 Fprivate14 XPointer 12844 Fmax_request_size uint32 12845 F__ccgo_pad4 [4]byte 12846 Fdb uintptr 12847 Fprivate15 uintptr 12848 Fdisplay_name uintptr 12849 Fdefault_screen int32 12850 Fnscreens int32 12851 Fscreens uintptr 12852 Fmotion_buffer uint64 12853 Fprivate16 uint64 12854 Fmin_keycode int32 12855 Fmax_keycode int32 12856 Fprivate17 XPointer 12857 Fprivate18 XPointer 12858 Fprivate19 int32 12859 F__ccgo_pad5 [4]byte 12860 Fxdefaults uintptr 12861 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy))) 12862 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fexisting = CARD32(existing) 12863 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12864 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 12865 } 12866 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12867 (*struct { 12868 f func(*libc.TLS, uintptr) int32 12869 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12870 } 12871 return gsid 12872 } 12873 12874 func XXRenderFreeGlyphSet(tls *libc.TLS, dpy uintptr, glyphset GlyphSet) { /* Glyph.c:69:1: */ 12875 var info uintptr = XXRenderFindDisplay(tls, dpy) 12876 var req uintptr 12877 12878 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12879 return 12880 } 12881 12882 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12883 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 12884 } 12885 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphSet), uint64(Sz_xRenderFreeGlyphSetReq)) 12886 (*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12887 (*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphSet) 12888 (*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset) 12889 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12890 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 12891 } 12892 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12893 (*struct { 12894 f func(*libc.TLS, uintptr) int32 12895 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12896 } 12897 } 12898 12899 func XXRenderAddGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, glyphs uintptr, nglyphs int32, images uintptr, nbyte_images int32) { /* Glyph.c:85:1: */ 12900 bp := tls.Alloc(8) 12901 defer tls.Free(8) 12902 12903 var info uintptr = XXRenderFindDisplay(tls, dpy) 12904 var req uintptr 12905 var len int64 12906 12907 if nbyte_images&3 != 0 { 12908 nbyte_images = nbyte_images + (4 - nbyte_images&3) 12909 } 12910 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12911 return 12912 } 12913 12914 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12915 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 12916 } 12917 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddGlyphs), uint64(Sz_xRenderAddGlyphsReq)) 12918 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12919 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddGlyphs) 12920 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset) 12921 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fnglyphs = CARD32(nglyphs) 12922 len = int64((nglyphs*(Sz_xGlyphInfo+4) + nbyte_images) >> 2) 12923 if int64((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 12924 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 12925 { 12926 // var _BRdat CARD64 at bp, 8 12927 var _BRlen CARD32 = CARD32(int32((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) - 1) 12928 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 12929 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 12930 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 12931 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 12932 x11.X_XData32(tls, dpy, bp, uint32(4)) 12933 } 12934 } else { 12935 len = len 12936 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 12937 } 12938 } else { 12939 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 12940 } 12941 x11.X_XData32(tls, dpy, gids, uint32(nglyphs*4)) 12942 { 12943 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nglyphs*Sz_xGlyphInfo) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12944 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, glyphs, uint64(nglyphs*Sz_xGlyphInfo)) 12945 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nglyphs*Sz_xGlyphInfo + 3) & libc.CplInt32(3)) 12946 } else { 12947 x11.X_XSend(tls, dpy, glyphs, int64(nglyphs*Sz_xGlyphInfo)) 12948 } 12949 } 12950 12951 { 12952 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbyte_images) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12953 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, images, uint64(nbyte_images)) 12954 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nbyte_images + 3) & libc.CplInt32(3)) 12955 } else { 12956 x11.X_XSend(tls, dpy, images, int64(nbyte_images)) 12957 } 12958 } 12959 12960 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12961 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 12962 } 12963 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12964 (*struct { 12965 f func(*libc.TLS, uintptr) int32 12966 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12967 } 12968 } 12969 12970 func XXRenderFreeGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, nglyphs int32) { /* Glyph.c:116:1: */ 12971 bp := tls.Alloc(8) 12972 defer tls.Free(8) 12973 12974 var info uintptr = XXRenderFindDisplay(tls, dpy) 12975 var req uintptr 12976 var len int64 12977 12978 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 12979 return 12980 } 12981 12982 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12983 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 12984 } 12985 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphs), uint64(Sz_xRenderFreeGlyphsReq)) 12986 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12987 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphs) 12988 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset) 12989 len = int64(nglyphs) 12990 if int64((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 12991 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 12992 { 12993 // var _BRdat CARD64 at bp, 8 12994 var _BRlen CARD32 = CARD32(int32((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) - 1) 12995 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 12996 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 12997 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 12998 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 12999 x11.X_XData32(tls, dpy, bp, uint32(4)) 13000 } 13001 } else { 13002 len = len 13003 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 13004 } 13005 } else { 13006 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 13007 } 13008 len <<= 2 13009 x11.X_XData32(tls, dpy, gids, uint32(len)) 13010 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13011 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 13012 } 13013 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13014 (*struct { 13015 f func(*libc.TLS, uintptr) int32 13016 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13017 } 13018 } 13019 13020 func XXRenderCompositeString8(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, glyphset GlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string uintptr, nchar int32) { /* Glyph.c:140:1: */ 13021 var info uintptr = XXRenderFindDisplay(tls, dpy) 13022 var req uintptr 13023 var len int64 13024 var elt uintptr 13025 var nbytes int32 13026 13027 if !(nchar != 0) { 13028 return 13029 } 13030 13031 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13032 return 13033 } 13034 13035 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13036 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 13037 } 13038 13039 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint64(Sz_xRenderCompositeGlyphs8Req)) 13040 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13041 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8) 13042 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13043 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src) 13044 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst) 13045 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13046 if maskFormat != 0 { 13047 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 13048 } 13049 return uint32(None) 13050 }() 13051 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset) 13052 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13053 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13054 13055 // xGlyphElt must be aligned on a 32-bit boundary; this is 13056 // easily done by filling no more than 252 glyphs in each 13057 // bucket 13058 13059 len = int64(Sz_xGlyphElt*((nchar+252-1)/252) + nchar) 13060 13061 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16((len + int64(3)) >> 2) // convert to number of 32-bit words 13062 13063 // If the entire request does not fit into the remaining space in the 13064 // buffer, flush the buffer first. 13065 13066 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13067 x11.X_XFlush(tls, dpy) 13068 } 13069 13070 for nchar > 252 { 13071 nbytes = 252 + Sz_xGlyphElt 13072 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13073 x11.X_XFlush(tls, dpy) 13074 } 13075 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13076 libc.Xmemset(tls, elt, 0, uint64(nbytes)) 13077 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(nbytes) 13078 13079 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(252) 13080 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13081 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13082 xDst = 0 13083 yDst = 0 13084 libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint64(252)) 13085 nchar = nchar - 252 13086 string += uintptr(252) 13087 } 13088 13089 if nchar != 0 { 13090 nbytes = (nchar + Sz_xGlyphElt + 3) & libc.CplInt32(3) 13091 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13092 x11.X_XFlush(tls, dpy) 13093 } 13094 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13095 libc.Xmemset(tls, elt, 0, uint64(nbytes)) 13096 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(nbytes) 13097 13098 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar) 13099 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13100 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13101 libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint64(nchar)) 13102 } 13103 13104 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13105 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 13106 } 13107 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13108 (*struct { 13109 f func(*libc.TLS, uintptr) int32 13110 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13111 } 13112 } 13113 13114 func XXRenderCompositeString16(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, glyphset GlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string uintptr, nchar int32) { /* Glyph.c:225:1: */ 13115 var info uintptr = XXRenderFindDisplay(tls, dpy) 13116 var req uintptr 13117 var len int64 13118 var elt uintptr 13119 var nbytes int32 13120 13121 if !(nchar != 0) { 13122 return 13123 } 13124 13125 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13126 return 13127 } 13128 13129 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13130 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 13131 } 13132 13133 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint64(Sz_xRenderCompositeGlyphs16Req)) 13134 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13135 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16) 13136 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13137 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src) 13138 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst) 13139 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13140 if maskFormat != 0 { 13141 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 13142 } 13143 return uint32(None) 13144 }() 13145 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset) 13146 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13147 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13148 13149 len = int64(Sz_xGlyphElt*((nchar+254-1)/254) + nchar*2) 13150 13151 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16((len + int64(3)) >> 2) // convert to number of 32-bit words 13152 13153 // If the entire request does not fit into the remaining space in the 13154 // buffer, flush the buffer first. 13155 13156 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13157 x11.X_XFlush(tls, dpy) 13158 } 13159 13160 for nchar > 254 { 13161 nbytes = 254*2 + Sz_xGlyphElt 13162 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13163 x11.X_XFlush(tls, dpy) 13164 } 13165 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13166 libc.Xmemset(tls, elt, 0, uint64(nbytes)) 13167 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(nbytes) 13168 13169 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254) 13170 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13171 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13172 xDst = 0 13173 yDst = 0 13174 libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint64(254*2)) 13175 nchar = nchar - 254 13176 string += 2 * uintptr(254) 13177 } 13178 13179 if nchar != 0 { 13180 nbytes = (nchar*2 + Sz_xGlyphElt + 3) & libc.CplInt32(3) 13181 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13182 x11.X_XFlush(tls, dpy) 13183 } 13184 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13185 libc.Xmemset(tls, elt, 0, uint64(nbytes)) 13186 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(nbytes) 13187 13188 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar) 13189 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13190 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13191 libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint64(nchar*2)) 13192 } 13193 13194 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13195 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 13196 } 13197 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13198 (*struct { 13199 f func(*libc.TLS, uintptr) int32 13200 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13201 } 13202 } 13203 13204 func XXRenderCompositeString32(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, glyphset GlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string uintptr, nchar int32) { /* Glyph.c:305:1: */ 13205 var info uintptr = XXRenderFindDisplay(tls, dpy) 13206 var req uintptr 13207 var len int64 13208 var elt uintptr 13209 var nbytes int32 13210 13211 if !(nchar != 0) { 13212 return 13213 } 13214 13215 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13216 return 13217 } 13218 13219 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13220 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 13221 } 13222 13223 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint64(Sz_xRenderCompositeGlyphs32Req)) 13224 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13225 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32) 13226 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13227 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src) 13228 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst) 13229 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13230 if maskFormat != 0 { 13231 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 13232 } 13233 return uint32(None) 13234 }() 13235 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset) 13236 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13237 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13238 13239 len = int64(Sz_xGlyphElt*((nchar+254-1)/254) + nchar*4) 13240 13241 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16((len + int64(3)) >> 2) // convert to number of 32-bit words 13242 13243 // If the entire request does not fit into the remaining space in the 13244 // buffer, flush the buffer first. 13245 13246 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13247 x11.X_XFlush(tls, dpy) 13248 } 13249 13250 for nchar > 254 { 13251 nbytes = 254*4 + Sz_xGlyphElt 13252 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13253 x11.X_XFlush(tls, dpy) 13254 } 13255 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13256 libc.Xmemset(tls, elt, 0, uint64(nbytes)) 13257 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(nbytes) 13258 13259 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254) 13260 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13261 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13262 xDst = 0 13263 yDst = 0 13264 libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint64(254*4)) 13265 nchar = nchar - 254 13266 string += 4 * uintptr(254) 13267 } 13268 13269 if nchar != 0 { 13270 nbytes = nchar*4 + Sz_xGlyphElt 13271 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13272 x11.X_XFlush(tls, dpy) 13273 } 13274 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13275 libc.Xmemset(tls, elt, 0, uint64(nbytes)) 13276 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(nbytes) 13277 13278 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar) 13279 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13280 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13281 libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint64(nchar*4)) 13282 } 13283 13284 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13285 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 13286 } 13287 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13288 (*struct { 13289 f func(*libc.TLS, uintptr) int32 13290 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13291 } 13292 } 13293 13294 func XXRenderCompositeText8(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) { /* Glyph.c:385:1: */ 13295 bp := tls.Alloc(8) 13296 defer tls.Free(8) 13297 13298 var info uintptr = XXRenderFindDisplay(tls, dpy) 13299 var req uintptr 13300 // var glyphset GlyphSet at bp, 8 13301 13302 var len int64 13303 var elen int64 13304 var elt uintptr 13305 var i int32 13306 var chars uintptr 13307 var nchars int32 13308 13309 if !(nelt != 0) { 13310 return 13311 } 13312 13313 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13314 return 13315 } 13316 13317 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13318 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 13319 } 13320 13321 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint64(Sz_xRenderCompositeGlyphs8Req)) 13322 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13323 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8) 13324 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13325 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src) 13326 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst) 13327 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13328 if maskFormat != 0 { 13329 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 13330 } 13331 return uint32(None) 13332 }() 13333 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32((*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset) 13334 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13335 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13336 13337 // Compute the space necessary 13338 len = int64(0) 13339 13340 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset 13341 for i = 0; i < nelt; i++ { 13342 // Check for glyphset change 13343 if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) { 13344 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset 13345 len = len + int64(int32(Sz_xGlyphElt+4)>>2) 13346 } 13347 nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars 13348 // xGlyphElt must be aligned on a 32-bit boundary; this is 13349 // easily done by filling no more than 252 glyphs in each 13350 // bucket 13351 elen = int64(Sz_xGlyphElt*((nchars+252-1)/252) + nchars) 13352 len = len + (elen+int64(3))>>2 13353 } 13354 13355 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 13356 13357 // Send the glyphs 13358 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset 13359 for i = 0; i < nelt; i++ { 13360 // Switch glyphsets 13361 if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) { 13362 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset 13363 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13364 x11.X_XFlush(tls, dpy) 13365 } 13366 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13367 libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt)) 13368 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xGlyphElt) 13369 13370 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff) 13371 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0) 13372 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0) 13373 x11.X_XData32(tls, dpy, bp, uint32(4)) 13374 } 13375 nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars 13376 xDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).FxOff 13377 yDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).FyOff 13378 chars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fchars 13379 for nchars != 0 { 13380 var this_chars int32 13381 if nchars > 252 { 13382 this_chars = 252 13383 } else { 13384 this_chars = nchars 13385 } 13386 13387 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13388 x11.X_XFlush(tls, dpy) 13389 } 13390 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13391 libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt)) 13392 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xGlyphElt) 13393 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars) 13394 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13395 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13396 xDst = 0 13397 yDst = 0 13398 { 13399 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(this_chars) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13400 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint64(this_chars)) 13401 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((this_chars + 3) & libc.CplInt32(3)) 13402 } else { 13403 x11.X_XSend(tls, dpy, chars, int64(this_chars)) 13404 } 13405 } 13406 13407 nchars = nchars - this_chars 13408 chars += uintptr(this_chars) 13409 } 13410 } 13411 13412 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13413 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 13414 } 13415 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13416 (*struct { 13417 f func(*libc.TLS, uintptr) int32 13418 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13419 } 13420 } 13421 13422 func XXRenderCompositeText16(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) { /* Glyph.c:498:1: */ 13423 bp := tls.Alloc(8) 13424 defer tls.Free(8) 13425 13426 var info uintptr = XXRenderFindDisplay(tls, dpy) 13427 var req uintptr 13428 // var glyphset GlyphSet at bp, 8 13429 13430 var len int64 13431 var elen int64 13432 var elt uintptr 13433 var i int32 13434 var chars uintptr 13435 var nchars int32 13436 13437 if !(nelt != 0) { 13438 return 13439 } 13440 13441 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13442 return 13443 } 13444 13445 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13446 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 13447 } 13448 13449 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint64(Sz_xRenderCompositeGlyphs16Req)) 13450 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13451 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16) 13452 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13453 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fsrc = CARD32(src) 13454 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fdst = CARD32(dst) 13455 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13456 if maskFormat != 0 { 13457 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 13458 } 13459 return uint32(None) 13460 }() 13461 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fglyphset = CARD32((*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset) 13462 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13463 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13464 13465 // Compute the space necessary 13466 len = int64(0) 13467 13468 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset 13469 for i = 0; i < nelt; i++ { 13470 // Check for glyphset change 13471 if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) { 13472 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset 13473 len = len + int64(int32(Sz_xGlyphElt+4)>>2) 13474 } 13475 nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars 13476 // xGlyphElt must be aligned on a 32-bit boundary; this is 13477 // easily done by filling no more than 254 glyphs in each 13478 // bucket 13479 elen = int64(Sz_xGlyphElt*((nchars+254-1)/254) + nchars*2) 13480 len = len + (elen+int64(3))>>2 13481 } 13482 13483 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 13484 13485 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset 13486 for i = 0; i < nelt; i++ { 13487 // Switch glyphsets 13488 if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) { 13489 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset 13490 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13491 x11.X_XFlush(tls, dpy) 13492 } 13493 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13494 libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt)) 13495 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xGlyphElt) 13496 13497 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff) 13498 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0) 13499 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0) 13500 x11.X_XData32(tls, dpy, bp, uint32(4)) 13501 } 13502 nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars 13503 xDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).FxOff 13504 yDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).FyOff 13505 chars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fchars 13506 for nchars != 0 { 13507 var this_chars int32 13508 if nchars > 254 { 13509 this_chars = 254 13510 } else { 13511 this_chars = nchars 13512 } 13513 var this_bytes int32 = this_chars * 2 13514 13515 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13516 x11.X_XFlush(tls, dpy) 13517 } 13518 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13519 libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt)) 13520 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xGlyphElt) 13521 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars) 13522 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13523 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13524 xDst = 0 13525 yDst = 0 13526 { 13527 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(this_bytes) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13528 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint64(this_bytes)) 13529 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((this_bytes + 3) & libc.CplInt32(3)) 13530 } else { 13531 x11.X_XSend(tls, dpy, chars, int64(this_bytes)) 13532 } 13533 } 13534 13535 nchars = nchars - this_chars 13536 chars += 2 * uintptr(this_chars) 13537 } 13538 } 13539 13540 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13541 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 13542 } 13543 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13544 (*struct { 13545 f func(*libc.TLS, uintptr) int32 13546 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13547 } 13548 } 13549 13550 func XXRenderCompositeText32(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) { /* Glyph.c:609:1: */ 13551 bp := tls.Alloc(8) 13552 defer tls.Free(8) 13553 13554 var info uintptr = XXRenderFindDisplay(tls, dpy) 13555 var req uintptr 13556 // var glyphset GlyphSet at bp, 8 13557 13558 var len int64 13559 var elen int64 13560 var elt uintptr 13561 var i int32 13562 var chars uintptr 13563 var nchars int32 13564 13565 if !(nelt != 0) { 13566 return 13567 } 13568 13569 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13570 return 13571 } 13572 13573 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13574 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 13575 } 13576 13577 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint64(Sz_xRenderCompositeGlyphs32Req)) 13578 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13579 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32) 13580 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13581 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fsrc = CARD32(src) 13582 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fdst = CARD32(dst) 13583 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13584 if maskFormat != 0 { 13585 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 13586 } 13587 return uint32(None) 13588 }() 13589 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fglyphset = CARD32((*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset) 13590 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13591 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13592 13593 // Compute the space necessary 13594 len = int64(0) 13595 13596 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset 13597 for i = 0; i < nelt; i++ { 13598 // Check for glyphset change 13599 if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) { 13600 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset 13601 len = len + int64(int32(Sz_xGlyphElt+4)>>2) 13602 } 13603 nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars 13604 elen = int64(Sz_xGlyphElt*((nchars+254-1)/254) + nchars*4) 13605 len = len + (elen+int64(3))>>2 13606 } 13607 13608 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 13609 13610 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset 13611 for i = 0; i < nelt; i++ { 13612 // Switch glyphsets 13613 if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) { 13614 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset 13615 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13616 x11.X_XFlush(tls, dpy) 13617 } 13618 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13619 libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt)) 13620 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xGlyphElt) 13621 13622 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff) 13623 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0) 13624 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0) 13625 x11.X_XData32(tls, dpy, bp, uint32(4)) 13626 } 13627 nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars 13628 xDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).FxOff 13629 yDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).FyOff 13630 chars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fchars 13631 for nchars != 0 { 13632 var this_chars int32 13633 if nchars > 254 { 13634 this_chars = 254 13635 } else { 13636 this_chars = nchars 13637 } 13638 var this_bytes int32 = this_chars * 4 13639 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13640 x11.X_XFlush(tls, dpy) 13641 } 13642 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13643 libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt)) 13644 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xGlyphElt) 13645 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars) 13646 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13647 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13648 xDst = 0 13649 yDst = 0 13650 { 13651 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(this_bytes) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13652 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint64(this_bytes)) 13653 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((this_bytes + 3) & libc.CplInt32(3)) 13654 } else { 13655 x11.X_XSend(tls, dpy, chars, int64(this_bytes)) 13656 } 13657 } 13658 13659 nchars = nchars - this_chars 13660 chars += 4 * uintptr(this_chars) 13661 } 13662 } 13663 13664 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13665 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 13666 } 13667 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13668 (*struct { 13669 f func(*libc.TLS, uintptr) int32 13670 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13671 } 13672 } 13673 13674 // Xlib uses long for 32-bit values. Xrender uses int. This 13675 // matters on alpha. Note that this macro assumes that int is 32 bits 13676 // except on WORD64 machines where it is 64 bits. 13677 13678 //*********************************************************************** 13679 // 13680 // Copyright 1987, 1998 The Open Group 13681 // 13682 // Permission to use, copy, modify, distribute, and sell this software and its 13683 // documentation for any purpose is hereby granted without fee, provided that 13684 // the above copyright notice appear in all copies and that both that 13685 // copyright notice and this permission notice appear in supporting 13686 // documentation. 13687 // 13688 // The above copyright notice and this permission notice shall be included in 13689 // all copies or substantial portions of the Software. 13690 // 13691 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 13692 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13693 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 13694 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 13695 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 13696 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 13697 // 13698 // Except as contained in this notice, the name of The Open Group shall not be 13699 // used in advertising or otherwise to promote the sale, use or other dealings 13700 // in this Software without prior written authorization from The Open Group. 13701 // 13702 // 13703 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 13704 // 13705 // All Rights Reserved 13706 // 13707 // Permission to use, copy, modify, and distribute this software and its 13708 // documentation for any purpose and without fee is hereby granted, 13709 // provided that the above copyright notice appear in all copies and that 13710 // both that copyright notice and this permission notice appear in 13711 // supporting documentation, and that the name of Digital not be 13712 // used in advertising or publicity pertaining to distribution of the 13713 // software without specific, written prior permission. 13714 // 13715 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 13716 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 13717 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 13718 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 13719 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 13720 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 13721 // SOFTWARE. 13722 // 13723 // *********************************************************************** 13724 13725 type Box = struct { 13726 Fx1 int16 13727 Fx2 int16 13728 Fy1 int16 13729 Fy2 int16 13730 } /* Xregion.h:53:3 */ 13731 type BOX = struct { 13732 Fx1 int16 13733 Fx2 int16 13734 Fy1 int16 13735 Fy2 int16 13736 } /* Xregion.h:53:8 */ 13737 type BoxRec = struct { 13738 Fx1 int16 13739 Fx2 int16 13740 Fy1 int16 13741 Fy2 int16 13742 } /* Xregion.h:53:13 */ 13743 type BoxPtr = uintptr /* Xregion.h:53:21 */ 13744 13745 type RECTANGLE = struct { 13746 Fx int16 13747 Fy int16 13748 Fwidth int16 13749 Fheight int16 13750 } /* Xregion.h:57:2 */ 13751 type RectangleRec = struct { 13752 Fx int16 13753 Fy int16 13754 Fwidth int16 13755 Fheight int16 13756 } /* Xregion.h:57:13 */ 13757 type RectanglePtr = uintptr /* Xregion.h:57:27 */ 13758 13759 // clip region 13760 13761 type REGION = X_XRegion /* Xregion.h:80:3 */ 13762 13763 // Xutil.h contains the declaration: 13764 // typedef struct _XRegion *Region; 13765 13766 // 1 if two BOXs overlap. 13767 // 0 if two BOXs do not overlap. 13768 // Remember, x2 and y2 are not in the region 13769 13770 // update region extents 13771 13772 // Check to see if there is enough memory in the present region. 13773 13774 // this routine checks to see if the previous rectangle is the same 13775 // or subsumes the new rectangle to add. 13776 13777 // add a rectangle to the given Region 13778 13779 // add a rectangle to the given Region 13780 13781 // number of points to buffer before sending them off 13782 // to scanlines() : Must be an even number 13783 13784 // used to allocate buffers for points and link 13785 // the buffers together 13786 type X_POINTBLOCK = struct { 13787 Fpts [200]XPoint 13788 Fnext uintptr 13789 } /* Xregion.h:185:9 */ 13790 13791 // Xutil.h contains the declaration: 13792 // typedef struct _XRegion *Region; 13793 13794 // 1 if two BOXs overlap. 13795 // 0 if two BOXs do not overlap. 13796 // Remember, x2 and y2 are not in the region 13797 13798 // update region extents 13799 13800 // Check to see if there is enough memory in the present region. 13801 13802 // this routine checks to see if the previous rectangle is the same 13803 // or subsumes the new rectangle to add. 13804 13805 // add a rectangle to the given Region 13806 13807 // add a rectangle to the given Region 13808 13809 // number of points to buffer before sending them off 13810 // to scanlines() : Must be an even number 13811 13812 // used to allocate buffers for points and link 13813 // the buffers together 13814 type POINTBLOCK = X_POINTBLOCK /* Xregion.h:188:3 */ 13815 13816 func _XRenderProcessPictureAttributes(tls *libc.TLS, dpy uintptr, req uintptr, valuemask uint64, attributes uintptr) { /* Picture.c:32:1: */ 13817 bp := tls.Alloc(256) 13818 defer tls.Free(256) 13819 13820 // var values [32]uint64 at bp, 256 13821 13822 var value uintptr = bp /* values */ 13823 var nvalues uint32 13824 13825 if valuemask&uint64(int32(1)<<0) != 0 { 13826 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Frepeat) 13827 } 13828 if valuemask&uint64(int32(1)<<1) != 0 { 13829 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_map 13830 } 13831 if valuemask&uint64(int32(1)<<2) != 0 { 13832 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_x_origin) 13833 } 13834 if valuemask&uint64(int32(1)<<3) != 0 { 13835 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_y_origin) 13836 } 13837 if valuemask&uint64(int32(1)<<4) != 0 { 13838 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_x_origin) 13839 } 13840 if valuemask&uint64(int32(1)<<5) != 0 { 13841 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_y_origin) 13842 } 13843 if valuemask&uint64(int32(1)<<6) != 0 { 13844 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_mask 13845 } 13846 if valuemask&uint64(int32(1)<<7) != 0 { 13847 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fgraphics_exposures) 13848 } 13849 if valuemask&uint64(int32(1)<<8) != 0 { 13850 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fsubwindow_mode) 13851 } 13852 if valuemask&uint64(int32(1)<<9) != 0 { 13853 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_edge) 13854 } 13855 if valuemask&uint64(int32(1)<<10) != 0 { 13856 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_mode) 13857 } 13858 if valuemask&uint64(int32(1)<<11) != 0 { 13859 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fdither 13860 } 13861 if valuemask&uint64(int32(1)<<12) != 0 { 13862 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fcomponent_alpha) 13863 } 13864 13865 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(libc.AssignUint32(&nvalues, uint32(int64((value-bp)/8)))) 13866 13867 nvalues <<= 2 // watch out for macros... 13868 x11.X_XData32(tls, dpy, bp, uint32(int64(nvalues))) 13869 } 13870 13871 func XXRenderCreatePicture(tls *libc.TLS, dpy uintptr, drawable Drawable, format uintptr, valuemask uint64, attributes uintptr) Picture { /* Picture.c:75:1: */ 13872 var info uintptr = XXRenderFindDisplay(tls, dpy) 13873 var pid Picture 13874 var req uintptr 13875 13876 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13877 return uint64(0) 13878 } 13879 13880 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13881 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 13882 } 13883 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreatePicture), uint64(Sz_xRenderCreatePictureReq)) 13884 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13885 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreatePicture) 13886 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 13887 Fext_data uintptr 13888 Fprivate1 uintptr 13889 Ffd int32 13890 Fprivate2 int32 13891 Fproto_major_version int32 13892 Fproto_minor_version int32 13893 Fvendor uintptr 13894 Fprivate3 XID 13895 Fprivate4 XID 13896 Fprivate5 XID 13897 Fprivate6 int32 13898 F__ccgo_pad1 [4]byte 13899 Fresource_alloc uintptr 13900 Fbyte_order int32 13901 Fbitmap_unit int32 13902 Fbitmap_pad int32 13903 Fbitmap_bit_order int32 13904 Fnformats int32 13905 F__ccgo_pad2 [4]byte 13906 Fpixmap_format uintptr 13907 Fprivate8 int32 13908 Frelease int32 13909 Fprivate9 uintptr 13910 Fprivate10 uintptr 13911 Fqlen int32 13912 F__ccgo_pad3 [4]byte 13913 Flast_request_read uint64 13914 Frequest uint64 13915 Fprivate11 XPointer 13916 Fprivate12 XPointer 13917 Fprivate13 XPointer 13918 Fprivate14 XPointer 13919 Fmax_request_size uint32 13920 F__ccgo_pad4 [4]byte 13921 Fdb uintptr 13922 Fprivate15 uintptr 13923 Fdisplay_name uintptr 13924 Fdefault_screen int32 13925 Fnscreens int32 13926 Fscreens uintptr 13927 Fmotion_buffer uint64 13928 Fprivate16 uint64 13929 Fmin_keycode int32 13930 Fmax_keycode int32 13931 Fprivate17 XPointer 13932 Fprivate18 XPointer 13933 Fprivate19 int32 13934 F__ccgo_pad5 [4]byte 13935 Fxdefaults uintptr 13936 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy))) 13937 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fdrawable = CARD32(drawable) 13938 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fformat = CARD32((*XRenderPictFormat)(unsafe.Pointer(format)).Fid) 13939 if libc.AssignPtrUint32(req+16, CARD32(valuemask)) != 0 { 13940 _XRenderProcessPictureAttributes(tls, dpy, 13941 req, 13942 valuemask, 13943 attributes) 13944 } 13945 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13946 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 13947 } 13948 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13949 (*struct { 13950 f func(*libc.TLS, uintptr) int32 13951 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13952 } 13953 return pid 13954 } 13955 13956 func XXRenderChangePicture(tls *libc.TLS, dpy uintptr, picture Picture, valuemask uint64, attributes uintptr) { /* Picture.c:104:1: */ 13957 var info uintptr = XXRenderFindDisplay(tls, dpy) 13958 var req uintptr 13959 13960 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 13961 return 13962 } 13963 13964 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13965 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 13966 } 13967 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderChangePicture), uint64(Sz_xRenderChangePictureReq)) 13968 (*XRenderChangePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13969 (*XRenderChangePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderChangePicture) 13970 (*XRenderChangePictureReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture) 13971 (*XRenderChangePictureReq)(unsafe.Pointer(req)).Fmask = CARD32(valuemask) 13972 _XRenderProcessPictureAttributes(tls, dpy, 13973 req, 13974 valuemask, 13975 attributes) 13976 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13977 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 13978 } 13979 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13980 (*struct { 13981 f func(*libc.TLS, uintptr) int32 13982 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13983 } 13984 } 13985 13986 func _XRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, info uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:128:1: */ 13987 bp := tls.Alloc(8) 13988 defer tls.Free(8) 13989 13990 var req uintptr 13991 var len int64 13992 13993 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureClipRectangles), uint64(Sz_xRenderSetPictureClipRectanglesReq)) 13994 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13995 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureClipRectangles) 13996 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture) 13997 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FxOrigin = INT16(xOrigin) 13998 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FyOrigin = INT16(yOrigin) 13999 len = int64(n) << 1 14000 if int64((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 14001 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14002 { 14003 // var _BRdat CARD64 at bp, 8 14004 var _BRlen CARD32 = CARD32(int32((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) - 1) 14005 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14006 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 14007 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 14008 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 14009 x11.X_XData32(tls, dpy, bp, uint32(4)) 14010 } 14011 } else { 14012 len = int64(1) 14013 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14014 } 14015 } else { 14016 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14017 } 14018 len <<= 2 14019 { 14020 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14021 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rects, uint64(int32(len))) 14022 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3))) 14023 } else { 14024 x11.X_XSend(tls, dpy, rects, len) 14025 } 14026 } 14027 14028 } 14029 14030 func XXRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:152:1: */ 14031 var info uintptr = XXRenderFindDisplay(tls, dpy) 14032 14033 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14034 return 14035 } 14036 14037 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14038 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 14039 } 14040 _XRenderSetPictureClipRectangles(tls, dpy, info, picture, 14041 xOrigin, yOrigin, rects, n) 14042 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14043 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 14044 } 14045 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14046 (*struct { 14047 f func(*libc.TLS, uintptr) int32 14048 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14049 } 14050 } 14051 14052 func XXRenderSetPictureClipRegion(tls *libc.TLS, dpy uintptr, picture Picture, r Region) { /* Picture.c:170:1: */ 14053 var info uintptr = XXRenderFindDisplay(tls, dpy) 14054 var i int32 14055 var xr uintptr 14056 var pr uintptr 14057 var pb uintptr 14058 var total uint64 14059 14060 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14061 return 14062 } 14063 14064 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14065 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 14066 } 14067 total = uint64((*X_XRegion)(unsafe.Pointer(r)).FnumRects) * uint64(unsafe.Sizeof(XRectangle{})) 14068 if libc.AssignUintptr(&xr, x11.X_XAllocTemp(tls, dpy, total)) != 0 { 14069 pr = xr 14070 pb = (*X_XRegion)(unsafe.Pointer(r)).Frects 14071 i = int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) 14072 __1: 14073 if !(libc.PreDecInt32(&i, 1) >= 0) { 14074 goto __3 14075 } 14076 { 14077 (*XRectangle)(unsafe.Pointer(pr)).Fx = (*BOX)(unsafe.Pointer(pb)).Fx1 14078 (*XRectangle)(unsafe.Pointer(pr)).Fy = (*BOX)(unsafe.Pointer(pb)).Fy1 14079 (*XRectangle)(unsafe.Pointer(pr)).Fwidth = uint16(int32((*BOX)(unsafe.Pointer(pb)).Fx2) - int32((*BOX)(unsafe.Pointer(pb)).Fx1)) 14080 (*XRectangle)(unsafe.Pointer(pr)).Fheight = uint16(int32((*BOX)(unsafe.Pointer(pb)).Fy2) - int32((*BOX)(unsafe.Pointer(pb)).Fy1)) 14081 14082 } 14083 goto __2 14084 __2: 14085 pr += 8 14086 pb += 8 14087 goto __1 14088 goto __3 14089 __3: 14090 } 14091 if xr != 0 || !(int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) != 0) { 14092 _XRenderSetPictureClipRectangles(tls, dpy, info, picture, 0, 0, 14093 xr, int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects)) 14094 } 14095 if xr != 0 { 14096 x11.X_XFreeTemp(tls, dpy, xr, total) 14097 } 14098 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14099 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 14100 } 14101 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14102 (*struct { 14103 f func(*libc.TLS, uintptr) int32 14104 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14105 } 14106 } 14107 14108 func XXRenderSetPictureTransform(tls *libc.TLS, dpy uintptr, picture Picture, transform uintptr) { /* Picture.c:201:1: */ 14109 var info uintptr = XXRenderFindDisplay(tls, dpy) 14110 var req uintptr 14111 14112 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14113 return 14114 } 14115 14116 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14117 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 14118 } 14119 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureTransform), uint64(Sz_xRenderSetPictureTransformReq)) 14120 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14121 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureTransform) 14122 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture) 14123 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix11 = *(*XFixed)(unsafe.Pointer(transform)) 14124 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix12 = *(*XFixed)(unsafe.Pointer(transform + 1*4)) 14125 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix13 = *(*XFixed)(unsafe.Pointer(transform + 2*4)) 14126 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix21 = *(*XFixed)(unsafe.Pointer(transform + 1*12)) 14127 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix22 = *(*XFixed)(unsafe.Pointer(transform + 1*12 + 1*4)) 14128 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix23 = *(*XFixed)(unsafe.Pointer(transform + 1*12 + 2*4)) 14129 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix31 = *(*XFixed)(unsafe.Pointer(transform + 2*12)) 14130 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix32 = *(*XFixed)(unsafe.Pointer(transform + 2*12 + 1*4)) 14131 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix33 = *(*XFixed)(unsafe.Pointer(transform + 2*12 + 2*4)) 14132 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14133 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 14134 } 14135 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14136 (*struct { 14137 f func(*libc.TLS, uintptr) int32 14138 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14139 } 14140 14141 } 14142 14143 func XXRenderFreePicture(tls *libc.TLS, dpy uintptr, picture Picture) { /* Picture.c:229:1: */ 14144 var info uintptr = XXRenderFindDisplay(tls, dpy) 14145 var req uintptr 14146 14147 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14148 return 14149 } 14150 14151 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14152 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 14153 } 14154 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreePicture), uint64(Sz_xRenderFreePictureReq)) 14155 (*XRenderFreePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14156 (*XRenderFreePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreePicture) 14157 (*XRenderFreePictureReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture) 14158 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14159 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 14160 } 14161 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14162 (*struct { 14163 f func(*libc.TLS, uintptr) int32 14164 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14165 } 14166 } 14167 14168 func XXRenderCreateSolidFill(tls *libc.TLS, dpy uintptr, color uintptr) Picture { /* Picture.c:246:9: */ 14169 var info uintptr = XXRenderFindDisplay(tls, dpy) 14170 var pid Picture 14171 var req uintptr 14172 14173 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14174 return uint64(0) 14175 } 14176 14177 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14178 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 14179 } 14180 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateSolidFill), uint64(Sz_xRenderCreateSolidFillReq)) 14181 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14182 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateSolidFill) 14183 14184 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14185 Fext_data uintptr 14186 Fprivate1 uintptr 14187 Ffd int32 14188 Fprivate2 int32 14189 Fproto_major_version int32 14190 Fproto_minor_version int32 14191 Fvendor uintptr 14192 Fprivate3 XID 14193 Fprivate4 XID 14194 Fprivate5 XID 14195 Fprivate6 int32 14196 F__ccgo_pad1 [4]byte 14197 Fresource_alloc uintptr 14198 Fbyte_order int32 14199 Fbitmap_unit int32 14200 Fbitmap_pad int32 14201 Fbitmap_bit_order int32 14202 Fnformats int32 14203 F__ccgo_pad2 [4]byte 14204 Fpixmap_format uintptr 14205 Fprivate8 int32 14206 Frelease int32 14207 Fprivate9 uintptr 14208 Fprivate10 uintptr 14209 Fqlen int32 14210 F__ccgo_pad3 [4]byte 14211 Flast_request_read uint64 14212 Frequest uint64 14213 Fprivate11 XPointer 14214 Fprivate12 XPointer 14215 Fprivate13 XPointer 14216 Fprivate14 XPointer 14217 Fmax_request_size uint32 14218 F__ccgo_pad4 [4]byte 14219 Fdb uintptr 14220 Fprivate15 uintptr 14221 Fdisplay_name uintptr 14222 Fdefault_screen int32 14223 Fnscreens int32 14224 Fscreens uintptr 14225 Fmotion_buffer uint64 14226 Fprivate16 uint64 14227 Fmin_keycode int32 14228 Fmax_keycode int32 14229 Fprivate17 XPointer 14230 Fprivate18 XPointer 14231 Fprivate19 int32 14232 F__ccgo_pad5 [4]byte 14233 Fxdefaults uintptr 14234 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy))) 14235 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred 14236 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen 14237 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue 14238 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha 14239 14240 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14241 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 14242 } 14243 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14244 (*struct { 14245 f func(*libc.TLS, uintptr) int32 14246 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14247 } 14248 return pid 14249 } 14250 14251 func XXRenderCreateLinearGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:271:9: */ 14252 bp := tls.Alloc(8) 14253 defer tls.Free(8) 14254 14255 var info uintptr = XXRenderFindDisplay(tls, dpy) 14256 var pid Picture 14257 var req uintptr 14258 var len int64 14259 14260 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14261 return uint64(0) 14262 } 14263 14264 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14265 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 14266 } 14267 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateLinearGradient), uint64(Sz_xRenderCreateLinearGradientReq)) 14268 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14269 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateLinearGradient) 14270 14271 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14272 Fext_data uintptr 14273 Fprivate1 uintptr 14274 Ffd int32 14275 Fprivate2 int32 14276 Fproto_major_version int32 14277 Fproto_minor_version int32 14278 Fvendor uintptr 14279 Fprivate3 XID 14280 Fprivate4 XID 14281 Fprivate5 XID 14282 Fprivate6 int32 14283 F__ccgo_pad1 [4]byte 14284 Fresource_alloc uintptr 14285 Fbyte_order int32 14286 Fbitmap_unit int32 14287 Fbitmap_pad int32 14288 Fbitmap_bit_order int32 14289 Fnformats int32 14290 F__ccgo_pad2 [4]byte 14291 Fpixmap_format uintptr 14292 Fprivate8 int32 14293 Frelease int32 14294 Fprivate9 uintptr 14295 Fprivate10 uintptr 14296 Fqlen int32 14297 F__ccgo_pad3 [4]byte 14298 Flast_request_read uint64 14299 Frequest uint64 14300 Fprivate11 XPointer 14301 Fprivate12 XPointer 14302 Fprivate13 XPointer 14303 Fprivate14 XPointer 14304 Fmax_request_size uint32 14305 F__ccgo_pad4 [4]byte 14306 Fdb uintptr 14307 Fprivate15 uintptr 14308 Fdisplay_name uintptr 14309 Fdefault_screen int32 14310 Fnscreens int32 14311 Fscreens uintptr 14312 Fmotion_buffer uint64 14313 Fprivate16 uint64 14314 Fmin_keycode int32 14315 Fmax_keycode int32 14316 Fprivate17 XPointer 14317 Fprivate18 XPointer 14318 Fprivate19 int32 14319 F__ccgo_pad5 [4]byte 14320 Fxdefaults uintptr 14321 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy))) 14322 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fx = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fx 14323 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fy = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fy 14324 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fx = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fx 14325 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fy = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fy 14326 14327 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops) 14328 len = int64(nStops) * int64(3) 14329 if int64((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 14330 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14331 { 14332 // var _BRdat CARD64 at bp, 8 14333 var _BRlen CARD32 = CARD32(int32((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) - 1) 14334 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14335 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 14336 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 14337 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 14338 x11.X_XData32(tls, dpy, bp, uint32(4)) 14339 } 14340 } else { 14341 len = int64(6) 14342 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14343 } 14344 } else { 14345 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14346 } 14347 { 14348 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14349 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint64(nStops*4)) 14350 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nStops*4 + 3) & libc.CplInt32(3)) 14351 } else { 14352 x11.X_XSend(tls, dpy, stops, int64(nStops*4)) 14353 } 14354 } 14355 14356 { 14357 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*8) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14358 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint64(nStops*8)) 14359 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nStops*8 + 3) & libc.CplInt32(3)) 14360 } else { 14361 x11.X_XSend(tls, dpy, colors, int64(nStops*8)) 14362 } 14363 } 14364 14365 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14366 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 14367 } 14368 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14369 (*struct { 14370 f func(*libc.TLS, uintptr) int32 14371 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14372 } 14373 return pid 14374 } 14375 14376 func XXRenderCreateRadialGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:305:9: */ 14377 bp := tls.Alloc(8) 14378 defer tls.Free(8) 14379 14380 var info uintptr = XXRenderFindDisplay(tls, dpy) 14381 var pid Picture 14382 var req uintptr 14383 var len int64 14384 14385 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14386 return uint64(0) 14387 } 14388 14389 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14390 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 14391 } 14392 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateRadialGradient), uint64(Sz_xRenderCreateRadialGradientReq)) 14393 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14394 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateRadialGradient) 14395 14396 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14397 Fext_data uintptr 14398 Fprivate1 uintptr 14399 Ffd int32 14400 Fprivate2 int32 14401 Fproto_major_version int32 14402 Fproto_minor_version int32 14403 Fvendor uintptr 14404 Fprivate3 XID 14405 Fprivate4 XID 14406 Fprivate5 XID 14407 Fprivate6 int32 14408 F__ccgo_pad1 [4]byte 14409 Fresource_alloc uintptr 14410 Fbyte_order int32 14411 Fbitmap_unit int32 14412 Fbitmap_pad int32 14413 Fbitmap_bit_order int32 14414 Fnformats int32 14415 F__ccgo_pad2 [4]byte 14416 Fpixmap_format uintptr 14417 Fprivate8 int32 14418 Frelease int32 14419 Fprivate9 uintptr 14420 Fprivate10 uintptr 14421 Fqlen int32 14422 F__ccgo_pad3 [4]byte 14423 Flast_request_read uint64 14424 Frequest uint64 14425 Fprivate11 XPointer 14426 Fprivate12 XPointer 14427 Fprivate13 XPointer 14428 Fprivate14 XPointer 14429 Fmax_request_size uint32 14430 F__ccgo_pad4 [4]byte 14431 Fdb uintptr 14432 Fprivate15 uintptr 14433 Fdisplay_name uintptr 14434 Fdefault_screen int32 14435 Fnscreens int32 14436 Fscreens uintptr 14437 Fmotion_buffer uint64 14438 Fprivate16 uint64 14439 Fmin_keycode int32 14440 Fmax_keycode int32 14441 Fprivate17 XPointer 14442 Fprivate18 XPointer 14443 Fprivate19 int32 14444 F__ccgo_pad5 [4]byte 14445 Fxdefaults uintptr 14446 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy))) 14447 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fx = (*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fx 14448 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fy = (*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fy 14449 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fx = (*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fx 14450 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fy = (*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fy 14451 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner_radius = (*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fradius 14452 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter_radius = (*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fradius 14453 14454 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops) 14455 len = int64(nStops) * int64(3) 14456 if int64((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 14457 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14458 { 14459 // var _BRdat CARD64 at bp, 8 14460 var _BRlen CARD32 = CARD32(int32((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) - 1) 14461 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14462 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 14463 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 14464 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 14465 x11.X_XData32(tls, dpy, bp, uint32(4)) 14466 } 14467 } else { 14468 len = int64(6) 14469 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14470 } 14471 } else { 14472 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14473 } 14474 { 14475 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14476 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint64(nStops*4)) 14477 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nStops*4 + 3) & libc.CplInt32(3)) 14478 } else { 14479 x11.X_XSend(tls, dpy, stops, int64(nStops*4)) 14480 } 14481 } 14482 14483 { 14484 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*8) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14485 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint64(nStops*8)) 14486 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nStops*8 + 3) & libc.CplInt32(3)) 14487 } else { 14488 x11.X_XSend(tls, dpy, colors, int64(nStops*8)) 14489 } 14490 } 14491 14492 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14493 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 14494 } 14495 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14496 (*struct { 14497 f func(*libc.TLS, uintptr) int32 14498 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14499 } 14500 return pid 14501 } 14502 14503 func XXRenderCreateConicalGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:341:9: */ 14504 bp := tls.Alloc(8) 14505 defer tls.Free(8) 14506 14507 var info uintptr = XXRenderFindDisplay(tls, dpy) 14508 var pid Picture 14509 var req uintptr 14510 var len int64 14511 14512 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14513 return uint64(0) 14514 } 14515 14516 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14517 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 14518 } 14519 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateConicalGradient), uint64(Sz_xRenderCreateConicalGradientReq)) 14520 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14521 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateConicalGradient) 14522 14523 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14524 Fext_data uintptr 14525 Fprivate1 uintptr 14526 Ffd int32 14527 Fprivate2 int32 14528 Fproto_major_version int32 14529 Fproto_minor_version int32 14530 Fvendor uintptr 14531 Fprivate3 XID 14532 Fprivate4 XID 14533 Fprivate5 XID 14534 Fprivate6 int32 14535 F__ccgo_pad1 [4]byte 14536 Fresource_alloc uintptr 14537 Fbyte_order int32 14538 Fbitmap_unit int32 14539 Fbitmap_pad int32 14540 Fbitmap_bit_order int32 14541 Fnformats int32 14542 F__ccgo_pad2 [4]byte 14543 Fpixmap_format uintptr 14544 Fprivate8 int32 14545 Frelease int32 14546 Fprivate9 uintptr 14547 Fprivate10 uintptr 14548 Fqlen int32 14549 F__ccgo_pad3 [4]byte 14550 Flast_request_read uint64 14551 Frequest uint64 14552 Fprivate11 XPointer 14553 Fprivate12 XPointer 14554 Fprivate13 XPointer 14555 Fprivate14 XPointer 14556 Fmax_request_size uint32 14557 F__ccgo_pad4 [4]byte 14558 Fdb uintptr 14559 Fprivate15 uintptr 14560 Fdisplay_name uintptr 14561 Fdefault_screen int32 14562 Fnscreens int32 14563 Fscreens uintptr 14564 Fmotion_buffer uint64 14565 Fprivate16 uint64 14566 Fmin_keycode int32 14567 Fmax_keycode int32 14568 Fprivate17 XPointer 14569 Fprivate18 XPointer 14570 Fprivate19 int32 14571 F__ccgo_pad5 [4]byte 14572 Fxdefaults uintptr 14573 })(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy))) 14574 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fx = (*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fx 14575 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fy = (*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fy 14576 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fangle = (*XConicalGradient)(unsafe.Pointer(gradient)).Fangle 14577 14578 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops) 14579 len = int64(nStops) * int64(3) 14580 if int64((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 14581 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14582 { 14583 // var _BRdat CARD64 at bp, 8 14584 var _BRlen CARD32 = CARD32(int32((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) - 1) 14585 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14586 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 14587 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 14588 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 14589 x11.X_XData32(tls, dpy, bp, uint32(4)) 14590 } 14591 } else { 14592 len = int64(6) 14593 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14594 } 14595 } else { 14596 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14597 } 14598 { 14599 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14600 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint64(nStops*4)) 14601 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nStops*4 + 3) & libc.CplInt32(3)) 14602 } else { 14603 x11.X_XSend(tls, dpy, stops, int64(nStops*4)) 14604 } 14605 } 14606 14607 { 14608 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*8) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14609 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint64(nStops*8)) 14610 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nStops*8 + 3) & libc.CplInt32(3)) 14611 } else { 14612 x11.X_XSend(tls, dpy, colors, int64(nStops*8)) 14613 } 14614 } 14615 14616 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14617 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 14618 } 14619 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14620 (*struct { 14621 f func(*libc.TLS, uintptr) int32 14622 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14623 } 14624 return pid 14625 } 14626 14627 // Xlib uses long for 32-bit values. Xrender uses int. This 14628 // matters on alpha. Note that this macro assumes that int is 32 bits 14629 // except on WORD64 machines where it is 64 bits. 14630 14631 type X_Edge = struct { 14632 Fedge XLineFixed1 14633 Fcurrent_x XFixed 14634 FclockWise int32 14635 Fnext uintptr 14636 Fprev uintptr 14637 } /* Poly.c:29:9 */ 14638 14639 // Xlib uses long for 32-bit values. Xrender uses int. This 14640 // matters on alpha. Note that this macro assumes that int is 32 bits 14641 // except on WORD64 machines where it is 64 bits. 14642 14643 type Edge = X_Edge /* Poly.c:29:22 */ 14644 14645 func sCompareEdge(tls *libc.TLS, o1 uintptr, o2 uintptr) int32 { /* Poly.c:39:1: */ 14646 var e1 uintptr = o1 14647 var e2 uintptr = o2 14648 14649 return (*Edge)(unsafe.Pointer(e1)).Fedge.Fp1.Fy - (*Edge)(unsafe.Pointer(e2)).Fedge.Fp1.Fy 14650 } 14651 14652 func sXRenderComputeX(tls *libc.TLS, line uintptr, y XFixed) XFixed { /* Poly.c:47:1: */ 14653 var dx XFixed = (*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fx - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx 14654 var ex float64 = float64(y-(*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy) * float64(dx) 14655 var dy XFixed = (*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fy - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy 14656 14657 return (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx + libc.Int32FromFloat64(ex/float64(dy)) 14658 } 14659 14660 func sXRenderComputeInverseSlope(tls *libc.TLS, l uintptr) float64 { /* Poly.c:57:1: */ 14661 return XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp2.Fx-(*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fx) / float64(65536) / (XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp2.Fy-(*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fy) / float64(65536)) 14662 } 14663 14664 func sXRenderComputeXIntercept(tls *libc.TLS, l uintptr, inverse_slope float64) float64 { /* Poly.c:64:1: */ 14665 return XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fx)/float64(65536) - inverse_slope*(XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fy)/float64(65536)) 14666 } 14667 14668 func sXRenderComputeIntersect(tls *libc.TLS, l1 uintptr, l2 uintptr) XFixed { /* Poly.c:70:1: */ 14669 // x = m1y + b1 14670 // x = m2y + b2 14671 // m1y + b1 = m2y + b2 14672 // y * (m1 - m2) = b2 - b1 14673 // y = (b2 - b1) / (m1 - m2) 14674 var m1 float64 = sXRenderComputeInverseSlope(tls, l1) 14675 var b1 float64 = sXRenderComputeXIntercept(tls, l1, m1) 14676 var m2 float64 = sXRenderComputeInverseSlope(tls, l2) 14677 var b2 float64 = sXRenderComputeXIntercept(tls, l2, m2) 14678 14679 return libc.Int32FromFloat64((b2 - b1) / (m1 - m2) * float64(65536)) 14680 } 14681 14682 func sXRenderComputeTrapezoids(tls *libc.TLS, edges uintptr, nedges int32, winding int32, traps uintptr) int32 { /* Poly.c:88:1: */ 14683 var ntraps int32 = 0 14684 var inactive int32 14685 var active uintptr 14686 var e uintptr 14687 var en uintptr 14688 var next uintptr 14689 var y XFixed 14690 var next_y XFixed 14691 var intersect XFixed 14692 14693 libc.Xqsort(tls, edges, uint64(nedges), uint64(unsafe.Sizeof(Edge{})), *(*uintptr)(unsafe.Pointer(&struct { 14694 f func(*libc.TLS, uintptr, uintptr) int32 14695 }{sCompareEdge}))) 14696 14697 y = (*Edge)(unsafe.Pointer(edges)).Fedge.Fp1.Fy 14698 active = uintptr(0) 14699 inactive = 0 14700 for active != 0 || inactive < nedges { 14701 // insert new active edges into list 14702 for inactive < nedges { 14703 e = edges + uintptr(inactive)*40 14704 if (*Edge)(unsafe.Pointer(e)).Fedge.Fp1.Fy > y { 14705 break 14706 } 14707 // move this edge into the active list 14708 inactive++ 14709 (*Edge)(unsafe.Pointer(e)).Fnext = active 14710 (*Edge)(unsafe.Pointer(e)).Fprev = uintptr(0) 14711 if active != 0 { 14712 (*Edge)(unsafe.Pointer(active)).Fprev = e 14713 } 14714 active = e 14715 } 14716 // compute x coordinates along this group 14717 for e = active; e != 0; e = (*Edge)(unsafe.Pointer(e)).Fnext { 14718 (*Edge)(unsafe.Pointer(e)).Fcurrent_x = sXRenderComputeX(tls, e, y) 14719 } 14720 14721 // sort active list 14722 for e = active; e != 0; e = next { 14723 next = (*Edge)(unsafe.Pointer(e)).Fnext 14724 // Find one later in the list that belongs before the 14725 // current one 14726 for en = next; en != 0; en = (*Edge)(unsafe.Pointer(en)).Fnext { 14727 if (*Edge)(unsafe.Pointer(en)).Fcurrent_x < (*Edge)(unsafe.Pointer(e)).Fcurrent_x || (*Edge)(unsafe.Pointer(en)).Fcurrent_x == (*Edge)(unsafe.Pointer(e)).Fcurrent_x && (*Edge)(unsafe.Pointer(en)).Fedge.Fp2.Fx < (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fx { 14728 // insert en before e 14729 // 14730 // extract en 14731 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(en)).Fnext 14732 if (*Edge)(unsafe.Pointer(en)).Fnext != 0 { 14733 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(en)).Fprev 14734 } 14735 // insert en 14736 if (*Edge)(unsafe.Pointer(e)).Fprev != 0 { 14737 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = en 14738 } else { 14739 active = en 14740 } 14741 (*Edge)(unsafe.Pointer(en)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev 14742 (*Edge)(unsafe.Pointer(e)).Fprev = en 14743 (*Edge)(unsafe.Pointer(en)).Fnext = e 14744 // start over at en 14745 next = en 14746 break 14747 } 14748 } 14749 } 14750 // find next inflection point 14751 next_y = (*Edge)(unsafe.Pointer(active)).Fedge.Fp2.Fy 14752 for e = active; e != 0; e = en { 14753 if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy < next_y { 14754 next_y = (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy 14755 } 14756 en = (*Edge)(unsafe.Pointer(e)).Fnext 14757 // check intersect 14758 if en != 0 && (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fx > (*Edge)(unsafe.Pointer(en)).Fedge.Fp2.Fx { 14759 intersect = sXRenderComputeIntersect(tls, e, (*Edge)(unsafe.Pointer(e)).Fnext) 14760 // make sure this point is below the actual intersection 14761 intersect = intersect + 1 14762 if intersect < next_y { 14763 next_y = intersect 14764 } 14765 } 14766 } 14767 // check next inactive point 14768 if inactive < nedges && (*Edge)(unsafe.Pointer(edges+uintptr(inactive)*40)).Fedge.Fp1.Fy < next_y { 14769 next_y = (*Edge)(unsafe.Pointer(edges + uintptr(inactive)*40)).Fedge.Fp1.Fy 14770 } 14771 14772 // walk the list generating trapezoids 14773 for e = active; e != 0 && libc.AssignUintptr(&en, (*Edge)(unsafe.Pointer(e)).Fnext) != 0; e = (*Edge)(unsafe.Pointer(en)).Fnext { 14774 (*XTrapezoid1)(unsafe.Pointer(traps)).Ftop = y 14775 (*XTrapezoid1)(unsafe.Pointer(traps)).Fbottom = next_y 14776 (*XTrapezoid1)(unsafe.Pointer(traps)).Fleft = (*Edge)(unsafe.Pointer(e)).Fedge 14777 (*XTrapezoid1)(unsafe.Pointer(traps)).Fright = (*Edge)(unsafe.Pointer(en)).Fedge 14778 traps += 40 14779 ntraps++ 14780 } 14781 14782 y = next_y 14783 14784 // delete inactive edges from list 14785 for e = active; e != 0; e = next { 14786 next = (*Edge)(unsafe.Pointer(e)).Fnext 14787 if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy <= y { 14788 if (*Edge)(unsafe.Pointer(e)).Fprev != 0 { 14789 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(e)).Fnext 14790 } else { 14791 active = (*Edge)(unsafe.Pointer(e)).Fnext 14792 } 14793 if (*Edge)(unsafe.Pointer(e)).Fnext != 0 { 14794 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev 14795 } 14796 } 14797 } 14798 } 14799 return ntraps 14800 } 14801 14802 func XXRenderCompositeDoublePoly(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, fpoints uintptr, npoints int32, winding int32) { /* Poly.c:225:1: */ 14803 var edges uintptr 14804 var traps uintptr 14805 var i int32 14806 var nedges int32 14807 var ntraps int32 14808 var x XFixed 14809 var y XFixed 14810 var prevx XFixed = 0 14811 var prevy XFixed = 0 14812 var firstx XFixed = 0 14813 var firsty XFixed = 0 14814 var top XFixed = 0 14815 var bottom XFixed = 0 // GCCism 14816 14817 edges = libc.Xmalloc(tls, func() uint64 { 14818 if uint64(npoints)*uint64(unsafe.Sizeof(Edge{}))+uint64(npoints*npoints)*uint64(unsafe.Sizeof(XTrapezoid1{})) == uint64(0) { 14819 return uint64(1) 14820 } 14821 return uint64(npoints)*uint64(unsafe.Sizeof(Edge{})) + uint64(npoints*npoints)*uint64(unsafe.Sizeof(XTrapezoid1{})) 14822 }()) 14823 if !(edges != 0) { 14824 return 14825 } 14826 traps = edges + uintptr(npoints)*40 14827 nedges = 0 14828 for i = 0; i <= npoints; i++ { 14829 if i == npoints { 14830 x = firstx 14831 y = firsty 14832 } else { 14833 x = libc.Int32FromFloat64((*XPointDouble)(unsafe.Pointer(fpoints+uintptr(i)*16)).Fx * float64(65536)) 14834 y = libc.Int32FromFloat64((*XPointDouble)(unsafe.Pointer(fpoints+uintptr(i)*16)).Fy * float64(65536)) 14835 } 14836 if i != 0 { 14837 if y < top { 14838 top = y 14839 } else if y > bottom { 14840 bottom = y 14841 } 14842 if prevy < y { 14843 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fx = prevx 14844 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fy = prevy 14845 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fx = x 14846 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fy = y 14847 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).FclockWise = True 14848 nedges++ 14849 } else if prevy > y { 14850 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fx = x 14851 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fy = y 14852 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fx = prevx 14853 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fy = prevy 14854 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).FclockWise = False 14855 nedges++ 14856 } 14857 // drop horizontal edges 14858 } else { 14859 top = y 14860 bottom = y 14861 firstx = x 14862 firsty = y 14863 } 14864 prevx = x 14865 prevy = y 14866 } 14867 ntraps = sXRenderComputeTrapezoids(tls, edges, nedges, winding, traps) 14868 // XXX adjust xSrc/xDst 14869 XXRenderCompositeTrapezoids(tls, dpy, op, src, dst, maskFormat, xSrc, ySrc, traps, ntraps) 14870 libc.Xfree(tls, edges) 14871 } 14872 14873 // Xlib uses long for 32-bit values. Xrender uses int. This 14874 // matters on alpha. Note that this macro assumes that int is 32 bits 14875 // except on WORD64 machines where it is 64 bits. 14876 14877 func XXRenderCompositeTrapezoids(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, traps uintptr, ntrap int32) { /* Trap.c:30:1: */ 14878 bp := tls.Alloc(8) 14879 defer tls.Free(8) 14880 14881 var info uintptr = XXRenderFindDisplay(tls, dpy) 14882 var req uintptr 14883 var n int32 14884 var len int64 14885 var max_req uint64 14886 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14887 max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size 14888 } else { 14889 max_req = uint64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size) 14890 } 14891 14892 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14893 return 14894 } 14895 14896 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14897 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 14898 } 14899 for ntrap != 0 { 14900 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTrapezoids), uint64(Sz_xRenderTrapezoidsReq)) 14901 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14902 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTrapezoids) 14903 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14904 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fsrc = CARD32(src) 14905 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 14906 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14907 if maskFormat != 0 { 14908 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 14909 } 14910 return uint32(0) 14911 }() 14912 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14913 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14914 n = ntrap 14915 len = int64(n) * int64(int32(Sz_xTrapezoid)>>2) 14916 if uint64(len) > max_req-uint64((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) { 14917 n = int32((max_req - uint64((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)) / uint64(int32(Sz_xTrapezoid)>>2)) 14918 len = int64(n) * int64(int32(Sz_xTrapezoid)>>2) 14919 } 14920 if int64((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 14921 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14922 { 14923 // var _BRdat CARD64 at bp, 8 14924 var _BRlen CARD32 = CARD32(int32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) - 1) 14925 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14926 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 14927 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 14928 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 14929 x11.X_XData32(tls, dpy, bp, uint32(4)) 14930 } 14931 } else { 14932 len = len 14933 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14934 } 14935 } else { 14936 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 14937 } 14938 len <<= 2 14939 { 14940 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14941 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint64(int32(len))) 14942 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3))) 14943 } else { 14944 x11.X_XSend(tls, dpy, traps, len) 14945 } 14946 } 14947 14948 ntrap = ntrap - n 14949 traps += 40 * uintptr(n) 14950 } 14951 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14952 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 14953 } 14954 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14955 (*struct { 14956 f func(*libc.TLS, uintptr) int32 14957 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14958 } 14959 } 14960 14961 // Xlib uses long for 32-bit values. Xrender uses int. This 14962 // matters on alpha. Note that this macro assumes that int is 32 bits 14963 // except on WORD64 machines where it is 64 bits. 14964 14965 func XXRenderCompositeTriangles(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, triangles uintptr, ntriangle int32) { /* Tri.c:30:1: */ 14966 bp := tls.Alloc(8) 14967 defer tls.Free(8) 14968 14969 var info uintptr = XXRenderFindDisplay(tls, dpy) 14970 var req uintptr 14971 var n int32 14972 var len int64 14973 14974 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 14975 return 14976 } 14977 14978 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14979 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 14980 } 14981 for ntriangle != 0 { 14982 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriangles), uint64(Sz_xRenderTrianglesReq)) 14983 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14984 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriangles) 14985 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14986 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Fsrc = CARD32(src) 14987 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 14988 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14989 if maskFormat != 0 { 14990 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 14991 } 14992 return uint32(0) 14993 }() 14994 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14995 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14996 n = ntriangle 14997 len = int64(n) * int64(int32(Sz_xTriangle)>>2) 14998 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && len > int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)) { 14999 n = int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)) / uint32(int32(Sz_xTriangle)>>2)) 15000 len = int64(n) * int64(int32(Sz_xTriangle)>>2) 15001 } 15002 if int64((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 15003 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 15004 { 15005 // var _BRdat CARD64 at bp, 8 15006 var _BRlen CARD32 = CARD32(int32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength) - 1) 15007 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength = CARD16(0) 15008 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 15009 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 15010 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 15011 x11.X_XData32(tls, dpy, bp, uint32(4)) 15012 } 15013 } else { 15014 len = len 15015 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 15016 } 15017 } else { 15018 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 15019 } 15020 len <<= 2 15021 { 15022 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 15023 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, triangles, uint64(int32(len))) 15024 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3))) 15025 } else { 15026 x11.X_XSend(tls, dpy, triangles, len) 15027 } 15028 } 15029 15030 ntriangle = ntriangle - n 15031 triangles += 24 * uintptr(n) 15032 } 15033 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15034 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 15035 } 15036 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 15037 (*struct { 15038 f func(*libc.TLS, uintptr) int32 15039 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 15040 } 15041 } 15042 15043 func XXRenderCompositeTriStrip(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, points uintptr, npoint int32) { /* Tri.c:75:1: */ 15044 bp := tls.Alloc(8) 15045 defer tls.Free(8) 15046 15047 var info uintptr = XXRenderFindDisplay(tls, dpy) 15048 var req uintptr 15049 var n int32 15050 var len int64 15051 15052 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 15053 return 15054 } 15055 15056 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15057 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 15058 } 15059 for npoint > 2 { 15060 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriStrip), uint64(Sz_xRenderTriStripReq)) 15061 (*XRenderTriStripReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 15062 (*XRenderTriStripReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriStrip) 15063 (*XRenderTriStripReq)(unsafe.Pointer(req)).Fop = CARD8(op) 15064 (*XRenderTriStripReq)(unsafe.Pointer(req)).Fsrc = CARD32(src) 15065 (*XRenderTriStripReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 15066 (*XRenderTriStripReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 15067 if maskFormat != 0 { 15068 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 15069 } 15070 return uint32(0) 15071 }() 15072 (*XRenderTriStripReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 15073 (*XRenderTriStripReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 15074 n = npoint 15075 len = int64(n) * int64(int32(Sz_xPointFixed)>>2) 15076 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && len > int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)) { 15077 n = int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)) / uint32(int32(Sz_xPointFixed)>>2)) 15078 len = int64(n) * int64(int32(Sz_xPointFixed)>>2) 15079 } 15080 if int64((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 15081 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 15082 { 15083 // var _BRdat CARD64 at bp, 8 15084 var _BRlen CARD32 = CARD32(int32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength) - 1) 15085 (*XRenderTriStripReq)(unsafe.Pointer(req)).Flength = CARD16(0) 15086 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 15087 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 15088 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 15089 x11.X_XData32(tls, dpy, bp, uint32(4)) 15090 } 15091 } else { 15092 len = len 15093 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 15094 } 15095 } else { 15096 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 15097 } 15098 len <<= 2 15099 { 15100 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 15101 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint64(int32(len))) 15102 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3))) 15103 } else { 15104 x11.X_XSend(tls, dpy, points, len) 15105 } 15106 } 15107 15108 npoint = npoint - (n - 2) 15109 points += 8 * uintptr(n-2) 15110 } 15111 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15112 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 15113 } 15114 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 15115 (*struct { 15116 f func(*libc.TLS, uintptr) int32 15117 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 15118 } 15119 } 15120 15121 func XXRenderCompositeTriFan(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, points uintptr, npoint int32) { /* Tri.c:120:1: */ 15122 bp := tls.Alloc(8) 15123 defer tls.Free(8) 15124 15125 var info uintptr = XXRenderFindDisplay(tls, dpy) 15126 var first uintptr = points 15127 var p uintptr 15128 var req uintptr 15129 var n int32 15130 var len int64 15131 15132 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 15133 return 15134 } 15135 15136 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15137 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 15138 } 15139 points += 8 15140 npoint-- 15141 for npoint > 1 { 15142 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriFan), uint64(Sz_xRenderTriFanReq+Sz_xPointFixed)) 15143 (*XRenderTriFanReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 15144 (*XRenderTriFanReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriFan) 15145 (*XRenderTriFanReq)(unsafe.Pointer(req)).Fop = CARD8(op) 15146 (*XRenderTriFanReq)(unsafe.Pointer(req)).Fsrc = CARD32(src) 15147 (*XRenderTriFanReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 15148 (*XRenderTriFanReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 15149 if maskFormat != 0 { 15150 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 15151 } 15152 return uint32(0) 15153 }() 15154 (*XRenderTriFanReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 15155 (*XRenderTriFanReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 15156 p = req + uintptr(1)*24 15157 (*XPointFixed)(unsafe.Pointer(p)).Fx = (*XPointFixed1)(unsafe.Pointer(first)).Fx 15158 (*XPointFixed)(unsafe.Pointer(p)).Fy = (*XPointFixed1)(unsafe.Pointer(first)).Fy 15159 n = npoint 15160 len = int64(n) * int64(int32(Sz_xPointFixed)>>2) 15161 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && len > int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)) { 15162 n = int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)) / uint32(int32(Sz_xPointFixed)>>2)) 15163 len = int64(n) * int64(int32(Sz_xPointFixed)>>2) 15164 } 15165 if int64((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) { 15166 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 15167 { 15168 // var _BRdat CARD64 at bp, 8 15169 var _BRlen CARD32 = CARD32(int32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength) - 1) 15170 (*XRenderTriFanReq)(unsafe.Pointer(req)).Flength = CARD16(0) 15171 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))) 15172 libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2)) 15173 *(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2)) 15174 x11.X_XData32(tls, dpy, bp, uint32(4)) 15175 } 15176 } else { 15177 len = len 15178 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 15179 } 15180 } else { 15181 *(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len) 15182 } 15183 len <<= 2 15184 { 15185 if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 15186 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint64(int32(len))) 15187 *(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3))) 15188 } else { 15189 x11.X_XSend(tls, dpy, points, len) 15190 } 15191 } 15192 15193 npoint = npoint - (n - 1) 15194 points += 8 * uintptr(n-1) 15195 } 15196 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15197 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 15198 } 15199 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 15200 (*struct { 15201 f func(*libc.TLS, uintptr) int32 15202 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 15203 } 15204 } 15205 15206 // Xlib uses long for 32-bit values. Xrender uses int. This 15207 // matters on alpha. Note that this macro assumes that int is 32 bits 15208 // except on WORD64 machines where it is 64 bits. 15209 15210 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 15211 // 15212 // This file is part of GCC. 15213 // 15214 // GCC is free software; you can redistribute it and/or modify it under 15215 // the terms of the GNU General Public License as published by the Free 15216 // Software Foundation; either version 3, or (at your option) any later 15217 // version. 15218 // 15219 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 15220 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 15221 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15222 // for more details. 15223 // 15224 // Under Section 7 of GPL version 3, you are granted additional 15225 // permissions described in the GCC Runtime Library Exception, version 15226 // 3.1, as published by the Free Software Foundation. 15227 // 15228 // You should have received a copy of the GNU General Public License and 15229 // a copy of the GCC Runtime Library Exception along with this program; 15230 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 15231 // <http://www.gnu.org/licenses/>. 15232 15233 // This administrivia gets added to the beginning of limits.h 15234 // if the system has its own version of limits.h. 15235 15236 // We use _GCC_LIMITS_H_ because we want this not to match 15237 // any macros that the system's limits.h uses for its own purposes. 15238 15239 // Use "..." so that we find syslimits.h only in this same directory. 15240 // syslimits.h stands for the system's own limits.h file. 15241 // If we can use it ok unmodified, then we install this text. 15242 // If fixincludes fixes it, then the fixed version is installed 15243 // instead of this text. 15244 15245 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15246 // This file is part of the GNU C Library. 15247 // 15248 // The GNU C Library is free software; you can redistribute it and/or 15249 // modify it under the terms of the GNU Lesser General Public 15250 // License as published by the Free Software Foundation; either 15251 // version 2.1 of the License, or (at your option) any later version. 15252 // 15253 // The GNU C Library is distributed in the hope that it will be useful, 15254 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15255 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15256 // Lesser General Public License for more details. 15257 // 15258 // You should have received a copy of the GNU Lesser General Public 15259 // License along with the GNU C Library; if not, see 15260 // <https://www.gnu.org/licenses/>. 15261 15262 // ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h> 15263 15264 // Handle feature test macros at the start of a header. 15265 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 15266 // This file is part of the GNU C Library. 15267 // 15268 // The GNU C Library is free software; you can redistribute it and/or 15269 // modify it under the terms of the GNU Lesser General Public 15270 // License as published by the Free Software Foundation; either 15271 // version 2.1 of the License, or (at your option) any later version. 15272 // 15273 // The GNU C Library is distributed in the hope that it will be useful, 15274 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15275 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15276 // Lesser General Public License for more details. 15277 // 15278 // You should have received a copy of the GNU Lesser General Public 15279 // License along with the GNU C Library; if not, see 15280 // <https://www.gnu.org/licenses/>. 15281 15282 // This header is internal to glibc and should not be included outside 15283 // of glibc headers. Headers including it must define 15284 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 15285 // cannot have multiple include guards because ISO C feature test 15286 // macros depend on the definition of the macro when an affected 15287 // header is included, not when the first system header is 15288 // included. 15289 15290 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15291 // This file is part of the GNU C Library. 15292 // 15293 // The GNU C Library is free software; you can redistribute it and/or 15294 // modify it under the terms of the GNU Lesser General Public 15295 // License as published by the Free Software Foundation; either 15296 // version 2.1 of the License, or (at your option) any later version. 15297 // 15298 // The GNU C Library is distributed in the hope that it will be useful, 15299 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15300 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15301 // Lesser General Public License for more details. 15302 // 15303 // You should have received a copy of the GNU Lesser General Public 15304 // License along with the GNU C Library; if not, see 15305 // <https://www.gnu.org/licenses/>. 15306 15307 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 15308 // macro. 15309 15310 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 15311 // macro. Most but not all symbols enabled by that macro in TS 15312 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 15313 // still require that macro in C2X. 15314 15315 // ISO/IEC TS 18661-4:2015 defines the 15316 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 15317 // functions, the symbols from this TS are enabled unconditionally in 15318 // C2X. 15319 15320 // ISO/IEC TS 18661-3:2015 defines the 15321 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 15322 15323 // Maximum length of any multibyte character in any locale. 15324 // We define this value here since the gcc header does not define 15325 // the correct value. 15326 15327 // If we are not using GNU CC we have to define all the symbols ourself. 15328 // Otherwise use gcc's definitions (see below). 15329 15330 // Get the compiler's limits.h, which defines almost all the ISO constants. 15331 // 15332 // We put this #include_next outside the double inclusion check because 15333 // it should be possible to include this file more than once and still get 15334 // the definitions from gcc's header. 15335 15336 // The <limits.h> files in some gcc versions don't define LLONG_MIN, 15337 // LLONG_MAX, and ULLONG_MAX. Instead only the values gcc defined for 15338 // ages are available. 15339 15340 // The integer width macros are not defined by GCC's <limits.h> before 15341 // GCC 7, or if _GNU_SOURCE rather than 15342 // __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. 15343 15344 // POSIX adds things to <limits.h>. 15345 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15346 // This file is part of the GNU C Library. 15347 // 15348 // The GNU C Library is free software; you can redistribute it and/or 15349 // modify it under the terms of the GNU Lesser General Public 15350 // License as published by the Free Software Foundation; either 15351 // version 2.1 of the License, or (at your option) any later version. 15352 // 15353 // The GNU C Library is distributed in the hope that it will be useful, 15354 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15355 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15356 // Lesser General Public License for more details. 15357 // 15358 // You should have received a copy of the GNU Lesser General Public 15359 // License along with the GNU C Library; if not, see 15360 // <https://www.gnu.org/licenses/>. 15361 15362 // POSIX Standard: 2.9.2 Minimum Values Added to <limits.h> 15363 // 15364 // Never include this file directly; use <limits.h> instead. 15365 15366 // Determine the wordsize from the preprocessor defines. 15367 // 15368 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 15369 // This file is part of the GNU C Library. 15370 // 15371 // The GNU C Library is free software; you can redistribute it and/or 15372 // modify it under the terms of the GNU Lesser General Public 15373 // License as published by the Free Software Foundation; either 15374 // version 2.1 of the License, or (at your option) any later version. 15375 // 15376 // The GNU C Library is distributed in the hope that it will be useful, 15377 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15378 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15379 // Lesser General Public License for more details. 15380 // 15381 // You should have received a copy of the GNU Lesser General Public 15382 // License along with the GNU C Library; if not, see 15383 // <https://www.gnu.org/licenses/>. 15384 15385 // These are the standard-mandated minimum values. 15386 15387 // Minimum number of operations in one list I/O call. 15388 15389 // Minimal number of outstanding asynchronous I/O operations. 15390 15391 // Maximum length of arguments to `execve', including environment. 15392 15393 // Maximum simultaneous processes per real user ID. 15394 15395 // Minimal number of timer expiration overruns. 15396 15397 // Maximum length of a host name (not including the terminating null) 15398 // as returned from the GETHOSTNAME function. 15399 15400 // Maximum link count of a file. 15401 15402 // Maximum length of login name. 15403 15404 // Number of bytes in a terminal canonical input queue. 15405 15406 // Number of bytes for which space will be 15407 // available in a terminal input queue. 15408 15409 // Maximum number of message queues open for a process. 15410 15411 // Maximum number of supported message priorities. 15412 15413 // Number of bytes in a filename. 15414 15415 // Number of simultaneous supplementary group IDs per process. 15416 15417 // Number of files one process can have open at once. 15418 15419 // Number of bytes in a pathname. 15420 15421 // Number of bytes than can be written atomically to a pipe. 15422 15423 // The number of repeated occurrences of a BRE permitted by the 15424 // REGEXEC and REGCOMP functions when using the interval notation. 15425 15426 // Minimal number of realtime signals reserved for the application. 15427 15428 // Number of semaphores a process can have. 15429 15430 // Maximal value of a semaphore. 15431 15432 // Number of pending realtime signals. 15433 15434 // Largest value of a `ssize_t'. 15435 15436 // Number of streams a process can have open at once. 15437 15438 // The number of bytes in a symbolic link. 15439 15440 // The number of symbolic links that can be traversed in the 15441 // resolution of a pathname in the absence of a loop. 15442 15443 // Number of timer for a process. 15444 15445 // Maximum number of characters in a tty name. 15446 15447 // Maximum length of a timezone name (element of `tzname'). 15448 15449 // Maximum clock resolution in nanoseconds. 15450 15451 // Get the implementation-specific values for the above. 15452 // Minimum guaranteed maximum values for system limits. Linux version. 15453 // Copyright (C) 1993-2020 Free Software Foundation, Inc. 15454 // 15455 // This file is part of the GNU C Library. 15456 // 15457 // The GNU C Library is free software; you can redistribute it and/or 15458 // modify it under the terms of the GNU Lesser General Public License as 15459 // published by the Free Software Foundation; either version 2.1 of the 15460 // License, or (at your option) any later version. 15461 // 15462 // The GNU C Library is distributed in the hope that it will be useful, 15463 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15464 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15465 // Lesser General Public License for more details. 15466 // 15467 // You should have received a copy of the GNU Lesser General Public 15468 // License along with the GNU C Library. If not, see 15469 // <https://www.gnu.org/licenses/>. 15470 15471 // The kernel header pollutes the namespace with the NR_OPEN symbol 15472 // and defines LINK_MAX although filesystems have different maxima. A 15473 // similar thing is true for OPEN_MAX: the limit can be changed at 15474 // runtime and therefore the macro must not be defined. Remove this 15475 // after including the header if necessary. 15476 15477 // The kernel sources contain a file with all the needed information. 15478 // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note 15479 15480 // Have to remove NR_OPEN? 15481 // Have to remove LINK_MAX? 15482 // Have to remove OPEN_MAX? 15483 // Have to remove ARG_MAX? 15484 15485 // The number of data keys per process. 15486 // This is the value this implementation supports. 15487 15488 // Controlling the iterations of destructors for thread-specific data. 15489 // Number of iterations this implementation does. 15490 15491 // The number of threads per process. 15492 // We have no predefined limit on the number of threads. 15493 15494 // Maximum amount by which a process can descrease its asynchronous I/O 15495 // priority level. 15496 15497 // Minimum size for a thread. At least two pages for systems with 64k 15498 // pages. 15499 15500 // Maximum number of timer expiration overruns. 15501 15502 // Maximum tty name length. 15503 15504 // Maximum login name length. This is arbitrary. 15505 15506 // Maximum host name length. 15507 15508 // Maximum message queue priority level. 15509 15510 // Maximum value the semaphore can have. 15511 15512 // ssize_t is not formally required to be the signed type 15513 // corresponding to size_t, but it is for all configurations supported 15514 // by glibc. 15515 15516 // This value is a guaranteed minimum maximum. 15517 // The current maximum can be got from `sysconf'. 15518 15519 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15520 // This file is part of the GNU C Library. 15521 // 15522 // The GNU C Library is free software; you can redistribute it and/or 15523 // modify it under the terms of the GNU Lesser General Public 15524 // License as published by the Free Software Foundation; either 15525 // version 2.1 of the License, or (at your option) any later version. 15526 // 15527 // The GNU C Library is distributed in the hope that it will be useful, 15528 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15529 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15530 // Lesser General Public License for more details. 15531 // 15532 // You should have received a copy of the GNU Lesser General Public 15533 // License along with the GNU C Library; if not, see 15534 // <https://www.gnu.org/licenses/>. 15535 15536 // Never include this file directly; include <limits.h> instead. 15537 15538 // The maximum `ibase' and `obase' values allowed by the `bc' utility. 15539 15540 // The maximum number of elements allowed in an array by the `bc' utility. 15541 15542 // The maximum `scale' value allowed by the `bc' utility. 15543 15544 // The maximum length of a string constant accepted by the `bc' utility. 15545 15546 // The maximum number of weights that can be assigned to an entry of 15547 // the LC_COLLATE `order' keyword in the locale definition file. 15548 15549 // The maximum number of expressions that can be nested 15550 // within parentheses by the `expr' utility. 15551 15552 // The maximum length, in bytes, of an input line. 15553 15554 // The maximum number of repeated occurrences of a regular expression 15555 // permitted when using the interval notation `\{M,N\}'. 15556 15557 // The maximum number of bytes in a character class name. We have no 15558 // fixed limit, 2048 is a high number. 15559 15560 // These values are implementation-specific, 15561 // and may vary within the implementation. 15562 // Their precise values can be obtained from sysconf. 15563 15564 // This value is defined like this in regex.h. 15565 15566 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15567 // 15568 // This file is part of GCC. 15569 // 15570 // GCC is free software; you can redistribute it and/or modify it under 15571 // the terms of the GNU General Public License as published by the Free 15572 // Software Foundation; either version 3, or (at your option) any later 15573 // version. 15574 // 15575 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 15576 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 15577 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15578 // for more details. 15579 // 15580 // Under Section 7 of GPL version 3, you are granted additional 15581 // permissions described in the GCC Runtime Library Exception, version 15582 // 3.1, as published by the Free Software Foundation. 15583 // 15584 // You should have received a copy of the GNU General Public License and 15585 // a copy of the GCC Runtime Library Exception along with this program; 15586 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 15587 // <http://www.gnu.org/licenses/>. 15588 15589 // Number of bits in a `char'. 15590 15591 // Maximum length of a multibyte character. 15592 15593 // Minimum and maximum values a `signed char' can hold. 15594 15595 // Maximum value an `unsigned char' can hold. (Minimum is 0). 15596 15597 // Minimum and maximum values a `char' can hold. 15598 15599 // Minimum and maximum values a `signed short int' can hold. 15600 15601 // Maximum value an `unsigned short int' can hold. (Minimum is 0). 15602 15603 // Minimum and maximum values a `signed int' can hold. 15604 15605 // Maximum value an `unsigned int' can hold. (Minimum is 0). 15606 15607 // Minimum and maximum values a `signed long int' can hold. 15608 // (Same as `int'). 15609 15610 // Maximum value an `unsigned long int' can hold. (Minimum is 0). 15611 15612 // Minimum and maximum values a `signed long long int' can hold. 15613 15614 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 15615 15616 // This administrivia gets added to the end of limits.h 15617 // if the system has its own version of limits.h. 15618 15619 var XXRenderExtensionInfo XRenderExtInfo /* Xrender.c:31:16: */ 15620 var XXRenderExtensionName = *(*[7]uint8)(unsafe.Pointer(ts + 6 /* "RENDER" */)) /* Xrender.c:32:6 */ 15621 15622 // XRenderExtFindDisplay - look for a display in this extension; keeps a 15623 // cache of the most-recently used for efficiency. (Replaces 15624 // XextFindDisplay.) 15625 func sXRenderExtFindDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) uintptr { /* Xrender.c:41:30: */ 15626 var dpyinfo uintptr 15627 15628 // see if this was the most recently accessed display 15629 if libc.AssignUintptr(&dpyinfo, (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur) != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy { 15630 return dpyinfo 15631 } 15632 15633 // look for display in list 15634 if x11.X_XLockMutex_fn != 0 { 15635 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15636 } 15637 for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext { 15638 if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy { 15639 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo // cache most recently used 15640 if x11.X_XUnlockMutex_fn != 0 { 15641 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15642 } 15643 return dpyinfo 15644 } 15645 } 15646 if x11.X_XUnlockMutex_fn != 0 { 15647 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15648 } 15649 15650 return uintptr(0) 15651 } 15652 15653 // If the server is missing support for any of the required depths on 15654 // any screen, tell the application that Render is not present. 15655 15656 // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps 15657 15658 type X_DepthCheckRec = struct { 15659 Fnext uintptr 15660 Fdpy uintptr 15661 Fmissing CARD32 15662 F__ccgo_pad1 [4]byte 15663 Fserial uint64 15664 } /* Xrender.c:86:9 */ 15665 15666 // If the server is missing support for any of the required depths on 15667 // any screen, tell the application that Render is not present. 15668 15669 // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps 15670 15671 type DepthCheckRec = X_DepthCheckRec /* Xrender.c:91:3 */ 15672 type DepthCheckPtr = uintptr /* Xrender.c:91:18 */ 15673 15674 var depthChecks DepthCheckPtr /* Xrender.c:93:22: */ 15675 15676 func sXRenderDepthCheckErrorHandler(tls *libc.TLS, dpy uintptr, evt uintptr) int32 { /* Xrender.c:96:1: */ 15677 if int32((*XErrorEvent)(unsafe.Pointer(evt)).Frequest_code) == X_CreatePixmap && int32((*XErrorEvent)(unsafe.Pointer(evt)).Ferror_code) == BadValue { 15678 var d DepthCheckPtr 15679 if x11.X_XLockMutex_fn != 0 { 15680 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15681 } 15682 for d = depthChecks; d != 0; d = (*X_DepthCheckRec)(unsafe.Pointer(d)).Fnext { 15683 if (*X_DepthCheckRec)(unsafe.Pointer(d)).Fdpy == dpy { 15684 if int64((*XErrorEvent)(unsafe.Pointer(evt)).Fserial-(*X_DepthCheckRec)(unsafe.Pointer(d)).Fserial) >= int64(0) { 15685 *(*CARD32)(unsafe.Pointer(d + 16)) |= uint32(1) << ((*XErrorEvent)(unsafe.Pointer(evt)).Fresourceid - uint64(1)) 15686 } 15687 break 15688 } 15689 } 15690 if x11.X_XUnlockMutex_fn != 0 { 15691 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15692 } 15693 } 15694 return 0 15695 } 15696 15697 func sXRenderHasDepths(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:115:1: */ 15698 bp := tls.Alloc(32) 15699 defer tls.Free(32) 15700 15701 var s int32 15702 15703 for s = 0; s < (*struct { 15704 Fext_data uintptr 15705 Fprivate1 uintptr 15706 Ffd int32 15707 Fprivate2 int32 15708 Fproto_major_version int32 15709 Fproto_minor_version int32 15710 Fvendor uintptr 15711 Fprivate3 XID 15712 Fprivate4 XID 15713 Fprivate5 XID 15714 Fprivate6 int32 15715 F__ccgo_pad1 [4]byte 15716 Fresource_alloc uintptr 15717 Fbyte_order int32 15718 Fbitmap_unit int32 15719 Fbitmap_pad int32 15720 Fbitmap_bit_order int32 15721 Fnformats int32 15722 F__ccgo_pad2 [4]byte 15723 Fpixmap_format uintptr 15724 Fprivate8 int32 15725 Frelease int32 15726 Fprivate9 uintptr 15727 Fprivate10 uintptr 15728 Fqlen int32 15729 F__ccgo_pad3 [4]byte 15730 Flast_request_read uint64 15731 Frequest uint64 15732 Fprivate11 XPointer 15733 Fprivate12 XPointer 15734 Fprivate13 XPointer 15735 Fprivate14 XPointer 15736 Fmax_request_size uint32 15737 F__ccgo_pad4 [4]byte 15738 Fdb uintptr 15739 Fprivate15 uintptr 15740 Fdisplay_name uintptr 15741 Fdefault_screen int32 15742 Fnscreens int32 15743 Fscreens uintptr 15744 Fmotion_buffer uint64 15745 Fprivate16 uint64 15746 Fmin_keycode int32 15747 Fmax_keycode int32 15748 Fprivate17 XPointer 15749 Fprivate18 XPointer 15750 Fprivate19 int32 15751 F__ccgo_pad5 [4]byte 15752 Fxdefaults uintptr 15753 })(unsafe.Pointer(dpy)).Fnscreens; s++ { 15754 var depths CARD32 = CARD32(0) 15755 var missing CARD32 15756 var scr uintptr = (*struct { 15757 Fext_data uintptr 15758 Fprivate1 uintptr 15759 Ffd int32 15760 Fprivate2 int32 15761 Fproto_major_version int32 15762 Fproto_minor_version int32 15763 Fvendor uintptr 15764 Fprivate3 XID 15765 Fprivate4 XID 15766 Fprivate5 XID 15767 Fprivate6 int32 15768 F__ccgo_pad1 [4]byte 15769 Fresource_alloc uintptr 15770 Fbyte_order int32 15771 Fbitmap_unit int32 15772 Fbitmap_pad int32 15773 Fbitmap_bit_order int32 15774 Fnformats int32 15775 F__ccgo_pad2 [4]byte 15776 Fpixmap_format uintptr 15777 Fprivate8 int32 15778 Frelease int32 15779 Fprivate9 uintptr 15780 Fprivate10 uintptr 15781 Fqlen int32 15782 F__ccgo_pad3 [4]byte 15783 Flast_request_read uint64 15784 Frequest uint64 15785 Fprivate11 XPointer 15786 Fprivate12 XPointer 15787 Fprivate13 XPointer 15788 Fprivate14 XPointer 15789 Fmax_request_size uint32 15790 F__ccgo_pad4 [4]byte 15791 Fdb uintptr 15792 Fprivate15 uintptr 15793 Fdisplay_name uintptr 15794 Fdefault_screen int32 15795 Fnscreens int32 15796 Fscreens uintptr 15797 Fmotion_buffer uint64 15798 Fprivate16 uint64 15799 Fmin_keycode int32 15800 Fmax_keycode int32 15801 Fprivate17 XPointer 15802 Fprivate18 XPointer 15803 Fprivate19 int32 15804 F__ccgo_pad5 [4]byte 15805 Fxdefaults uintptr 15806 })(unsafe.Pointer(dpy)).Fscreens + uintptr(s)*128 15807 var d int32 15808 15809 for d = 0; d < (*Screen)(unsafe.Pointer(scr)).Fndepths; d++ { 15810 depths = depths | uint32(1)<<((*Depth)(unsafe.Pointer((*Screen)(unsafe.Pointer(scr)).Fdepths+uintptr(d)*16)).Fdepth-1) 15811 } 15812 missing = ^depths & (uint32(1)<<(1-1) | uint32(1)<<(4-1) | uint32(1)<<(8-1) | uint32(1)<<(24-1) | uint32(1)<<(32-1)) 15813 if missing != 0 { 15814 // var dc DepthCheckRec at bp, 32 15815 15816 var dp uintptr 15817 var previousHandler XErrorHandler 15818 15819 // Ok, this is ugly. It should be sufficient at this 15820 // point to just return False, but Xinerama is broken at 15821 // this point and only advertises depths which have an 15822 // associated visual. Of course, the other depths still 15823 // work, but the only way to find out is to try them. 15824 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fdpy = dpy 15825 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fmissing = CARD32(0) 15826 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fserial = x11.XXNextRequest(tls, dpy) 15827 if x11.X_XLockMutex_fn != 0 { 15828 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15829 } 15830 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext = depthChecks 15831 depthChecks = bp /* &dc */ 15832 if x11.X_XUnlockMutex_fn != 0 { 15833 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15834 } 15835 // I suspect this is not really thread safe, but Xlib doesn't 15836 // provide a lot of options here 15837 previousHandler = x11.XXSetErrorHandler(tls, *(*uintptr)(unsafe.Pointer(&struct { 15838 f func(*libc.TLS, uintptr, uintptr) int32 15839 }{sXRenderDepthCheckErrorHandler}))) 15840 // Try each missing depth and see if pixmap creation succeeds 15841 for d = 1; d <= 32; d++ { 15842 // don't check depth 1 == Xcursor recurses... 15843 if missing&(uint32(1)<<(d-1)) != 0 && d != 1 { 15844 var p Pixmap 15845 p = x11.XXCreatePixmap(tls, dpy, (*Screen)(unsafe.Pointer((*struct { 15846 Fext_data uintptr 15847 Fprivate1 uintptr 15848 Ffd int32 15849 Fprivate2 int32 15850 Fproto_major_version int32 15851 Fproto_minor_version int32 15852 Fvendor uintptr 15853 Fprivate3 XID 15854 Fprivate4 XID 15855 Fprivate5 XID 15856 Fprivate6 int32 15857 F__ccgo_pad1 [4]byte 15858 Fresource_alloc uintptr 15859 Fbyte_order int32 15860 Fbitmap_unit int32 15861 Fbitmap_pad int32 15862 Fbitmap_bit_order int32 15863 Fnformats int32 15864 F__ccgo_pad2 [4]byte 15865 Fpixmap_format uintptr 15866 Fprivate8 int32 15867 Frelease int32 15868 Fprivate9 uintptr 15869 Fprivate10 uintptr 15870 Fqlen int32 15871 F__ccgo_pad3 [4]byte 15872 Flast_request_read uint64 15873 Frequest uint64 15874 Fprivate11 XPointer 15875 Fprivate12 XPointer 15876 Fprivate13 XPointer 15877 Fprivate14 XPointer 15878 Fmax_request_size uint32 15879 F__ccgo_pad4 [4]byte 15880 Fdb uintptr 15881 Fprivate15 uintptr 15882 Fdisplay_name uintptr 15883 Fdefault_screen int32 15884 Fnscreens int32 15885 Fscreens uintptr 15886 Fmotion_buffer uint64 15887 Fprivate16 uint64 15888 Fmin_keycode int32 15889 Fmax_keycode int32 15890 Fprivate17 XPointer 15891 Fprivate18 XPointer 15892 Fprivate19 int32 15893 F__ccgo_pad5 [4]byte 15894 Fxdefaults uintptr 15895 })(unsafe.Pointer(dpy)).Fscreens+uintptr(s)*128)).Froot, uint32(1), uint32(1), uint32(d)) 15896 x11.XXFreePixmap(tls, dpy, p) 15897 } 15898 } 15899 x11.XXSync(tls, dpy, False) 15900 x11.XXSetErrorHandler(tls, previousHandler) 15901 // Unhook from the list of depth check records 15902 if x11.X_XLockMutex_fn != 0 { 15903 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15904 } 15905 for dp = uintptr(unsafe.Pointer(&depthChecks)); *(*uintptr)(unsafe.Pointer(dp)) != 0; dp = *(*uintptr)(unsafe.Pointer(dp)) { 15906 if *(*uintptr)(unsafe.Pointer(dp)) == bp { 15907 *(*uintptr)(unsafe.Pointer(dp)) = (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext 15908 break 15909 } 15910 } 15911 if x11.X_XUnlockMutex_fn != 0 { 15912 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15913 } 15914 if (*DepthCheckRec)(unsafe.Pointer(bp)).Fmissing != 0 { 15915 return False 15916 } 15917 } 15918 } 15919 return True 15920 } 15921 15922 // XRenderExtAddDisplay - add a display to this extension. (Replaces 15923 // XextAddDisplay) 15924 func sXRenderExtAddDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr, ext_name uintptr) uintptr { /* Xrender.c:190:30: */ 15925 var dpyinfo uintptr 15926 15927 dpyinfo = libc.Xmalloc(tls, func() uint64 { 15928 if uint64(unsafe.Sizeof(XRenderExtDisplayInfo{})) == uint64(0) { 15929 return uint64(1) 15930 } 15931 return uint64(unsafe.Sizeof(XRenderExtDisplayInfo{})) 15932 }()) 15933 if !(dpyinfo != 0) { 15934 return uintptr(0) 15935 } 15936 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay = dpy 15937 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Finfo = uintptr(0) 15938 15939 if sXRenderHasDepths(tls, dpy) != 0 { 15940 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = x11.XXInitExtension(tls, dpy, ext_name) 15941 } else { 15942 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = uintptr(0) 15943 } 15944 15945 // if the server has the extension, then we can initialize the 15946 // appropriate function vectors 15947 if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes != 0 { 15948 x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes)).Fextension, 15949 *(*uintptr)(unsafe.Pointer(&struct { 15950 f func(*libc.TLS, uintptr, uintptr) int32 15951 }{sXRenderCloseDisplay}))) 15952 } else { 15953 // The server doesn't have this extension. 15954 // Use a private Xlib-internal extension to hang the close_display 15955 // hook on so that the "cache" (extinfo->cur) is properly cleaned. 15956 // (XBUG 7955) 15957 var codes uintptr = x11.XXAddExtension(tls, dpy) 15958 if !(codes != 0) { 15959 x11.XXFree(tls, dpyinfo) 15960 return uintptr(0) 15961 } 15962 x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer(codes)).Fextension, *(*uintptr)(unsafe.Pointer(&struct { 15963 f func(*libc.TLS, uintptr, uintptr) int32 15964 }{sXRenderCloseDisplay}))) 15965 } 15966 15967 // now, chain it onto the list 15968 if x11.X_XLockMutex_fn != 0 { 15969 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15970 } 15971 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead 15972 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = dpyinfo 15973 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo 15974 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays++ 15975 if x11.X_XUnlockMutex_fn != 0 { 15976 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15977 } 15978 return dpyinfo 15979 } 15980 15981 // XRenderExtRemoveDisplay - remove the indicated display from the 15982 // extension object. (Replaces XextRemoveDisplay.) 15983 func sXRenderExtRemoveDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) int32 { /* Xrender.c:246:1: */ 15984 var dpyinfo uintptr 15985 var prev uintptr 15986 15987 // locate this display and its back link so that it can be removed 15988 if x11.X_XLockMutex_fn != 0 { 15989 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15990 } 15991 prev = uintptr(0) 15992 for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext { 15993 if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy { 15994 break 15995 } 15996 prev = dpyinfo 15997 } 15998 if !(dpyinfo != 0) { 15999 if x11.X_XUnlockMutex_fn != 0 { 16000 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 16001 } 16002 return 0 // hmm, actually an error 16003 } 16004 16005 // remove the display from the list; handles going to zero 16006 if prev != 0 { 16007 (*XRenderExtDisplayInfo)(unsafe.Pointer(prev)).Fnext = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext 16008 } else { 16009 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext 16010 } 16011 16012 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays-- 16013 if dpyinfo == (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur { 16014 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = uintptr(0) 16015 } // flush cache 16016 if x11.X_XUnlockMutex_fn != 0 { 16017 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 16018 } 16019 16020 libc.Xfree(tls, dpyinfo) 16021 return 1 16022 } 16023 16024 func XXRenderFindDisplay(tls *libc.TLS, dpy uintptr) uintptr { /* Xrender.c:282:23: */ 16025 var dpyinfo uintptr 16026 16027 dpyinfo = sXRenderExtFindDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy) 16028 if !(dpyinfo != 0) { 16029 dpyinfo = sXRenderExtAddDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy, 16030 uintptr(unsafe.Pointer(&XXRenderExtensionName))) 16031 } 16032 return dpyinfo 16033 } 16034 16035 func sXRenderCloseDisplay(tls *libc.TLS, dpy uintptr, codes uintptr) int32 { /* Xrender.c:295:1: */ 16036 var info uintptr = XXRenderFindDisplay(tls, dpy) 16037 if info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0 { 16038 x11.XXFree(tls, (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo) 16039 } 16040 16041 return sXRenderExtRemoveDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy) 16042 } 16043 16044 // *************************************************************************** 16045 // 16046 // * 16047 // Render public interfaces * 16048 // * 16049 // 16050 16051 func XXRenderQueryExtension(tls *libc.TLS, dpy uintptr, event_basep uintptr, error_basep uintptr) int32 { /* Xrender.c:309:6: */ 16052 var info uintptr = XXRenderFindDisplay(tls, dpy) 16053 16054 if info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0 { 16055 *(*int32)(unsafe.Pointer(event_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_event 16056 *(*int32)(unsafe.Pointer(error_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_error 16057 return True 16058 } else { 16059 return False 16060 } 16061 return int32(0) 16062 } 16063 16064 func XXRenderQueryVersion(tls *libc.TLS, dpy uintptr, major_versionp uintptr, minor_versionp uintptr) int32 { /* Xrender.c:323:8: */ 16065 var info uintptr = XXRenderFindDisplay(tls, dpy) 16066 var xri uintptr 16067 16068 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16069 return 0 16070 } 16071 16072 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16073 return 0 16074 } 16075 16076 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16077 *(*int32)(unsafe.Pointer(major_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version 16078 *(*int32)(unsafe.Pointer(minor_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version 16079 return 1 16080 } 16081 16082 func _XRenderFindFormat(tls *libc.TLS, xri uintptr, format PictFormat) uintptr { /* Xrender.c:342:26: */ 16083 var nf int32 16084 16085 for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ { 16086 if (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fid == format { 16087 return (*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*40 16088 } 16089 } 16090 return uintptr(0) 16091 } 16092 16093 func _XRenderFindVisual(tls *libc.TLS, dpy uintptr, vid VisualID) uintptr { /* Xrender.c:353:15: */ 16094 return x11.X_XVIDtoVisual(tls, dpy, vid) 16095 } 16096 16097 type X_renderVersionState = struct { 16098 Fversion_seq uint64 16099 Ferror int32 16100 Fmajor_version int32 16101 Fminor_version int32 16102 F__ccgo_pad1 [4]byte 16103 } /* Xrender.c:359:9 */ 16104 16105 type X_XrenderVersionState = X_renderVersionState /* Xrender.c:365:3 */ 16106 16107 func _XRenderVersionHandler(tls *libc.TLS, dpy uintptr, rep uintptr, buf uintptr, len int32, data XPointer) int32 { /* Xrender.c:368:1: */ 16108 bp := tls.Alloc(32) 16109 defer tls.Free(32) 16110 16111 // var replbuf XRenderQueryVersionReply at bp, 32 16112 16113 var repl uintptr 16114 var state uintptr = data 16115 16116 if (*Display)(unsafe.Pointer(dpy)).Flast_request_read != (*X_XrenderVersionState)(unsafe.Pointer(state)).Fversion_seq { 16117 return False 16118 } 16119 if int32((*XGenericReply)(unsafe.Pointer(rep)).Ftype) == X_Error { 16120 (*X_XrenderVersionState)(unsafe.Pointer(state)).Ferror = True 16121 return False 16122 } 16123 repl = x11.X_XGetAsyncReply(tls, dpy, bp, rep, buf, len, 16124 int32(Sz_xRenderQueryVersionReply-Sz_xReply)>>2, 16125 True) 16126 (*X_XrenderVersionState)(unsafe.Pointer(state)).Fmajor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FmajorVersion) 16127 (*X_XrenderVersionState)(unsafe.Pointer(state)).Fminor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FminorVersion) 16128 return True 16129 } 16130 16131 func XXRenderQueryFormats(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:395:1: */ 16132 bp := tls.Alloc(80) 16133 defer tls.Free(80) 16134 16135 var info uintptr = XXRenderFindDisplay(tls, dpy) 16136 // var async X_XAsyncHandler at bp+24, 24 16137 16138 // var async_state X_XrenderVersionState at bp, 24 16139 16140 var vreq uintptr 16141 // var rep XRenderQueryPictFormatsReply at bp+48, 32 16142 16143 var req uintptr 16144 var xri uintptr 16145 var format uintptr 16146 var screen uintptr 16147 var depth uintptr 16148 var visual uintptr 16149 var xFormat uintptr 16150 var xScreen uintptr 16151 var xDepth uintptr 16152 var xVisual uintptr 16153 var xSubpixel uintptr 16154 var xData uintptr 16155 var nf int32 16156 var ns int32 16157 var nd int32 16158 var nv int32 16159 var rlength uint64 16160 var nbytes uint64 16161 16162 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16163 return 0 16164 } 16165 16166 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16167 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 16168 } 16169 if (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0 { 16170 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16171 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 16172 } 16173 return 1 16174 } 16175 vreq = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryVersion), uint64(Sz_xRenderQueryVersionReq)) 16176 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 16177 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FrenderReqType = CARD8(X_RenderQueryVersion) 16178 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FmajorVersion = CARD32(RENDER_MAJOR) 16179 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FminorVersion = CARD32(RENDER_MINOR) 16180 16181 (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fversion_seq = (*Display)(unsafe.Pointer(dpy)).Frequest 16182 (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Ferror = False 16183 (*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fnext = (*Display)(unsafe.Pointer(dpy)).Fasync_handlers 16184 (*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fhandler = *(*uintptr)(unsafe.Pointer(&struct { 16185 f func(*libc.TLS, uintptr, uintptr, uintptr, int32, XPointer) int32 16186 }{_XRenderVersionHandler})) 16187 (*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fdata = bp /* &async_state */ 16188 (*Display)(unsafe.Pointer(dpy)).Fasync_handlers = bp + 24 /* &async */ 16189 16190 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictFormats), uint64(Sz_xRenderQueryPictFormatsReq)) 16191 (*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 16192 (*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictFormats) 16193 16194 if !(x11.X_XReply(tls, dpy, bp+48, 0, XFalse) != 0) { 16195 { 16196 if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == bp+24 { 16197 (*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 24)).Fnext 16198 } else { 16199 x11.X_XDeqAsyncHandler(tls, dpy, bp+24) 16200 } 16201 } 16202 16203 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16204 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 16205 } 16206 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16207 (*struct { 16208 f func(*libc.TLS, uintptr) int32 16209 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16210 } 16211 return 0 16212 } 16213 { 16214 if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == bp+24 { 16215 (*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 24)).Fnext 16216 } else { 16217 x11.X_XDeqAsyncHandler(tls, dpy, bp+24) 16218 } 16219 } 16220 16221 if (*X_XrenderVersionState)(unsafe.Pointer(bp)).Ferror != 0 { 16222 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16223 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 16224 } 16225 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16226 (*struct { 16227 f func(*libc.TLS, uintptr) int32 16228 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16229 } 16230 return 0 16231 } 16232 // Check for the lack of sub-pixel data 16233 if (*X_XrenderVersionState)(unsafe.Pointer(bp)).Fmajor_version == 0 && (*X_XrenderVersionState)(unsafe.Pointer(bp)).Fminor_version < 6 { 16234 (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumSubpixel = CARD32(0) 16235 } 16236 16237 if uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumFormats) < uint64(0x7fffffff/4)/uint64(unsafe.Sizeof(XRenderPictFormat{})) && uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumScreens) < uint64(0x7fffffff/4)/uint64(unsafe.Sizeof(XRenderScreen{})) && uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumDepths) < uint64(0x7fffffff/4)/uint64(unsafe.Sizeof(XRenderDepth{})) && uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumVisuals) < uint64(0x7fffffff/4)/uint64(unsafe.Sizeof(XRenderVisual{})) && (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumSubpixel < CARD32(0x7fffffff/4/4) && (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).Flength < CARD32(int32(0x7fffffff)>>2) { 16238 xri = libc.Xmalloc(tls, func() uint64 { 16239 if uint64(unsafe.Sizeof(XRenderInfo{}))+uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumFormats)*uint64(unsafe.Sizeof(XRenderPictFormat{}))+uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumScreens)*uint64(unsafe.Sizeof(XRenderScreen{}))+uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumDepths)*uint64(unsafe.Sizeof(XRenderDepth{}))+uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumVisuals)*uint64(unsafe.Sizeof(XRenderVisual{})) == uint64(0) { 16240 return uint64(1) 16241 } 16242 return uint64(unsafe.Sizeof(XRenderInfo{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumFormats)*uint64(unsafe.Sizeof(XRenderPictFormat{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumScreens)*uint64(unsafe.Sizeof(XRenderScreen{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumDepths)*uint64(unsafe.Sizeof(XRenderDepth{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumVisuals)*uint64(unsafe.Sizeof(XRenderVisual{})) 16243 }()) 16244 rlength = uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumFormats)*uint64(unsafe.Sizeof(XPictFormInfo{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumScreens)*uint64(unsafe.Sizeof(XPictScreen{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumDepths)*uint64(unsafe.Sizeof(XPictDepth{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumVisuals)*uint64(unsafe.Sizeof(XPictVisual{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumSubpixel*CARD32(4)) 16245 xData = libc.Xmalloc(tls, func() uint64 { 16246 if rlength == uint64(0) { 16247 return uint64(1) 16248 } 16249 return rlength 16250 }()) 16251 nbytes = uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).Flength) << 2 16252 } else { 16253 xri = uintptr(0) 16254 xData = uintptr(0) 16255 rlength = libc.AssignUint64(&nbytes, uint64(0)) 16256 } 16257 16258 if !(xri != 0) || !(xData != 0) || nbytes < rlength { 16259 if xri != 0 { 16260 libc.Xfree(tls, xri) 16261 } 16262 if xData != 0 { 16263 libc.Xfree(tls, xData) 16264 } 16265 x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength)) 16266 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16267 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 16268 } 16269 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16270 (*struct { 16271 f func(*libc.TLS, uintptr) int32 16272 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16273 } 16274 return 0 16275 } 16276 (*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fmajor_version 16277 (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fminor_version 16278 (*XRenderInfo)(unsafe.Pointer(xri)).Fformat = xri + uintptr(1)*120 16279 (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumFormats) 16280 (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen = (*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumFormats)*40 16281 (*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumScreens) 16282 (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumScreens)*32 16283 (*XRenderInfo)(unsafe.Pointer(xri)).Fndepth = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumDepths) 16284 (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual = (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumDepths)*16 16285 (*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumVisuals) 16286 x11.X_XRead(tls, dpy, xData, int64(rlength)) 16287 format = (*XRenderInfo)(unsafe.Pointer(xri)).Fformat 16288 xFormat = xData 16289 for nf = 0; CARD32(nf) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats; nf++ { 16290 (*XRenderPictFormat)(unsafe.Pointer(format)).Fid = PictFormat((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fid) 16291 (*XRenderPictFormat)(unsafe.Pointer(format)).Ftype = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Ftype) 16292 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdepth = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdepth) 16293 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fred = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fred) 16294 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FredMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FredMask) 16295 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fgreen = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fgreen) 16296 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FgreenMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FgreenMask) 16297 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fblue = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fblue) 16298 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FblueMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FblueMask) 16299 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Falpha = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Falpha) 16300 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FalphaMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FalphaMask) 16301 (*XRenderPictFormat)(unsafe.Pointer(format)).Fcolormap = Colormap((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fcolormap) 16302 format += 40 16303 xFormat += 28 16304 } 16305 xScreen = xFormat 16306 screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen 16307 depth = (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth 16308 visual = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual 16309 for ns = 0; ns < (*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen; ns++ { 16310 (*XRenderScreen)(unsafe.Pointer(screen)).Fdepths = depth 16311 (*XRenderScreen)(unsafe.Pointer(screen)).Fndepths = int32((*XPictScreen)(unsafe.Pointer(xScreen)).FnDepth) 16312 (*XRenderScreen)(unsafe.Pointer(screen)).Ffallback = _XRenderFindFormat(tls, xri, uint64((*XPictScreen)(unsafe.Pointer(xScreen)).Ffallback)) 16313 (*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = SubPixelUnknown 16314 xDepth = xScreen + uintptr(1)*8 16315 if CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumDepths { 16316 libc.Xfree(tls, xri) 16317 libc.Xfree(tls, xData) 16318 x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength)) 16319 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16320 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 16321 } 16322 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16323 (*struct { 16324 f func(*libc.TLS, uintptr) int32 16325 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16326 } 16327 return 0 16328 } 16329 *(*CARD32)(unsafe.Pointer(bp + 48 + 16)) -= CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths) 16330 for nd = 0; nd < (*XRenderScreen)(unsafe.Pointer(screen)).Fndepths; nd++ { 16331 (*XRenderDepth)(unsafe.Pointer(depth)).Fdepth = int32((*XPictDepth)(unsafe.Pointer(xDepth)).Fdepth) 16332 (*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals = int32((*XPictDepth)(unsafe.Pointer(xDepth)).FnPictVisuals) 16333 (*XRenderDepth)(unsafe.Pointer(depth)).Fvisuals = visual 16334 xVisual = xDepth + uintptr(1)*8 16335 if CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumVisuals { 16336 libc.Xfree(tls, xri) 16337 libc.Xfree(tls, xData) 16338 x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength)) 16339 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16340 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 16341 } 16342 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16343 (*struct { 16344 f func(*libc.TLS, uintptr) int32 16345 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16346 } 16347 return 0 16348 } 16349 *(*CARD32)(unsafe.Pointer(bp + 48 + 20)) -= CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals) 16350 for nv = 0; nv < (*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals; nv++ { 16351 (*XRenderVisual)(unsafe.Pointer(visual)).Fvisual = _XRenderFindVisual(tls, dpy, uint64((*XPictVisual)(unsafe.Pointer(xVisual)).Fvisual)) 16352 (*XRenderVisual)(unsafe.Pointer(visual)).Fformat = _XRenderFindFormat(tls, xri, uint64((*XPictVisual)(unsafe.Pointer(xVisual)).Fformat)) 16353 visual += 16 16354 xVisual += 8 16355 } 16356 depth += 16 16357 xDepth = xVisual 16358 } 16359 screen += 32 16360 xScreen = xDepth 16361 } 16362 xSubpixel = xScreen 16363 screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen 16364 for ns = 0; CARD32(ns) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumSubpixel; ns++ { 16365 (*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = int32(*(*CARD32)(unsafe.Pointer(xSubpixel))) 16366 xSubpixel += 4 16367 screen += 32 16368 } 16369 (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo = xri 16370 // Skip any extra data 16371 if nbytes > rlength { 16372 x11.X_XEatData(tls, dpy, nbytes-rlength) 16373 } 16374 16375 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16376 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 16377 } 16378 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16379 (*struct { 16380 f func(*libc.TLS, uintptr) int32 16381 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16382 } 16383 libc.Xfree(tls, xData) 16384 return 1 16385 } 16386 16387 func XXRenderQuerySubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32) int32 { /* Xrender.c:595:1: */ 16388 var info uintptr = XXRenderFindDisplay(tls, dpy) 16389 var xri uintptr 16390 16391 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16392 return SubPixelUnknown 16393 } 16394 16395 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16396 return SubPixelUnknown 16397 } 16398 16399 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16400 return (*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*32)).Fsubpixel 16401 } 16402 16403 func XXRenderSetSubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32, subpixel int32) int32 { /* Xrender.c:611:1: */ 16404 var info uintptr = XXRenderFindDisplay(tls, dpy) 16405 var xri uintptr 16406 16407 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16408 return False 16409 } 16410 16411 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16412 return False 16413 } 16414 16415 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16416 (*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*32)).Fsubpixel = subpixel 16417 return True 16418 } 16419 16420 func XXRenderFindVisualFormat(tls *libc.TLS, dpy uintptr, visual uintptr) uintptr { /* Xrender.c:627:19: */ 16421 var info uintptr = XXRenderFindDisplay(tls, dpy) 16422 var nv int32 16423 var xri uintptr 16424 var xrv uintptr 16425 16426 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16427 return uintptr(0) 16428 } 16429 16430 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16431 return uintptr(0) 16432 } 16433 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16434 nv = 0 16435 xrv = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual 16436 __1: 16437 if !(nv < (*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual) { 16438 goto __3 16439 } 16440 if (*XRenderVisual)(unsafe.Pointer(xrv)).Fvisual == visual { 16441 return (*XRenderVisual)(unsafe.Pointer(xrv)).Fformat 16442 } 16443 goto __2 16444 __2: 16445 nv++ 16446 xrv += 16 16447 goto __1 16448 goto __3 16449 __3: 16450 ; 16451 return uintptr(0) 16452 } 16453 16454 func XXRenderFindFormat(tls *libc.TLS, dpy uintptr, mask uint64, template uintptr, count int32) uintptr { /* Xrender.c:645:19: */ 16455 var info uintptr = XXRenderFindDisplay(tls, dpy) 16456 var nf int32 16457 var xri uintptr 16458 16459 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16460 return uintptr(0) 16461 } 16462 16463 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16464 return uintptr(0) 16465 } 16466 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16467 for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ { 16468 if mask&uint64(int32(1)<<0) != 0 { 16469 if (*XRenderPictFormat)(unsafe.Pointer(template)).Fid != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fid { 16470 continue 16471 } 16472 } 16473 if mask&uint64(int32(1)<<1) != 0 { 16474 if (*XRenderPictFormat)(unsafe.Pointer(template)).Ftype != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Ftype { 16475 continue 16476 } 16477 } 16478 if mask&uint64(int32(1)<<2) != 0 { 16479 if (*XRenderPictFormat)(unsafe.Pointer(template)).Fdepth != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdepth { 16480 continue 16481 } 16482 } 16483 if mask&uint64(int32(1)<<3) != 0 { 16484 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fred) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Fred) { 16485 continue 16486 } 16487 } 16488 if mask&uint64(int32(1)<<4) != 0 { 16489 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FredMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FredMask) { 16490 continue 16491 } 16492 } 16493 if mask&uint64(int32(1)<<5) != 0 { 16494 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fgreen) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Fgreen) { 16495 continue 16496 } 16497 } 16498 if mask&uint64(int32(1)<<6) != 0 { 16499 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FgreenMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FgreenMask) { 16500 continue 16501 } 16502 } 16503 if mask&uint64(int32(1)<<7) != 0 { 16504 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fblue) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Fblue) { 16505 continue 16506 } 16507 } 16508 if mask&uint64(int32(1)<<8) != 0 { 16509 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FblueMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FblueMask) { 16510 continue 16511 } 16512 } 16513 if mask&uint64(int32(1)<<9) != 0 { 16514 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Falpha) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Falpha) { 16515 continue 16516 } 16517 } 16518 if mask&uint64(int32(1)<<10) != 0 { 16519 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FalphaMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FalphaMask) { 16520 continue 16521 } 16522 } 16523 if mask&uint64(int32(1)<<11) != 0 { 16524 if (*XRenderPictFormat)(unsafe.Pointer(template)).Fcolormap != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fcolormap { 16525 continue 16526 } 16527 } 16528 if libc.PostDecInt32(&count, 1) == 0 { 16529 return (*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*40 16530 } 16531 } 16532 return uintptr(0) 16533 } 16534 16535 func XXRenderFindStandardFormat(tls *libc.TLS, dpy uintptr, format int32) uintptr { /* Xrender.c:703:19: */ 16536 16537 if 0 <= format && format < PictStandardNUM { 16538 return XXRenderFindFormat(tls, dpy, 16539 standardFormats[format].Fmask, 16540 uintptr(unsafe.Pointer(&standardFormats))+uintptr(format)*48, 16541 0) 16542 } 16543 return uintptr(0) 16544 } 16545 16546 var standardFormats = [5]struct { 16547 Ftempl XRenderPictFormat 16548 Fmask uint64 16549 }{{ 16550 // PictStandardARGB32 16551 Ftempl: XRenderPictFormat{ // id 16552 Ftype: PictTypeDirect, // type 16553 Fdepth: 32, // depth 16554 Fdirect: XRenderDirectFormat{ // direct 16555 Fred: int16(16), // direct.red 16556 FredMask: int16(0xff), // direct.redMask 16557 Fgreen: int16(8), // direct.green 16558 FgreenMask: int16(0xff), // direct.blue 16559 FblueMask: int16(0xff), // direct.blueMask 16560 Falpha: int16(24), // direct.alpha 16561 FalphaMask: int16(0xff), // direct.alphaMask 16562 }, // colormap 16563 }, 16564 Fmask: uint64(int32(1)<<1 | int32(1)<<2 | int32(1)<<3 | int32(1)<<4 | int32(1)<<5 | int32(1)<<6 | int32(1)<<7 | int32(1)<<8 | int32(1)<<9 | int32(1)<<10), 16565 }, 16566 // PictStandardRGB24 16567 { 16568 Ftempl: XRenderPictFormat{ // id 16569 Ftype: PictTypeDirect, // type 16570 Fdepth: 24, // depth 16571 Fdirect: XRenderDirectFormat{ // direct 16572 Fred: int16(16), // direct.red 16573 FredMask: int16(0xff), // direct.redMask 16574 Fgreen: int16(8), // direct.green 16575 FgreenMask: int16(0xff), // direct.blue 16576 FblueMask: int16(0xff), // direct.alphaMask 16577 }, // colormap 16578 }, 16579 Fmask: uint64(int32(1)<<1 | int32(1)<<2 | int32(1)<<3 | int32(1)<<4 | int32(1)<<5 | int32(1)<<6 | int32(1)<<7 | int32(1)<<8 | int32(1)<<10), 16580 }, 16581 // PictStandardA8 16582 { 16583 Ftempl: XRenderPictFormat{ // id 16584 Ftype: PictTypeDirect, // type 16585 Fdepth: 8, // depth 16586 Fdirect: XRenderDirectFormat{ // direct.alpha 16587 FalphaMask: int16(0xff), // direct.alphaMask 16588 }, // colormap 16589 }, 16590 Fmask: uint64(int32(1)<<1 | int32(1)<<2 | int32(1)<<4 | int32(1)<<6 | int32(1)<<8 | int32(1)<<9 | int32(1)<<10), 16591 }, 16592 // PictStandardA4 16593 { 16594 Ftempl: XRenderPictFormat{ // id 16595 Ftype: PictTypeDirect, // type 16596 Fdepth: 4, // depth 16597 Fdirect: XRenderDirectFormat{ // direct.alpha 16598 FalphaMask: int16(0x0f), // direct.alphaMask 16599 }, // colormap 16600 }, 16601 Fmask: uint64(int32(1)<<1 | int32(1)<<2 | int32(1)<<4 | int32(1)<<6 | int32(1)<<8 | int32(1)<<9 | int32(1)<<10), 16602 }, 16603 // PictStandardA1 16604 { 16605 Ftempl: XRenderPictFormat{ // id 16606 Ftype: PictTypeDirect, // type 16607 Fdepth: 1, // depth 16608 Fdirect: XRenderDirectFormat{ // direct.alpha 16609 FalphaMask: int16(0x01), // direct.alphaMask 16610 }, // colormap 16611 }, 16612 Fmask: uint64(int32(1)<<1 | int32(1)<<2 | int32(1)<<4 | int32(1)<<6 | int32(1)<<8 | int32(1)<<9 | int32(1)<<10), 16613 }, 16614 } /* Xrender.c:710:7 */ 16615 16616 func XXRenderQueryPictIndexValues(tls *libc.TLS, dpy uintptr, format uintptr, num uintptr) uintptr { /* Xrender.c:856:13: */ 16617 bp := tls.Alloc(44) 16618 defer tls.Free(44) 16619 16620 var info uintptr = XXRenderFindDisplay(tls, dpy) 16621 var req uintptr 16622 // var rep XRenderQueryPictIndexValuesReply at bp, 32 16623 16624 var values uintptr 16625 var nbytes uint32 16626 var nread uint32 16627 var rlength uint32 16628 var i uint32 16629 16630 if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 16631 return uintptr(0) 16632 } 16633 16634 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16635 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy) 16636 } 16637 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictIndexValues), uint64(Sz_xRenderQueryPictIndexValuesReq)) 16638 (*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 16639 (*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictIndexValues) 16640 (*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).Fformat = CARD32((*XRenderPictFormat)(unsafe.Pointer(format)).Fid) 16641 if !(x11.X_XReply(tls, dpy, bp, 0, XFalse) != 0) { 16642 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16643 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 16644 } 16645 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16646 (*struct { 16647 f func(*libc.TLS, uintptr) int32 16648 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16649 } 16650 return uintptr(0) 16651 } 16652 16653 if (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).Flength < CARD32(int32(0x7fffffff)>>2) && uint64((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).FnumIndexValues) < uint64(0x7fffffff)/uint64(unsafe.Sizeof(XIndexValue1{})) { 16654 // request data length 16655 nbytes = (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).Flength << 2 16656 // bytes of actual data in the request 16657 nread = (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).FnumIndexValues * CARD32(Sz_xIndexValue) 16658 // size of array returned to application 16659 rlength = uint32(uint64((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).FnumIndexValues) * uint64(unsafe.Sizeof(XIndexValue1{}))) 16660 16661 // allocate returned data 16662 values = libc.Xmalloc(tls, func() uint64 { 16663 if rlength == uint32(0) { 16664 return uint64(1) 16665 } 16666 return uint64(rlength) 16667 }()) 16668 } else { 16669 nbytes = libc.AssignUint32(&nread, libc.AssignUint32(&rlength, uint32(0))) 16670 values = uintptr(0) 16671 } 16672 16673 if !(values != 0) { 16674 x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength)) 16675 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16676 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 16677 } 16678 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16679 (*struct { 16680 f func(*libc.TLS, uintptr) int32 16681 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16682 } 16683 return uintptr(0) 16684 } 16685 16686 // read the values one at a time and convert 16687 *(*int32)(unsafe.Pointer(num)) = int32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues) 16688 for i = uint32(0); i < (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues; i++ { 16689 // var value XIndexValue at bp+32, 12 16690 16691 x11.X_XRead(tls, dpy, bp+32, int64(Sz_xIndexValue)) 16692 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fpixel = uint64((*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fpixel) 16693 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fred = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fred 16694 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fgreen = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fgreen 16695 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fblue = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fblue 16696 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Falpha = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Falpha 16697 } 16698 // skip any padding 16699 if nbytes > nread { 16700 x11.X_XEatData(tls, dpy, uint64(nbytes-nread)) 16701 } 16702 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16703 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})).f(tls, dpy) 16704 } 16705 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16706 (*struct { 16707 f func(*libc.TLS, uintptr) int32 16708 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16709 } 16710 return values 16711 } 16712 16713 var ts1 = "rgba:\x00RENDER\x00" 16714 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data