github.com/jdgcs/sqlite3@v1.12.1-0.20210908114423-bc5f96e4dd51/internal/mptest/main_windows_386.go (about) 1 // Code generated by 'ccgo -o internal/mptest/main_windows_386.go -trace-translation-units testdata/sqlite-src-3330000/mptest/mptest.c -Itestdata/sqlite-amalgamation-3330000 -l modernc.org/sqlite/lib -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT. 2 3 package main 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 11 "modernc.org/libc" 12 "modernc.org/sqlite/lib" 13 ) 14 15 var _ = math.Pi 16 var _ reflect.Kind 17 var _ atomic.Value 18 var _ unsafe.Pointer 19 20 func main() { libc.Start(main1) } 21 22 // * 23 // This file is part of the mingw-w64 runtime package. 24 // No warranty is given; refer to the file DISCLAIMER within this package. 25 26 // * 27 // This file is part of the mingw-w64 runtime package. 28 // No warranty is given; refer to the file DISCLAIMER within this package. 29 30 // * 31 // This file is part of the mingw-w64 runtime package. 32 // No warranty is given; refer to the file DISCLAIMER within this package. 33 34 const ( /* memoryapi.h:18:3: */ 35 LowMemoryResourceNotification = 0 36 HighMemoryResourceNotification = 1 37 ) 38 39 const ( /* minwinbase.h:100:3: */ 40 FindExSearchNameMatch = 0 41 FindExSearchLimitToDirectories = 1 42 FindExSearchLimitToDevices = 2 43 FindExSearchMaxSearchOp = 3 44 ) 45 46 const ( /* minwinbase.h:107:3: */ 47 GetFileExInfoStandard = 0 48 GetFileExMaxInfoLevel = 1 49 ) 50 51 const ( /* minwinbase.h:91:3: */ 52 FindExInfoStandard = 0 53 FindExInfoBasic = 1 54 FindExInfoMaxInfoLevel = 2 55 ) 56 57 const ( /* sysinfoapi.h:70:3: */ 58 ComputerNameNetBIOS = 0 59 ComputerNameDnsHostname = 1 60 ComputerNameDnsDomain = 2 61 ComputerNameDnsFullyQualified = 3 62 ComputerNamePhysicalNetBIOS = 4 63 ComputerNamePhysicalDnsHostname = 5 64 ComputerNamePhysicalDnsDomain = 6 65 ComputerNamePhysicalDnsFullyQualified = 7 66 ComputerNameMax = 8 67 ) 68 69 // TODO: Add RTL_UMS... to winnt.h header and add UMS-base API. 70 71 const ( /* winbase.h:1191:3: */ 72 ThreadMemoryPriority = 0 73 ThreadAbsoluteCpuPriority = 1 74 ThreadInformationClassMax = 2 75 ) 76 77 const ( /* winbase.h:1197:3: */ 78 ProcessMemoryPriority = 0 79 ProcessInformationClassMax = 1 80 ) 81 82 const ( /* winbase.h:1298:3: */ 83 DEPPolicyAlwaysOff = 0 84 DEPPolicyAlwaysOn = 1 85 DEPPolicyOptIn = 2 86 DEPPolicyOptOut = 3 87 DEPTotalPolicyCount = 4 88 ) 89 90 const ( /* winbase.h:2147:3: */ 91 FindStreamInfoStandard = 0 92 FindStreamInfoMaxInfoLevel = 1 93 ) 94 95 const ( /* winnls.h:720:3: */ 96 COMPARE_STRING = 1 97 ) 98 99 const ( /* winnls.h:756:3: */ 100 GEO_NATION = 1 101 GEO_LATITUDE = 2 102 GEO_LONGITUDE = 3 103 GEO_ISO2 = 4 104 GEO_ISO3 = 5 105 GEO_RFC1766 = 6 106 GEO_LCID = 7 107 GEO_FRIENDLYNAME = 8 108 GEO_OFFICIALNAME = 9 109 GEO_TIMEZONES = 10 110 GEO_OFFICIALLANGUAGES = 11 111 GEO_ISO_UN_NUMBER = 12 112 GEO_PARENT = 13 113 ) 114 115 const ( /* winnls.h:772:3: */ 116 GEOCLASS_NATION = 16 117 GEOCLASS_REGION = 14 118 GEOCLASS_ALL = 0 119 ) 120 121 const ( /* winnt.h:2945:5: */ 122 SidTypeUser = 1 123 SidTypeGroup = 2 124 SidTypeDomain = 3 125 SidTypeAlias = 4 126 SidTypeWellKnownGroup = 5 127 SidTypeDeletedAccount = 6 128 SidTypeInvalid = 7 129 SidTypeUnknown = 8 130 SidTypeComputer = 9 131 SidTypeLabel = 10 132 SidTypeLogonSession = 11 133 ) 134 135 const ( /* winnt.h:3184:5: */ 136 WinNullSid = 0 137 WinWorldSid = 1 138 WinLocalSid = 2 139 WinCreatorOwnerSid = 3 140 WinCreatorGroupSid = 4 141 WinCreatorOwnerServerSid = 5 142 WinCreatorGroupServerSid = 6 143 WinNtAuthoritySid = 7 144 WinDialupSid = 8 145 WinNetworkSid = 9 146 WinBatchSid = 10 147 WinInteractiveSid = 11 148 WinServiceSid = 12 149 WinAnonymousSid = 13 150 WinProxySid = 14 151 WinEnterpriseControllersSid = 15 152 WinSelfSid = 16 153 WinAuthenticatedUserSid = 17 154 WinRestrictedCodeSid = 18 155 WinTerminalServerSid = 19 156 WinRemoteLogonIdSid = 20 157 WinLogonIdsSid = 21 158 WinLocalSystemSid = 22 159 WinLocalServiceSid = 23 160 WinNetworkServiceSid = 24 161 WinBuiltinDomainSid = 25 162 WinBuiltinAdministratorsSid = 26 163 WinBuiltinUsersSid = 27 164 WinBuiltinGuestsSid = 28 165 WinBuiltinPowerUsersSid = 29 166 WinBuiltinAccountOperatorsSid = 30 167 WinBuiltinSystemOperatorsSid = 31 168 WinBuiltinPrintOperatorsSid = 32 169 WinBuiltinBackupOperatorsSid = 33 170 WinBuiltinReplicatorSid = 34 171 WinBuiltinPreWindows2000CompatibleAccessSid = 35 172 WinBuiltinRemoteDesktopUsersSid = 36 173 WinBuiltinNetworkConfigurationOperatorsSid = 37 174 WinAccountAdministratorSid = 38 175 WinAccountGuestSid = 39 176 WinAccountKrbtgtSid = 40 177 WinAccountDomainAdminsSid = 41 178 WinAccountDomainUsersSid = 42 179 WinAccountDomainGuestsSid = 43 180 WinAccountComputersSid = 44 181 WinAccountControllersSid = 45 182 WinAccountCertAdminsSid = 46 183 WinAccountSchemaAdminsSid = 47 184 WinAccountEnterpriseAdminsSid = 48 185 WinAccountPolicyAdminsSid = 49 186 WinAccountRasAndIasServersSid = 50 187 WinNTLMAuthenticationSid = 51 188 WinDigestAuthenticationSid = 52 189 WinSChannelAuthenticationSid = 53 190 WinThisOrganizationSid = 54 191 WinOtherOrganizationSid = 55 192 WinBuiltinIncomingForestTrustBuildersSid = 56 193 WinBuiltinPerfMonitoringUsersSid = 57 194 WinBuiltinPerfLoggingUsersSid = 58 195 WinBuiltinAuthorizationAccessSid = 59 196 WinBuiltinTerminalServerLicenseServersSid = 60 197 WinBuiltinDCOMUsersSid = 61 198 WinBuiltinIUsersSid = 62 199 WinIUserSid = 63 200 WinBuiltinCryptoOperatorsSid = 64 201 WinUntrustedLabelSid = 65 202 WinLowLabelSid = 66 203 WinMediumLabelSid = 67 204 WinHighLabelSid = 68 205 WinSystemLabelSid = 69 206 WinWriteRestrictedCodeSid = 70 207 WinCreatorOwnerRightsSid = 71 208 WinCacheablePrincipalsGroupSid = 72 209 WinNonCacheablePrincipalsGroupSid = 73 210 WinEnterpriseReadonlyControllersSid = 74 211 WinAccountReadonlyControllersSid = 75 212 WinBuiltinEventLogReadersGroup = 76 213 WinNewEnterpriseReadonlyControllersSid = 77 214 WinBuiltinCertSvcDComAccessGroup = 78 215 WinMediumPlusLabelSid = 79 216 WinLocalLogonSid = 80 217 WinConsoleLogonSid = 81 218 WinThisOrganizationCertificateSid = 82 219 WinApplicationPackageAuthoritySid = 83 220 WinBuiltinAnyPackageSid = 84 221 WinCapabilityInternetClientSid = 85 222 WinCapabilityInternetClientServerSid = 86 223 WinCapabilityPrivateNetworkClientServerSid = 87 224 WinCapabilityPicturesLibrarySid = 88 225 WinCapabilityVideosLibrarySid = 89 226 WinCapabilityMusicLibrarySid = 90 227 WinCapabilityDocumentsLibrarySid = 91 228 WinCapabilitySharedUserCertificatesSid = 92 229 WinCapabilityEnterpriseAuthenticationSid = 93 230 WinCapabilityRemovableStorageSid = 94 231 WinBuiltinRDSRemoteAccessServersSid = 95 232 WinBuiltinRDSEndpointServersSid = 96 233 WinBuiltinRDSManagementServersSid = 97 234 WinUserModeDriversSid = 98 235 WinBuiltinHyperVAdminsSid = 99 236 WinAccountCloneableControllersSid = 100 237 WinBuiltinAccessControlAssistanceOperatorsSid = 101 238 WinBuiltinRemoteManagementUsersSid = 102 239 WinAuthenticationAuthorityAssertedSid = 103 240 WinAuthenticationServiceAssertedSid = 104 241 WinLocalAccountSid = 105 242 WinLocalAccountAndAdministratorSid = 106 243 WinAccountProtectedUsersSid = 107 244 WinCapabilityAppointmentsSid = 108 245 WinCapabilityContactsSid = 109 246 WinAccountDefaultSystemManagedSid = 110 247 WinBuiltinDefaultSystemManagedGroupSid = 111 248 WinBuiltinStorageReplicaAdminsSid = 112 249 WinAccountKeyAdminsSid = 113 250 WinAccountEnterpriseKeyAdminsSid = 114 251 WinAuthenticationKeyTrustSid = 115 252 WinAuthenticationKeyPropertyMFASid = 116 253 WinAuthenticationKeyPropertyAttestationSid = 117 254 ) 255 256 const ( /* winnt.h:3495:5: */ 257 AclRevisionInformation = 1 258 AclSizeInformation = 2 259 ) 260 261 const ( /* winnt.h:3565:5: */ 262 AuditEventObjectAccess = 0 263 AuditEventDirectoryServiceAccess = 1 264 ) 265 266 const ( /* winnt.h:3597:5: */ 267 AccessReasonNone = 0 268 AccessReasonAllowedAce = 65536 269 AccessReasonDeniedAce = 131072 270 AccessReasonAllowedParentAce = 196608 271 AccessReasonDeniedParentAce = 262144 272 AccessReasonNotGrantedByCape = 327680 273 AccessReasonNotGrantedByParentCape = 393216 274 AccessReasonNotGrantedToAppContainer = 458752 275 AccessReasonMissingPrivilege = 1048576 276 AccessReasonFromPrivilege = 2097152 277 AccessReasonIntegrityLevel = 3145728 278 AccessReasonOwnership = 4194304 279 AccessReasonNullDacl = 5242880 280 AccessReasonEmptyDacl = 6291456 281 AccessReasonNoSD = 7340032 282 AccessReasonNoGrant = 8388608 283 ) 284 285 const ( /* winnt.h:3687:5: */ 286 SecurityAnonymous = 0 287 SecurityIdentification = 1 288 SecurityImpersonation = 2 289 SecurityDelegation = 3 290 ) 291 292 const ( /* winnt.h:3714:5: */ 293 TokenPrimary = 1 294 TokenImpersonation = 2 295 ) 296 297 const ( /* winnt.h:3719:5: */ 298 TokenElevationTypeDefault = 1 299 TokenElevationTypeFull = 2 300 TokenElevationTypeLimited = 3 301 ) 302 303 const ( /* winnt.h:3725:5: */ 304 TokenUser = 1 305 TokenGroups = 2 306 TokenPrivileges = 3 307 TokenOwner = 4 308 TokenPrimaryGroup = 5 309 TokenDefaultDacl = 6 310 TokenSource = 7 311 TokenType = 8 312 TokenImpersonationLevel = 9 313 TokenStatistics = 10 314 TokenRestrictedSids = 11 315 TokenSessionId = 12 316 TokenGroupsAndPrivileges = 13 317 TokenSessionReference = 14 318 TokenSandBoxInert = 15 319 TokenAuditPolicy = 16 320 TokenOrigin = 17 321 TokenElevationType = 18 322 TokenLinkedToken = 19 323 TokenElevation = 20 324 TokenHasRestrictions = 21 325 TokenAccessInformation = 22 326 TokenVirtualizationAllowed = 23 327 TokenVirtualizationEnabled = 24 328 TokenIntegrityLevel = 25 329 TokenUIAccess = 26 330 TokenMandatoryPolicy = 27 331 TokenLogonSid = 28 332 TokenIsAppContainer = 29 333 TokenCapabilities = 30 334 TokenAppContainerSid = 31 335 TokenAppContainerNumber = 32 336 TokenUserClaimAttributes = 33 337 TokenDeviceClaimAttributes = 34 338 TokenRestrictedUserClaimAttributes = 35 339 TokenRestrictedDeviceClaimAttributes = 36 340 TokenDeviceGroups = 37 341 TokenRestrictedDeviceGroups = 38 342 TokenSecurityAttributes = 39 343 TokenIsRestricted = 40 344 MaxTokenInfoClass = 41 345 ) 346 347 const ( /* winnt.h:3893:5: */ 348 MandatoryLevelUntrusted = 0 349 MandatoryLevelLow = 1 350 MandatoryLevelMedium = 2 351 MandatoryLevelHigh = 3 352 MandatoryLevelSystem = 4 353 MandatoryLevelSecureProcess = 5 354 MandatoryLevelCount = 6 355 ) 356 357 const ( /* winnt.h:4019:5: */ 358 SeLearningModeInvalidType = 0 359 SeLearningModeSettings = 1 360 SeLearningModeMax = 2 361 ) 362 363 const ( /* winnt.h:4223:5: */ 364 PMCCounter = 0 365 MaxHardwareCounterType = 1 366 ) 367 368 const ( /* winnt.h:4228:5: */ 369 ProcessDEPPolicy = 0 370 ProcessASLRPolicy = 1 371 ProcessDynamicCodePolicy = 2 372 ProcessStrictHandleCheckPolicy = 3 373 ProcessSystemCallDisablePolicy = 4 374 ProcessMitigationOptionsMask = 5 375 ProcessExtensionPointDisablePolicy = 6 376 ProcessControlFlowGuardPolicy = 7 377 ProcessSignaturePolicy = 8 378 ProcessFontDisablePolicy = 9 379 ProcessImageLoadPolicy = 10 380 MaxProcessMitigationPolicy = 11 381 ) 382 383 const ( /* winnt.h:4426:5: */ 384 ToleranceLow = 1 385 ToleranceMedium = 2 386 ToleranceHigh = 3 387 ) 388 389 const ( /* winnt.h:4432:5: */ 390 ToleranceIntervalShort = 1 391 ToleranceIntervalMedium = 2 392 ToleranceIntervalLong = 3 393 ) 394 395 const ( /* winnt.h:4551:5: */ 396 JobObjectBasicAccountingInformation = 1 397 JobObjectBasicLimitInformation = 2 398 JobObjectBasicProcessIdList = 3 399 JobObjectBasicUIRestrictions = 4 400 JobObjectSecurityLimitInformation = 5 401 JobObjectEndOfJobTimeInformation = 6 402 JobObjectAssociateCompletionPortInformation = 7 403 JobObjectBasicAndIoAccountingInformation = 8 404 JobObjectExtendedLimitInformation = 9 405 JobObjectJobSetInformation = 10 406 JobObjectGroupInformation = 11 407 JobObjectNotificationLimitInformation = 12 408 JobObjectLimitViolationInformation = 13 409 JobObjectGroupInformationEx = 14 410 JobObjectCpuRateControlInformation = 15 411 JobObjectCompletionFilter = 16 412 JobObjectCompletionCounter = 17 413 JobObjectReserved1Information = 18 414 JobObjectReserved2Information = 19 415 JobObjectReserved3Information = 20 416 JobObjectReserved4Information = 21 417 JobObjectReserved5Information = 22 418 JobObjectReserved6Information = 23 419 JobObjectReserved7Information = 24 420 JobObjectReserved8Information = 25 421 MaxJobObjectInfoClass = 26 422 ) 423 424 const ( /* winnt.h:4575:5: */ 425 FirmwareTypeUnknown = 0 426 FirmwareTypeBios = 1 427 FirmwareTypeUefi = 2 428 FirmwareTypeMax = 3 429 ) 430 431 const ( /* winnt.h:4600:5: */ 432 RelationProcessorCore = 0 433 RelationNumaNode = 1 434 RelationCache = 2 435 RelationProcessorPackage = 3 436 RelationGroup = 4 437 RelationAll = 65535 438 ) 439 440 const ( /* winnt.h:4607:5: */ 441 CacheUnified = 0 442 CacheInstruction = 1 443 CacheData = 2 444 CacheTrace = 3 445 ) 446 447 const ( /* winnt.h:467:1: */ 448 UNSPECIFIED_COMPARTMENT_ID = 0 449 DEFAULT_COMPARTMENT_ID = 1 450 ) 451 452 const ( /* winnt.h:5229:3: */ 453 PowerSystemUnspecified = 0 454 PowerSystemWorking = 1 455 PowerSystemSleeping1 = 2 456 PowerSystemSleeping2 = 3 457 PowerSystemSleeping3 = 4 458 PowerSystemHibernate = 5 459 PowerSystemShutdown = 6 460 PowerSystemMaximum = 7 461 ) 462 463 const ( /* winnt.h:5235:3: */ 464 PowerActionNone = 0 465 PowerActionReserved = 1 466 PowerActionSleep = 2 467 PowerActionHibernate = 3 468 PowerActionShutdown = 4 469 PowerActionShutdownReset = 5 470 PowerActionShutdownOff = 6 471 PowerActionWarmEject = 7 472 ) 473 474 const ( /* winnt.h:5241:3: */ 475 PowerDeviceUnspecified = 0 476 PowerDeviceD0 = 1 477 PowerDeviceD1 = 2 478 PowerDeviceD2 = 3 479 PowerDeviceD3 = 4 480 PowerDeviceMaximum = 5 481 ) 482 483 const ( /* winnt.h:5246:3: */ 484 PowerMonitorOff = 0 485 PowerMonitorOn = 1 486 PowerMonitorDim = 2 487 ) 488 489 const ( /* winnt.h:5250:3: */ 490 PowerUserPresent = 0 491 PowerUserNotPresent = 1 492 PowerUserInactive = 2 493 PowerUserMaximum = 3 494 PowerUserInvalid = 3 495 ) 496 497 const ( /* winnt.h:5266:3: */ 498 LT_DONT_CARE = 0 499 LT_LOWEST_LATENCY = 1 500 ) 501 502 const ( /* winnt.h:5281:3: */ 503 PowerRequestDisplayRequired = 0 504 PowerRequestSystemRequired = 1 505 PowerRequestAwayModeRequired = 2 506 PowerRequestExecutionRequired = 3 507 ) 508 509 const ( /* winnt.h:5309:5: */ 510 SystemPowerPolicyAc = 0 511 SystemPowerPolicyDc = 1 512 VerifySystemPolicyAc = 2 513 VerifySystemPolicyDc = 3 514 SystemPowerCapabilities = 4 515 SystemBatteryState = 5 516 SystemPowerStateHandler = 6 517 ProcessorStateHandler = 7 518 SystemPowerPolicyCurrent = 8 519 AdministratorPowerPolicy = 9 520 SystemReserveHiberFile = 10 521 ProcessorInformation = 11 522 SystemPowerInformation = 12 523 ProcessorStateHandler2 = 13 524 LastWakeTime = 14 525 LastSleepTime = 15 526 SystemExecutionState = 16 527 SystemPowerStateNotifyHandler = 17 528 ProcessorPowerPolicyAc = 18 529 ProcessorPowerPolicyDc = 19 530 VerifyProcessorPowerPolicyAc = 20 531 VerifyProcessorPowerPolicyDc = 21 532 ProcessorPowerPolicyCurrent = 22 533 SystemPowerStateLogging = 23 534 SystemPowerLoggingEntry = 24 535 SetPowerSettingValue = 25 536 NotifyUserPowerSetting = 26 537 PowerInformationLevelUnused0 = 27 538 SystemMonitorHiberBootPowerOff = 28 539 SystemVideoState = 29 540 TraceApplicationPowerMessage = 30 541 TraceApplicationPowerMessageEnd = 31 542 ProcessorPerfStates = 32 543 ProcessorIdleStates = 33 544 ProcessorCap = 34 545 SystemWakeSource = 35 546 SystemHiberFileInformation = 36 547 TraceServicePowerMessage = 37 548 ProcessorLoad = 38 549 PowerShutdownNotification = 39 550 MonitorCapabilities = 40 551 SessionPowerInit = 41 552 SessionDisplayState = 42 553 PowerRequestCreate = 43 554 PowerRequestAction = 44 555 GetPowerRequestList = 45 556 ProcessorInformationEx = 46 557 NotifyUserModeLegacyPowerEvent = 47 558 GroupPark = 48 559 ProcessorIdleDomains = 49 560 WakeTimerList = 50 561 SystemHiberFileSize = 51 562 ProcessorIdleStatesHv = 52 563 ProcessorPerfStatesHv = 53 564 ProcessorPerfCapHv = 54 565 ProcessorSetIdle = 55 566 LogicalProcessorIdling = 56 567 UserPresence = 57 568 PowerSettingNotificationName = 58 569 GetPowerSettingValue = 59 570 IdleResiliency = 60 571 SessionRITState = 61 572 SessionConnectNotification = 62 573 SessionPowerCleanup = 63 574 SessionLockState = 64 575 SystemHiberbootState = 65 576 PlatformInformation = 66 577 PdcInvocation = 67 578 MonitorInvocation = 68 579 FirmwareTableInformationRegistered = 69 580 SetShutdownSelectedTime = 70 581 SuspendResumeInvocation = 71 582 PlmPowerRequestCreate = 72 583 ScreenOff = 73 584 CsDeviceNotification = 74 585 PlatformRole = 75 586 LastResumePerformance = 76 587 DisplayBurst = 77 588 ExitLatencySamplingPercentage = 78 589 ApplyLowPowerScenarioSettings = 79 590 PowerInformationLevelMaximum = 80 591 ) 592 593 const ( /* winnt.h:5393:5: */ 594 UserNotPresent = 0 595 UserPresent = 1 596 UserUnknown = 255 597 ) 598 599 const ( /* winnt.h:5429:5: */ 600 MonitorRequestReasonUnknown = 0 601 MonitorRequestReasonPowerButton = 1 602 MonitorRequestReasonRemoteConnection = 2 603 MonitorRequestReasonScMonitorpower = 3 604 MonitorRequestReasonUserInput = 4 605 MonitorRequestReasonAcDcDisplayBurst = 5 606 MonitorRequestReasonUserDisplayBurst = 6 607 MonitorRequestReasonPoSetSystemState = 7 608 MonitorRequestReasonSetThreadExecutionState = 8 609 MonitorRequestReasonFullWake = 9 610 MonitorRequestReasonSessionUnlock = 10 611 MonitorRequestReasonScreenOffRequest = 11 612 MonitorRequestReasonIdleTimeout = 12 613 MonitorRequestReasonPolicyChange = 13 614 MonitorRequestReasonMax = 14 615 ) 616 617 const ( /* winnt.h:5459:5: */ 618 PoAc = 0 619 PoDc = 1 620 PoHot = 2 621 PoConditionMaximum = 3 622 ) 623 624 const ( /* winnt.h:5486:5: */ 625 PlatformRoleUnspecified = 0 626 PlatformRoleDesktop = 1 627 PlatformRoleMobile = 2 628 PlatformRoleWorkstation = 3 629 PlatformRoleEnterpriseServer = 4 630 PlatformRoleSOHOServer = 5 631 PlatformRoleAppliancePC = 6 632 PlatformRolePerformanceServer = 7 633 PlatformRoleSlate = 8 634 PlatformRoleMaximum = 9 635 ) 636 637 const ( /* winnt.h:6623:5: */ 638 IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1 639 ) 640 641 const ( /* winnt.h:7494:5: */ 642 IMPORT_OBJECT_CODE = 0 643 IMPORT_OBJECT_DATA = 1 644 IMPORT_OBJECT_CONST = 2 645 ) 646 647 const ( /* winnt.h:7498:5: */ 648 IMPORT_OBJECT_ORDINAL = 0 649 IMPORT_OBJECT_NAME = 1 650 IMPORT_OBJECT_NAME_NO_PREFIX = 2 651 IMPORT_OBJECT_NAME_UNDECORATE = 3 652 ) 653 654 const ( /* winnt.h:7504:5: */ 655 COMIMAGE_FLAGS_ILONLY = 1 656 COMIMAGE_FLAGS_32BITREQUIRED = 2 657 COMIMAGE_FLAGS_IL_LIBRARY = 4 658 COMIMAGE_FLAGS_STRONGNAMESIGNED = 8 659 COMIMAGE_FLAGS_TRACKDEBUGDATA = 65536 660 COR_VERSION_MAJOR_V2 = 2 661 COR_VERSION_MAJOR = 2 662 COR_VERSION_MINOR = 0 663 COR_DELETED_NAME_LENGTH = 8 664 COR_VTABLEGAP_NAME_LENGTH = 8 665 NATIVE_TYPE_MAX_CB = 1 666 COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE = 255 667 IMAGE_COR_MIH_METHODRVA = 1 668 IMAGE_COR_MIH_EHRVA = 2 669 IMAGE_COR_MIH_BASICBLOCK = 8 670 COR_VTABLE_32BIT = 1 671 COR_VTABLE_64BIT = 2 672 COR_VTABLE_FROM_UNMANAGED = 4 673 COR_VTABLE_CALL_MOST_DERIVED = 16 674 IMAGE_COR_EATJ_THUNK_SIZE = 32 675 MAX_CLASS_NAME = 1024 676 MAX_PACKAGE_NAME = 1024 677 ) 678 679 const ( /* winnt.h:7909:5: */ 680 UmsThreadInvalidInfoClass = 0 681 UmsThreadUserContext = 1 682 UmsThreadPriority = 2 683 UmsThreadAffinity = 3 684 UmsThreadTeb = 4 685 UmsThreadIsSuspended = 5 686 UmsThreadIsTerminated = 6 687 UmsThreadMaxInfoClass = 7 688 ) 689 690 const ( /* winnt.h:7920:5: */ 691 UmsSchedulerStartup = 0 692 UmsSchedulerThreadBlocked = 1 693 UmsSchedulerThreadYield = 2 694 ) 695 696 const ( /* winnt.h:7995:5: */ 697 HeapCompatibilityInformation = 0 698 HeapEnableTerminationOnCorruption = 1 699 ) 700 701 const ( /* winnt.h:8023:5: */ 702 ActivationContextBasicInformation = 1 703 ActivationContextDetailedInformation = 2 704 AssemblyDetailedInformationInActivationContext = 3 705 FileInformationInAssemblyOfAssemblyInActivationContext = 4 706 RunlevelInformationInActivationContext = 5 707 CompatibilityInformationInActivationContext = 6 708 ActivationContextManifestResourceName = 7 709 MaxActivationContextInfoClass = 8 710 AssemblyDetailedInformationInActivationContxt = 3 711 FileInformationInAssemblyOfAssemblyInActivationContxt = 4 712 ) 713 714 const ( /* winnt.h:8036:5: */ 715 ACTCTX_RUN_LEVEL_UNSPECIFIED = 0 716 ACTCTX_RUN_LEVEL_AS_INVOKER = 1 717 ACTCTX_RUN_LEVEL_HIGHEST_AVAILABLE = 2 718 ACTCTX_RUN_LEVEL_REQUIRE_ADMIN = 3 719 ACTCTX_RUN_LEVEL_NUMBERS = 4 720 ) 721 722 const ( /* winnt.h:8044:5: */ 723 ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN = 0 724 ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS = 1 725 ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION = 2 726 ) 727 728 const ( /* winnt.h:8465:5: */ 729 DriverType = 1 730 FileSystemType = 2 731 Win32ServiceOwnProcess = 16 732 Win32ServiceShareProcess = 32 733 AdapterType = 4 734 RecognizerType = 8 735 ) 736 737 const ( /* winnt.h:8470:5: */ 738 BootLoad = 0 739 SystemLoad = 1 740 AutoLoad = 2 741 DemandLoad = 3 742 DisableLoad = 4 743 ) 744 745 const ( /* winnt.h:8475:5: */ 746 IgnoreError = 0 747 NormalError = 1 748 SevereError = 2 749 CriticalError = 3 750 ) 751 752 const ( /* winnt.h:8675:5: */ 753 TapeDriveProblemNone = 0 754 TapeDriveReadWriteWarning = 1 755 TapeDriveReadWriteError = 2 756 TapeDriveReadWarning = 3 757 TapeDriveWriteWarning = 4 758 TapeDriveReadError = 5 759 TapeDriveWriteError = 6 760 TapeDriveHardwareError = 7 761 TapeDriveUnsupportedMedia = 8 762 TapeDriveScsiConnectionError = 9 763 TapeDriveTimetoClean = 10 764 TapeDriveCleanDriveNow = 11 765 TapeDriveMediaLifeExpired = 12 766 TapeDriveSnappedTape = 13 767 ) 768 769 const ( /* winnt.h:8685:3: */ 770 TP_CALLBACK_PRIORITY_HIGH = 0 771 TP_CALLBACK_PRIORITY_NORMAL = 1 772 TP_CALLBACK_PRIORITY_LOW = 2 773 TP_CALLBACK_PRIORITY_INVALID = 3 774 TP_CALLBACK_PRIORITY_COUNT = 3 775 ) 776 777 const ( /* winnt.h:8878:7: */ 778 TransactionOutcomeUndetermined = 1 779 TransactionOutcomeCommitted = 2 780 TransactionOutcomeAborted = 3 781 ) 782 783 const ( /* winnt.h:8884:7: */ 784 TransactionStateNormal = 1 785 TransactionStateIndoubt = 2 786 TransactionStateCommittedNotify = 3 787 ) 788 789 const ( /* winnt.h:8956:7: */ 790 TransactionBasicInformation = 0 791 TransactionPropertiesInformation = 1 792 TransactionEnlistmentInformation = 2 793 TransactionSuperiorEnlistmentInformation = 3 794 TransactionBindInformation = 4 795 TransactionDTCPrivateInformation = 5 796 ) 797 798 const ( /* winnt.h:8965:7: */ 799 TransactionManagerBasicInformation = 0 800 TransactionManagerLogInformation = 1 801 TransactionManagerLogPathInformation = 2 802 TransactionManagerOnlineProbeInformation = 3 803 TransactionManagerRecoveryInformation = 4 804 TransactionManagerOldestTransactionInformation = 5 805 ) 806 807 const ( /* winnt.h:8974:7: */ 808 ResourceManagerBasicInformation = 0 809 ResourceManagerCompletionInformation = 1 810 ) 811 812 const ( /* winnt.h:8991:7: */ 813 EnlistmentBasicInformation = 0 814 EnlistmentRecoveryInformation = 1 815 EnlistmentCrmInformation = 2 816 ) 817 818 const ( /* winnt.h:9006:7: */ 819 KTMOBJECT_TRANSACTION = 0 820 KTMOBJECT_TRANSACTION_MANAGER = 1 821 KTMOBJECT_RESOURCE_MANAGER = 2 822 KTMOBJECT_ENLISTMENT = 3 823 KTMOBJECT_INVALID = 4 824 ) 825 826 const ( /* winsvc.h:106:3: */ 827 SC_ACTION_NONE = 0 828 SC_ACTION_RESTART = 1 829 SC_ACTION_REBOOT = 2 830 SC_ACTION_RUN_COMMAND = 3 831 ) 832 833 const ( /* winsvc.h:139:3: */ 834 SC_STATUS_PROCESS_INFO = 0 835 ) 836 837 const ( /* winsvc.h:143:3: */ 838 SC_ENUM_PROCESS_INFO = 0 839 ) 840 841 type ptrdiff_t = int32 /* <builtin>:3:26 */ 842 843 type size_t = uint32 /* <builtin>:9:23 */ 844 845 type wchar_t = uint16 /* <builtin>:15:24 */ 846 847 type va_list = uintptr /* <builtin>:51:27 */ 848 849 // CAPI3REF: 64-Bit Integer Types 850 // KEYWORDS: sqlite_int64 sqlite_uint64 851 // 852 // Because there is no cross-platform way to specify 64-bit integer types 853 // SQLite includes typedefs for 64-bit signed and unsigned integers. 854 // 855 // The sqlite3_int64 and sqlite3_uint64 are the preferred type definitions. 856 // The sqlite_int64 and sqlite_uint64 types are supported for backwards 857 // compatibility only. 858 // 859 // ^The sqlite3_int64 and sqlite_int64 types can store integer values 860 // between -9223372036854775808 and +9223372036854775807 inclusive. ^The 861 // sqlite3_uint64 and sqlite_uint64 types can store integer values 862 // between 0 and +18446744073709551615 inclusive. 863 type sqlite_int64 = int64 /* sqlite3.h:275:19 */ 864 type sqlite_uint64 = uint64 /* sqlite3.h:276:28 */ 865 type sqlite3_int64 = sqlite_int64 /* sqlite3.h:281:22 */ 866 type sqlite3_uint64 = sqlite_uint64 /* sqlite3.h:282:23 */ 867 868 // The type for a callback function. 869 // This is legacy and deprecated. It is included for historical 870 // compatibility and is not documented. 871 type sqlite3_callback = uintptr /* sqlite3.h:338:13 */ 872 873 // CAPI3REF: Result Codes 874 // KEYWORDS: {result code definitions} 875 // 876 // Many SQLite functions return an integer result code from the set shown 877 // here in order to indicate success or failure. 878 // 879 // New error codes may be added in future versions of SQLite. 880 // 881 // See also: [extended result code definitions] 882 // beginning-of-error-codes 883 // end-of-error-codes 884 885 // CAPI3REF: Extended Result Codes 886 // KEYWORDS: {extended result code definitions} 887 // 888 // In its default configuration, SQLite API routines return one of 30 integer 889 // [result codes]. However, experience has shown that many of 890 // these result codes are too coarse-grained. They do not provide as 891 // much information about problems as programmers might like. In an effort to 892 // address this, newer versions of SQLite (version 3.3.8 [dateof:3.3.8] 893 // and later) include 894 // support for additional result codes that provide more detailed information 895 // about errors. These [extended result codes] are enabled or disabled 896 // on a per database connection basis using the 897 // [sqlite3_extended_result_codes()] API. Or, the extended code for 898 // the most recent error can be obtained using 899 // [sqlite3_extended_errcode()]. 900 901 // CAPI3REF: Flags For File Open Operations 902 // 903 // These bit values are intended for use in the 904 // 3rd parameter to the [sqlite3_open_v2()] interface and 905 // in the 4th parameter to the [sqlite3_vfs.xOpen] method. 906 907 // Reserved: 0x00F00000 908 // Legacy compatibility: 909 910 // CAPI3REF: Device Characteristics 911 // 912 // The xDeviceCharacteristics method of the [sqlite3_io_methods] 913 // object returns an integer which is a vector of these 914 // bit values expressing I/O characteristics of the mass storage 915 // device that holds the file that the [sqlite3_io_methods] 916 // refers to. 917 // 918 // The SQLITE_IOCAP_ATOMIC property means that all writes of 919 // any size are atomic. The SQLITE_IOCAP_ATOMICnnn values 920 // mean that writes of blocks that are nnn bytes in size and 921 // are aligned to an address which is an integer multiple of 922 // nnn are atomic. The SQLITE_IOCAP_SAFE_APPEND value means 923 // that when data is appended to a file, the data is appended 924 // first then the size of the file is extended, never the other 925 // way around. The SQLITE_IOCAP_SEQUENTIAL property means that 926 // information is written to disk in the same order as calls 927 // to xWrite(). The SQLITE_IOCAP_POWERSAFE_OVERWRITE property means that 928 // after reboot following a crash or power loss, the only bytes in a 929 // file that were written at the application level might have changed 930 // and that adjacent bytes, even bytes within the same sector are 931 // guaranteed to be unchanged. The SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 932 // flag indicates that a file cannot be deleted when open. The 933 // SQLITE_IOCAP_IMMUTABLE flag indicates that the file is on 934 // read-only media and cannot be changed even by processes with 935 // elevated privileges. 936 // 937 // The SQLITE_IOCAP_BATCH_ATOMIC property means that the underlying 938 // filesystem supports doing multiple write operations atomically when those 939 // write operations are bracketed by [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] and 940 // [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE]. 941 942 // CAPI3REF: File Locking Levels 943 // 944 // SQLite uses one of these integer values as the second 945 // argument to calls it makes to the xLock() and xUnlock() methods 946 // of an [sqlite3_io_methods] object. 947 948 // CAPI3REF: Synchronization Type Flags 949 // 950 // When SQLite invokes the xSync() method of an 951 // [sqlite3_io_methods] object it uses a combination of 952 // these integer values as the second argument. 953 // 954 // When the SQLITE_SYNC_DATAONLY flag is used, it means that the 955 // sync operation only needs to flush data to mass storage. Inode 956 // information need not be flushed. If the lower four bits of the flag 957 // equal SQLITE_SYNC_NORMAL, that means to use normal fsync() semantics. 958 // If the lower four bits equal SQLITE_SYNC_FULL, that means 959 // to use Mac OS X style fullsync instead of fsync(). 960 // 961 // Do not confuse the SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags 962 // with the [PRAGMA synchronous]=NORMAL and [PRAGMA synchronous]=FULL 963 // settings. The [synchronous pragma] determines when calls to the 964 // xSync VFS method occur and applies uniformly across all platforms. 965 // The SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags determine how 966 // energetic or rigorous or forceful the sync operations are and 967 // only make a difference on Mac OSX for the default SQLite code. 968 // (Third-party VFS implementations might also make the distinction 969 // between SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL, but among the 970 // operating systems natively supported by SQLite, only Mac OSX 971 // cares about the difference.) 972 973 // CAPI3REF: OS Interface Open File Handle 974 // 975 // An [sqlite3_file] object represents an open file in the 976 // [sqlite3_vfs | OS interface layer]. Individual OS interface 977 // implementations will 978 // want to subclass this object by appending additional fields 979 // for their own use. The pMethods entry is a pointer to an 980 // [sqlite3_io_methods] object that defines methods for performing 981 // I/O operations on the open file. 982 type sqlite3_file1 = struct{ pMethods uintptr } /* sqlite3.h:683:9 */ 983 984 // CAPI3REF: Result Codes 985 // KEYWORDS: {result code definitions} 986 // 987 // Many SQLite functions return an integer result code from the set shown 988 // here in order to indicate success or failure. 989 // 990 // New error codes may be added in future versions of SQLite. 991 // 992 // See also: [extended result code definitions] 993 // beginning-of-error-codes 994 // end-of-error-codes 995 996 // CAPI3REF: Extended Result Codes 997 // KEYWORDS: {extended result code definitions} 998 // 999 // In its default configuration, SQLite API routines return one of 30 integer 1000 // [result codes]. However, experience has shown that many of 1001 // these result codes are too coarse-grained. They do not provide as 1002 // much information about problems as programmers might like. In an effort to 1003 // address this, newer versions of SQLite (version 3.3.8 [dateof:3.3.8] 1004 // and later) include 1005 // support for additional result codes that provide more detailed information 1006 // about errors. These [extended result codes] are enabled or disabled 1007 // on a per database connection basis using the 1008 // [sqlite3_extended_result_codes()] API. Or, the extended code for 1009 // the most recent error can be obtained using 1010 // [sqlite3_extended_errcode()]. 1011 1012 // CAPI3REF: Flags For File Open Operations 1013 // 1014 // These bit values are intended for use in the 1015 // 3rd parameter to the [sqlite3_open_v2()] interface and 1016 // in the 4th parameter to the [sqlite3_vfs.xOpen] method. 1017 1018 // Reserved: 0x00F00000 1019 // Legacy compatibility: 1020 1021 // CAPI3REF: Device Characteristics 1022 // 1023 // The xDeviceCharacteristics method of the [sqlite3_io_methods] 1024 // object returns an integer which is a vector of these 1025 // bit values expressing I/O characteristics of the mass storage 1026 // device that holds the file that the [sqlite3_io_methods] 1027 // refers to. 1028 // 1029 // The SQLITE_IOCAP_ATOMIC property means that all writes of 1030 // any size are atomic. The SQLITE_IOCAP_ATOMICnnn values 1031 // mean that writes of blocks that are nnn bytes in size and 1032 // are aligned to an address which is an integer multiple of 1033 // nnn are atomic. The SQLITE_IOCAP_SAFE_APPEND value means 1034 // that when data is appended to a file, the data is appended 1035 // first then the size of the file is extended, never the other 1036 // way around. The SQLITE_IOCAP_SEQUENTIAL property means that 1037 // information is written to disk in the same order as calls 1038 // to xWrite(). The SQLITE_IOCAP_POWERSAFE_OVERWRITE property means that 1039 // after reboot following a crash or power loss, the only bytes in a 1040 // file that were written at the application level might have changed 1041 // and that adjacent bytes, even bytes within the same sector are 1042 // guaranteed to be unchanged. The SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 1043 // flag indicates that a file cannot be deleted when open. The 1044 // SQLITE_IOCAP_IMMUTABLE flag indicates that the file is on 1045 // read-only media and cannot be changed even by processes with 1046 // elevated privileges. 1047 // 1048 // The SQLITE_IOCAP_BATCH_ATOMIC property means that the underlying 1049 // filesystem supports doing multiple write operations atomically when those 1050 // write operations are bracketed by [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] and 1051 // [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE]. 1052 1053 // CAPI3REF: File Locking Levels 1054 // 1055 // SQLite uses one of these integer values as the second 1056 // argument to calls it makes to the xLock() and xUnlock() methods 1057 // of an [sqlite3_io_methods] object. 1058 1059 // CAPI3REF: Synchronization Type Flags 1060 // 1061 // When SQLite invokes the xSync() method of an 1062 // [sqlite3_io_methods] object it uses a combination of 1063 // these integer values as the second argument. 1064 // 1065 // When the SQLITE_SYNC_DATAONLY flag is used, it means that the 1066 // sync operation only needs to flush data to mass storage. Inode 1067 // information need not be flushed. If the lower four bits of the flag 1068 // equal SQLITE_SYNC_NORMAL, that means to use normal fsync() semantics. 1069 // If the lower four bits equal SQLITE_SYNC_FULL, that means 1070 // to use Mac OS X style fullsync instead of fsync(). 1071 // 1072 // Do not confuse the SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags 1073 // with the [PRAGMA synchronous]=NORMAL and [PRAGMA synchronous]=FULL 1074 // settings. The [synchronous pragma] determines when calls to the 1075 // xSync VFS method occur and applies uniformly across all platforms. 1076 // The SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags determine how 1077 // energetic or rigorous or forceful the sync operations are and 1078 // only make a difference on Mac OSX for the default SQLite code. 1079 // (Third-party VFS implementations might also make the distinction 1080 // between SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL, but among the 1081 // operating systems natively supported by SQLite, only Mac OSX 1082 // cares about the difference.) 1083 1084 // CAPI3REF: OS Interface Open File Handle 1085 // 1086 // An [sqlite3_file] object represents an open file in the 1087 // [sqlite3_vfs | OS interface layer]. Individual OS interface 1088 // implementations will 1089 // want to subclass this object by appending additional fields 1090 // for their own use. The pMethods entry is a pointer to an 1091 // [sqlite3_io_methods] object that defines methods for performing 1092 // I/O operations on the open file. 1093 type sqlite3_file = sqlite3_file1 /* sqlite3.h:683:29 */ 1094 type sqlite3_io_methods1 = struct { 1095 iVersion int32 1096 xClose uintptr 1097 xRead uintptr 1098 xWrite uintptr 1099 xTruncate uintptr 1100 xSync uintptr 1101 xFileSize uintptr 1102 xLock uintptr 1103 xUnlock uintptr 1104 xCheckReservedLock uintptr 1105 xFileControl uintptr 1106 xSectorSize uintptr 1107 xDeviceCharacteristics uintptr 1108 xShmMap uintptr 1109 xShmLock uintptr 1110 xShmBarrier uintptr 1111 xShmUnmap uintptr 1112 xFetch uintptr 1113 xUnfetch uintptr 1114 } /* sqlite3.h:683:9 */ 1115 1116 // CAPI3REF: OS Interface File Virtual Methods Object 1117 // 1118 // Every file opened by the [sqlite3_vfs.xOpen] method populates an 1119 // [sqlite3_file] object (or, more commonly, a subclass of the 1120 // [sqlite3_file] object) with a pointer to an instance of this object. 1121 // This object defines the methods used to perform various operations 1122 // against the open file represented by the [sqlite3_file] object. 1123 // 1124 // If the [sqlite3_vfs.xOpen] method sets the sqlite3_file.pMethods element 1125 // to a non-NULL pointer, then the sqlite3_io_methods.xClose method 1126 // may be invoked even if the [sqlite3_vfs.xOpen] reported that it failed. The 1127 // only way to prevent a call to xClose following a failed [sqlite3_vfs.xOpen] 1128 // is for the [sqlite3_vfs.xOpen] to set the sqlite3_file.pMethods element 1129 // to NULL. 1130 // 1131 // The flags argument to xSync may be one of [SQLITE_SYNC_NORMAL] or 1132 // [SQLITE_SYNC_FULL]. The first choice is the normal fsync(). 1133 // The second choice is a Mac OS X style fullsync. The [SQLITE_SYNC_DATAONLY] 1134 // flag may be ORed in to indicate that only the data of the file 1135 // and not its inode needs to be synced. 1136 // 1137 // The integer values to xLock() and xUnlock() are one of 1138 // <ul> 1139 // <li> [SQLITE_LOCK_NONE], 1140 // <li> [SQLITE_LOCK_SHARED], 1141 // <li> [SQLITE_LOCK_RESERVED], 1142 // <li> [SQLITE_LOCK_PENDING], or 1143 // <li> [SQLITE_LOCK_EXCLUSIVE]. 1144 // </ul> 1145 // xLock() increases the lock. xUnlock() decreases the lock. 1146 // The xCheckReservedLock() method checks whether any database connection, 1147 // either in this process or in some other process, is holding a RESERVED, 1148 // PENDING, or EXCLUSIVE lock on the file. It returns true 1149 // if such a lock exists and false otherwise. 1150 // 1151 // The xFileControl() method is a generic interface that allows custom 1152 // VFS implementations to directly control an open file using the 1153 // [sqlite3_file_control()] interface. The second "op" argument is an 1154 // integer opcode. The third argument is a generic pointer intended to 1155 // point to a structure that may contain arguments or space in which to 1156 // write return values. Potential uses for xFileControl() might be 1157 // functions to enable blocking locks with timeouts, to change the 1158 // locking strategy (for example to use dot-file locks), to inquire 1159 // about the status of a lock, or to break stale locks. The SQLite 1160 // core reserves all opcodes less than 100 for its own use. 1161 // A [file control opcodes | list of opcodes] less than 100 is available. 1162 // Applications that define a custom xFileControl method should use opcodes 1163 // greater than 100 to avoid conflicts. VFS implementations should 1164 // return [SQLITE_NOTFOUND] for file control opcodes that they do not 1165 // recognize. 1166 // 1167 // The xSectorSize() method returns the sector size of the 1168 // device that underlies the file. The sector size is the 1169 // minimum write that can be performed without disturbing 1170 // other bytes in the file. The xDeviceCharacteristics() 1171 // method returns a bit vector describing behaviors of the 1172 // underlying device: 1173 // 1174 // <ul> 1175 // <li> [SQLITE_IOCAP_ATOMIC] 1176 // <li> [SQLITE_IOCAP_ATOMIC512] 1177 // <li> [SQLITE_IOCAP_ATOMIC1K] 1178 // <li> [SQLITE_IOCAP_ATOMIC2K] 1179 // <li> [SQLITE_IOCAP_ATOMIC4K] 1180 // <li> [SQLITE_IOCAP_ATOMIC8K] 1181 // <li> [SQLITE_IOCAP_ATOMIC16K] 1182 // <li> [SQLITE_IOCAP_ATOMIC32K] 1183 // <li> [SQLITE_IOCAP_ATOMIC64K] 1184 // <li> [SQLITE_IOCAP_SAFE_APPEND] 1185 // <li> [SQLITE_IOCAP_SEQUENTIAL] 1186 // <li> [SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN] 1187 // <li> [SQLITE_IOCAP_POWERSAFE_OVERWRITE] 1188 // <li> [SQLITE_IOCAP_IMMUTABLE] 1189 // <li> [SQLITE_IOCAP_BATCH_ATOMIC] 1190 // </ul> 1191 // 1192 // The SQLITE_IOCAP_ATOMIC property means that all writes of 1193 // any size are atomic. The SQLITE_IOCAP_ATOMICnnn values 1194 // mean that writes of blocks that are nnn bytes in size and 1195 // are aligned to an address which is an integer multiple of 1196 // nnn are atomic. The SQLITE_IOCAP_SAFE_APPEND value means 1197 // that when data is appended to a file, the data is appended 1198 // first then the size of the file is extended, never the other 1199 // way around. The SQLITE_IOCAP_SEQUENTIAL property means that 1200 // information is written to disk in the same order as calls 1201 // to xWrite(). 1202 // 1203 // If xRead() returns SQLITE_IOERR_SHORT_READ it must also fill 1204 // in the unread portions of the buffer with zeros. A VFS that 1205 // fails to zero-fill short reads might seem to work. However, 1206 // failure to zero-fill short reads will eventually lead to 1207 // database corruption. 1208 type sqlite3_io_methods = sqlite3_io_methods1 /* sqlite3.h:782:35 */ 1209 1210 // CAPI3REF: OS Interface Object 1211 // 1212 // An instance of the sqlite3_vfs object defines the interface between 1213 // the SQLite core and the underlying operating system. The "vfs" 1214 // in the name of the object stands for "virtual file system". See 1215 // the [VFS | VFS documentation] for further information. 1216 // 1217 // The VFS interface is sometimes extended by adding new methods onto 1218 // the end. Each time such an extension occurs, the iVersion field 1219 // is incremented. The iVersion value started out as 1 in 1220 // SQLite [version 3.5.0] on [dateof:3.5.0], then increased to 2 1221 // with SQLite [version 3.7.0] on [dateof:3.7.0], and then increased 1222 // to 3 with SQLite [version 3.7.6] on [dateof:3.7.6]. Additional fields 1223 // may be appended to the sqlite3_vfs object and the iVersion value 1224 // may increase again in future versions of SQLite. 1225 // Note that due to an oversight, the structure 1226 // of the sqlite3_vfs object changed in the transition from 1227 // SQLite [version 3.5.9] to [version 3.6.0] on [dateof:3.6.0] 1228 // and yet the iVersion field was not increased. 1229 // 1230 // The szOsFile field is the size of the subclassed [sqlite3_file] 1231 // structure used by this VFS. mxPathname is the maximum length of 1232 // a pathname in this VFS. 1233 // 1234 // Registered sqlite3_vfs objects are kept on a linked list formed by 1235 // the pNext pointer. The [sqlite3_vfs_register()] 1236 // and [sqlite3_vfs_unregister()] interfaces manage this list 1237 // in a thread-safe way. The [sqlite3_vfs_find()] interface 1238 // searches the list. Neither the application code nor the VFS 1239 // implementation should use the pNext pointer. 1240 // 1241 // The pNext field is the only field in the sqlite3_vfs 1242 // structure that SQLite will ever modify. SQLite will only access 1243 // or modify this field while holding a particular static mutex. 1244 // The application should never modify anything within the sqlite3_vfs 1245 // object once the object has been registered. 1246 // 1247 // The zName field holds the name of the VFS module. The name must 1248 // be unique across all VFS modules. 1249 // 1250 // [[sqlite3_vfs.xOpen]] 1251 // ^SQLite guarantees that the zFilename parameter to xOpen 1252 // is either a NULL pointer or string obtained 1253 // from xFullPathname() with an optional suffix added. 1254 // ^If a suffix is added to the zFilename parameter, it will 1255 // consist of a single "-" character followed by no more than 1256 // 11 alphanumeric and/or "-" characters. 1257 // ^SQLite further guarantees that 1258 // the string will be valid and unchanged until xClose() is 1259 // called. Because of the previous sentence, 1260 // the [sqlite3_file] can safely store a pointer to the 1261 // filename if it needs to remember the filename for some reason. 1262 // If the zFilename parameter to xOpen is a NULL pointer then xOpen 1263 // must invent its own temporary name for the file. ^Whenever the 1264 // xFilename parameter is NULL it will also be the case that the 1265 // flags parameter will include [SQLITE_OPEN_DELETEONCLOSE]. 1266 // 1267 // The flags argument to xOpen() includes all bits set in 1268 // the flags argument to [sqlite3_open_v2()]. Or if [sqlite3_open()] 1269 // or [sqlite3_open16()] is used, then flags includes at least 1270 // [SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE]. 1271 // If xOpen() opens a file read-only then it sets *pOutFlags to 1272 // include [SQLITE_OPEN_READONLY]. Other bits in *pOutFlags may be set. 1273 // 1274 // ^(SQLite will also add one of the following flags to the xOpen() 1275 // call, depending on the object being opened: 1276 // 1277 // <ul> 1278 // <li> [SQLITE_OPEN_MAIN_DB] 1279 // <li> [SQLITE_OPEN_MAIN_JOURNAL] 1280 // <li> [SQLITE_OPEN_TEMP_DB] 1281 // <li> [SQLITE_OPEN_TEMP_JOURNAL] 1282 // <li> [SQLITE_OPEN_TRANSIENT_DB] 1283 // <li> [SQLITE_OPEN_SUBJOURNAL] 1284 // <li> [SQLITE_OPEN_SUPER_JOURNAL] 1285 // <li> [SQLITE_OPEN_WAL] 1286 // </ul>)^ 1287 // 1288 // The file I/O implementation can use the object type flags to 1289 // change the way it deals with files. For example, an application 1290 // that does not care about crash recovery or rollback might make 1291 // the open of a journal file a no-op. Writes to this journal would 1292 // also be no-ops, and any attempt to read the journal would return 1293 // SQLITE_IOERR. Or the implementation might recognize that a database 1294 // file will be doing page-aligned sector reads and writes in a random 1295 // order and set up its I/O subsystem accordingly. 1296 // 1297 // SQLite might also add one of the following flags to the xOpen method: 1298 // 1299 // <ul> 1300 // <li> [SQLITE_OPEN_DELETEONCLOSE] 1301 // <li> [SQLITE_OPEN_EXCLUSIVE] 1302 // </ul> 1303 // 1304 // The [SQLITE_OPEN_DELETEONCLOSE] flag means the file should be 1305 // deleted when it is closed. ^The [SQLITE_OPEN_DELETEONCLOSE] 1306 // will be set for TEMP databases and their journals, transient 1307 // databases, and subjournals. 1308 // 1309 // ^The [SQLITE_OPEN_EXCLUSIVE] flag is always used in conjunction 1310 // with the [SQLITE_OPEN_CREATE] flag, which are both directly 1311 // analogous to the O_EXCL and O_CREAT flags of the POSIX open() 1312 // API. The SQLITE_OPEN_EXCLUSIVE flag, when paired with the 1313 // SQLITE_OPEN_CREATE, is used to indicate that file should always 1314 // be created, and that it is an error if it already exists. 1315 // It is <i>not</i> used to indicate the file should be opened 1316 // for exclusive access. 1317 // 1318 // ^At least szOsFile bytes of memory are allocated by SQLite 1319 // to hold the [sqlite3_file] structure passed as the third 1320 // argument to xOpen. The xOpen method does not have to 1321 // allocate the structure; it should just fill it in. Note that 1322 // the xOpen method must set the sqlite3_file.pMethods to either 1323 // a valid [sqlite3_io_methods] object or to NULL. xOpen must do 1324 // this even if the open fails. SQLite expects that the sqlite3_file.pMethods 1325 // element will be valid after xOpen returns regardless of the success 1326 // or failure of the xOpen call. 1327 // 1328 // [[sqlite3_vfs.xAccess]] 1329 // ^The flags argument to xAccess() may be [SQLITE_ACCESS_EXISTS] 1330 // to test for the existence of a file, or [SQLITE_ACCESS_READWRITE] to 1331 // test whether a file is readable and writable, or [SQLITE_ACCESS_READ] 1332 // to test whether a file is at least readable. The SQLITE_ACCESS_READ 1333 // flag is never actually used and is not implemented in the built-in 1334 // VFSes of SQLite. The file is named by the second argument and can be a 1335 // directory. The xAccess method returns [SQLITE_OK] on success or some 1336 // non-zero error code if there is an I/O error or if the name of 1337 // the file given in the second argument is illegal. If SQLITE_OK 1338 // is returned, then non-zero or zero is written into *pResOut to indicate 1339 // whether or not the file is accessible. 1340 // 1341 // ^SQLite will always allocate at least mxPathname+1 bytes for the 1342 // output buffer xFullPathname. The exact size of the output buffer 1343 // is also passed as a parameter to both methods. If the output buffer 1344 // is not large enough, [SQLITE_CANTOPEN] should be returned. Since this is 1345 // handled as a fatal error by SQLite, vfs implementations should endeavor 1346 // to prevent this by setting mxPathname to a sufficiently large value. 1347 // 1348 // The xRandomness(), xSleep(), xCurrentTime(), and xCurrentTimeInt64() 1349 // interfaces are not strictly a part of the filesystem, but they are 1350 // included in the VFS structure for completeness. 1351 // The xRandomness() function attempts to return nBytes bytes 1352 // of good-quality randomness into zOut. The return value is 1353 // the actual number of bytes of randomness obtained. 1354 // The xSleep() method causes the calling thread to sleep for at 1355 // least the number of microseconds given. ^The xCurrentTime() 1356 // method returns a Julian Day Number for the current date and time as 1357 // a floating point value. 1358 // ^The xCurrentTimeInt64() method returns, as an integer, the Julian 1359 // Day Number multiplied by 86400000 (the number of milliseconds in 1360 // a 24-hour day). 1361 // ^SQLite will use the xCurrentTimeInt64() method to get the current 1362 // date and time if that method is available (if iVersion is 2 or 1363 // greater and the function pointer is not NULL) and will fall back 1364 // to xCurrentTime() if xCurrentTimeInt64() is unavailable. 1365 // 1366 // ^The xSetSystemCall(), xGetSystemCall(), and xNestSystemCall() interfaces 1367 // are not used by the SQLite core. These optional interfaces are provided 1368 // by some VFSes to facilitate testing of the VFS code. By overriding 1369 // system calls with functions under its control, a test program can 1370 // simulate faults and error conditions that would otherwise be difficult 1371 // or impossible to induce. The set of system calls that can be overridden 1372 // varies from one VFS to another, and from one version of the same VFS to the 1373 // next. Applications that use these interfaces must be prepared for any 1374 // or all of these interfaces to be NULL or for their behavior to change 1375 // from one release to the next. Applications must not attempt to access 1376 // any of these methods if the iVersion of the VFS is less than 3. 1377 type sqlite3_vfs1 = struct { 1378 iVersion int32 1379 szOsFile int32 1380 mxPathname int32 1381 pNext uintptr 1382 zName uintptr 1383 pAppData uintptr 1384 xOpen uintptr 1385 xDelete uintptr 1386 xAccess uintptr 1387 xFullPathname uintptr 1388 xDlOpen uintptr 1389 xDlError uintptr 1390 xDlSym uintptr 1391 xDlClose uintptr 1392 xRandomness uintptr 1393 xSleep uintptr 1394 xCurrentTime uintptr 1395 xGetLastError uintptr 1396 xCurrentTimeInt64 uintptr 1397 xSetSystemCall uintptr 1398 xGetSystemCall uintptr 1399 xNextSystemCall uintptr 1400 } /* sqlite3.h:1367:9 */ 1401 1402 // CAPI3REF: OS Interface Object 1403 // 1404 // An instance of the sqlite3_vfs object defines the interface between 1405 // the SQLite core and the underlying operating system. The "vfs" 1406 // in the name of the object stands for "virtual file system". See 1407 // the [VFS | VFS documentation] for further information. 1408 // 1409 // The VFS interface is sometimes extended by adding new methods onto 1410 // the end. Each time such an extension occurs, the iVersion field 1411 // is incremented. The iVersion value started out as 1 in 1412 // SQLite [version 3.5.0] on [dateof:3.5.0], then increased to 2 1413 // with SQLite [version 3.7.0] on [dateof:3.7.0], and then increased 1414 // to 3 with SQLite [version 3.7.6] on [dateof:3.7.6]. Additional fields 1415 // may be appended to the sqlite3_vfs object and the iVersion value 1416 // may increase again in future versions of SQLite. 1417 // Note that due to an oversight, the structure 1418 // of the sqlite3_vfs object changed in the transition from 1419 // SQLite [version 3.5.9] to [version 3.6.0] on [dateof:3.6.0] 1420 // and yet the iVersion field was not increased. 1421 // 1422 // The szOsFile field is the size of the subclassed [sqlite3_file] 1423 // structure used by this VFS. mxPathname is the maximum length of 1424 // a pathname in this VFS. 1425 // 1426 // Registered sqlite3_vfs objects are kept on a linked list formed by 1427 // the pNext pointer. The [sqlite3_vfs_register()] 1428 // and [sqlite3_vfs_unregister()] interfaces manage this list 1429 // in a thread-safe way. The [sqlite3_vfs_find()] interface 1430 // searches the list. Neither the application code nor the VFS 1431 // implementation should use the pNext pointer. 1432 // 1433 // The pNext field is the only field in the sqlite3_vfs 1434 // structure that SQLite will ever modify. SQLite will only access 1435 // or modify this field while holding a particular static mutex. 1436 // The application should never modify anything within the sqlite3_vfs 1437 // object once the object has been registered. 1438 // 1439 // The zName field holds the name of the VFS module. The name must 1440 // be unique across all VFS modules. 1441 // 1442 // [[sqlite3_vfs.xOpen]] 1443 // ^SQLite guarantees that the zFilename parameter to xOpen 1444 // is either a NULL pointer or string obtained 1445 // from xFullPathname() with an optional suffix added. 1446 // ^If a suffix is added to the zFilename parameter, it will 1447 // consist of a single "-" character followed by no more than 1448 // 11 alphanumeric and/or "-" characters. 1449 // ^SQLite further guarantees that 1450 // the string will be valid and unchanged until xClose() is 1451 // called. Because of the previous sentence, 1452 // the [sqlite3_file] can safely store a pointer to the 1453 // filename if it needs to remember the filename for some reason. 1454 // If the zFilename parameter to xOpen is a NULL pointer then xOpen 1455 // must invent its own temporary name for the file. ^Whenever the 1456 // xFilename parameter is NULL it will also be the case that the 1457 // flags parameter will include [SQLITE_OPEN_DELETEONCLOSE]. 1458 // 1459 // The flags argument to xOpen() includes all bits set in 1460 // the flags argument to [sqlite3_open_v2()]. Or if [sqlite3_open()] 1461 // or [sqlite3_open16()] is used, then flags includes at least 1462 // [SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE]. 1463 // If xOpen() opens a file read-only then it sets *pOutFlags to 1464 // include [SQLITE_OPEN_READONLY]. Other bits in *pOutFlags may be set. 1465 // 1466 // ^(SQLite will also add one of the following flags to the xOpen() 1467 // call, depending on the object being opened: 1468 // 1469 // <ul> 1470 // <li> [SQLITE_OPEN_MAIN_DB] 1471 // <li> [SQLITE_OPEN_MAIN_JOURNAL] 1472 // <li> [SQLITE_OPEN_TEMP_DB] 1473 // <li> [SQLITE_OPEN_TEMP_JOURNAL] 1474 // <li> [SQLITE_OPEN_TRANSIENT_DB] 1475 // <li> [SQLITE_OPEN_SUBJOURNAL] 1476 // <li> [SQLITE_OPEN_SUPER_JOURNAL] 1477 // <li> [SQLITE_OPEN_WAL] 1478 // </ul>)^ 1479 // 1480 // The file I/O implementation can use the object type flags to 1481 // change the way it deals with files. For example, an application 1482 // that does not care about crash recovery or rollback might make 1483 // the open of a journal file a no-op. Writes to this journal would 1484 // also be no-ops, and any attempt to read the journal would return 1485 // SQLITE_IOERR. Or the implementation might recognize that a database 1486 // file will be doing page-aligned sector reads and writes in a random 1487 // order and set up its I/O subsystem accordingly. 1488 // 1489 // SQLite might also add one of the following flags to the xOpen method: 1490 // 1491 // <ul> 1492 // <li> [SQLITE_OPEN_DELETEONCLOSE] 1493 // <li> [SQLITE_OPEN_EXCLUSIVE] 1494 // </ul> 1495 // 1496 // The [SQLITE_OPEN_DELETEONCLOSE] flag means the file should be 1497 // deleted when it is closed. ^The [SQLITE_OPEN_DELETEONCLOSE] 1498 // will be set for TEMP databases and their journals, transient 1499 // databases, and subjournals. 1500 // 1501 // ^The [SQLITE_OPEN_EXCLUSIVE] flag is always used in conjunction 1502 // with the [SQLITE_OPEN_CREATE] flag, which are both directly 1503 // analogous to the O_EXCL and O_CREAT flags of the POSIX open() 1504 // API. The SQLITE_OPEN_EXCLUSIVE flag, when paired with the 1505 // SQLITE_OPEN_CREATE, is used to indicate that file should always 1506 // be created, and that it is an error if it already exists. 1507 // It is <i>not</i> used to indicate the file should be opened 1508 // for exclusive access. 1509 // 1510 // ^At least szOsFile bytes of memory are allocated by SQLite 1511 // to hold the [sqlite3_file] structure passed as the third 1512 // argument to xOpen. The xOpen method does not have to 1513 // allocate the structure; it should just fill it in. Note that 1514 // the xOpen method must set the sqlite3_file.pMethods to either 1515 // a valid [sqlite3_io_methods] object or to NULL. xOpen must do 1516 // this even if the open fails. SQLite expects that the sqlite3_file.pMethods 1517 // element will be valid after xOpen returns regardless of the success 1518 // or failure of the xOpen call. 1519 // 1520 // [[sqlite3_vfs.xAccess]] 1521 // ^The flags argument to xAccess() may be [SQLITE_ACCESS_EXISTS] 1522 // to test for the existence of a file, or [SQLITE_ACCESS_READWRITE] to 1523 // test whether a file is readable and writable, or [SQLITE_ACCESS_READ] 1524 // to test whether a file is at least readable. The SQLITE_ACCESS_READ 1525 // flag is never actually used and is not implemented in the built-in 1526 // VFSes of SQLite. The file is named by the second argument and can be a 1527 // directory. The xAccess method returns [SQLITE_OK] on success or some 1528 // non-zero error code if there is an I/O error or if the name of 1529 // the file given in the second argument is illegal. If SQLITE_OK 1530 // is returned, then non-zero or zero is written into *pResOut to indicate 1531 // whether or not the file is accessible. 1532 // 1533 // ^SQLite will always allocate at least mxPathname+1 bytes for the 1534 // output buffer xFullPathname. The exact size of the output buffer 1535 // is also passed as a parameter to both methods. If the output buffer 1536 // is not large enough, [SQLITE_CANTOPEN] should be returned. Since this is 1537 // handled as a fatal error by SQLite, vfs implementations should endeavor 1538 // to prevent this by setting mxPathname to a sufficiently large value. 1539 // 1540 // The xRandomness(), xSleep(), xCurrentTime(), and xCurrentTimeInt64() 1541 // interfaces are not strictly a part of the filesystem, but they are 1542 // included in the VFS structure for completeness. 1543 // The xRandomness() function attempts to return nBytes bytes 1544 // of good-quality randomness into zOut. The return value is 1545 // the actual number of bytes of randomness obtained. 1546 // The xSleep() method causes the calling thread to sleep for at 1547 // least the number of microseconds given. ^The xCurrentTime() 1548 // method returns a Julian Day Number for the current date and time as 1549 // a floating point value. 1550 // ^The xCurrentTimeInt64() method returns, as an integer, the Julian 1551 // Day Number multiplied by 86400000 (the number of milliseconds in 1552 // a 24-hour day). 1553 // ^SQLite will use the xCurrentTimeInt64() method to get the current 1554 // date and time if that method is available (if iVersion is 2 or 1555 // greater and the function pointer is not NULL) and will fall back 1556 // to xCurrentTime() if xCurrentTimeInt64() is unavailable. 1557 // 1558 // ^The xSetSystemCall(), xGetSystemCall(), and xNestSystemCall() interfaces 1559 // are not used by the SQLite core. These optional interfaces are provided 1560 // by some VFSes to facilitate testing of the VFS code. By overriding 1561 // system calls with functions under its control, a test program can 1562 // simulate faults and error conditions that would otherwise be difficult 1563 // or impossible to induce. The set of system calls that can be overridden 1564 // varies from one VFS to another, and from one version of the same VFS to the 1565 // next. Applications that use these interfaces must be prepared for any 1566 // or all of these interfaces to be NULL or for their behavior to change 1567 // from one release to the next. Applications must not attempt to access 1568 // any of these methods if the iVersion of the VFS is less than 3. 1569 type sqlite3_vfs = sqlite3_vfs1 /* sqlite3.h:1367:28 */ 1570 type sqlite3_syscall_ptr = uintptr /* sqlite3.h:1368:14 */ 1571 1572 // CAPI3REF: Memory Allocation Routines 1573 // 1574 // An instance of this object defines the interface between SQLite 1575 // and low-level memory allocation routines. 1576 // 1577 // This object is used in only one place in the SQLite interface. 1578 // A pointer to an instance of this object is the argument to 1579 // [sqlite3_config()] when the configuration option is 1580 // [SQLITE_CONFIG_MALLOC] or [SQLITE_CONFIG_GETMALLOC]. 1581 // By creating an instance of this object 1582 // and passing it to [sqlite3_config]([SQLITE_CONFIG_MALLOC]) 1583 // during configuration, an application can specify an alternative 1584 // memory allocation subsystem for SQLite to use for all of its 1585 // dynamic memory needs. 1586 // 1587 // Note that SQLite comes with several [built-in memory allocators] 1588 // that are perfectly adequate for the overwhelming majority of applications 1589 // and that this object is only useful to a tiny minority of applications 1590 // with specialized memory allocation requirements. This object is 1591 // also used during testing of SQLite in order to specify an alternative 1592 // memory allocator that simulates memory out-of-memory conditions in 1593 // order to verify that SQLite recovers gracefully from such 1594 // conditions. 1595 // 1596 // The xMalloc, xRealloc, and xFree methods must work like the 1597 // malloc(), realloc() and free() functions from the standard C library. 1598 // ^SQLite guarantees that the second argument to 1599 // xRealloc is always a value returned by a prior call to xRoundup. 1600 // 1601 // xSize should return the allocated size of a memory allocation 1602 // previously obtained from xMalloc or xRealloc. The allocated size 1603 // is always at least as big as the requested size but may be larger. 1604 // 1605 // The xRoundup method returns what would be the allocated size of 1606 // a memory allocation given a particular requested size. Most memory 1607 // allocators round up memory allocations at least to the next multiple 1608 // of 8. Some allocators round up to a larger multiple or to a power of 2. 1609 // Every memory allocation request coming in through [sqlite3_malloc()] 1610 // or [sqlite3_realloc()] first calls xRoundup. If xRoundup returns 0, 1611 // that causes the corresponding memory allocation to fail. 1612 // 1613 // The xInit method initializes the memory allocator. For example, 1614 // it might allocate any required mutexes or initialize internal data 1615 // structures. The xShutdown method is invoked (indirectly) by 1616 // [sqlite3_shutdown()] and should deallocate any resources acquired 1617 // by xInit. The pAppData pointer is used as the only parameter to 1618 // xInit and xShutdown. 1619 // 1620 // SQLite holds the [SQLITE_MUTEX_STATIC_MAIN] mutex when it invokes 1621 // the xInit method, so the xInit method need not be threadsafe. The 1622 // xShutdown method is only called from [sqlite3_shutdown()] so it does 1623 // not need to be threadsafe either. For all other methods, SQLite 1624 // holds the [SQLITE_MUTEX_STATIC_MEM] mutex as long as the 1625 // [SQLITE_CONFIG_MEMSTATUS] configuration option is turned on (which 1626 // it is by default) and so the methods are automatically serialized. 1627 // However, if [SQLITE_CONFIG_MEMSTATUS] is disabled, then the other 1628 // methods must be threadsafe or else make their own arrangements for 1629 // serialization. 1630 // 1631 // SQLite will never invoke xInit() more than once without an intervening 1632 // call to xShutdown(). 1633 type sqlite3_mem_methods1 = struct { 1634 xMalloc uintptr 1635 xFree uintptr 1636 xRealloc uintptr 1637 xSize uintptr 1638 xRoundup uintptr 1639 xInit uintptr 1640 xShutdown uintptr 1641 pAppData uintptr 1642 } /* sqlite3.h:1665:9 */ 1643 1644 // CAPI3REF: Memory Allocation Routines 1645 // 1646 // An instance of this object defines the interface between SQLite 1647 // and low-level memory allocation routines. 1648 // 1649 // This object is used in only one place in the SQLite interface. 1650 // A pointer to an instance of this object is the argument to 1651 // [sqlite3_config()] when the configuration option is 1652 // [SQLITE_CONFIG_MALLOC] or [SQLITE_CONFIG_GETMALLOC]. 1653 // By creating an instance of this object 1654 // and passing it to [sqlite3_config]([SQLITE_CONFIG_MALLOC]) 1655 // during configuration, an application can specify an alternative 1656 // memory allocation subsystem for SQLite to use for all of its 1657 // dynamic memory needs. 1658 // 1659 // Note that SQLite comes with several [built-in memory allocators] 1660 // that are perfectly adequate for the overwhelming majority of applications 1661 // and that this object is only useful to a tiny minority of applications 1662 // with specialized memory allocation requirements. This object is 1663 // also used during testing of SQLite in order to specify an alternative 1664 // memory allocator that simulates memory out-of-memory conditions in 1665 // order to verify that SQLite recovers gracefully from such 1666 // conditions. 1667 // 1668 // The xMalloc, xRealloc, and xFree methods must work like the 1669 // malloc(), realloc() and free() functions from the standard C library. 1670 // ^SQLite guarantees that the second argument to 1671 // xRealloc is always a value returned by a prior call to xRoundup. 1672 // 1673 // xSize should return the allocated size of a memory allocation 1674 // previously obtained from xMalloc or xRealloc. The allocated size 1675 // is always at least as big as the requested size but may be larger. 1676 // 1677 // The xRoundup method returns what would be the allocated size of 1678 // a memory allocation given a particular requested size. Most memory 1679 // allocators round up memory allocations at least to the next multiple 1680 // of 8. Some allocators round up to a larger multiple or to a power of 2. 1681 // Every memory allocation request coming in through [sqlite3_malloc()] 1682 // or [sqlite3_realloc()] first calls xRoundup. If xRoundup returns 0, 1683 // that causes the corresponding memory allocation to fail. 1684 // 1685 // The xInit method initializes the memory allocator. For example, 1686 // it might allocate any required mutexes or initialize internal data 1687 // structures. The xShutdown method is invoked (indirectly) by 1688 // [sqlite3_shutdown()] and should deallocate any resources acquired 1689 // by xInit. The pAppData pointer is used as the only parameter to 1690 // xInit and xShutdown. 1691 // 1692 // SQLite holds the [SQLITE_MUTEX_STATIC_MAIN] mutex when it invokes 1693 // the xInit method, so the xInit method need not be threadsafe. The 1694 // xShutdown method is only called from [sqlite3_shutdown()] so it does 1695 // not need to be threadsafe either. For all other methods, SQLite 1696 // holds the [SQLITE_MUTEX_STATIC_MEM] mutex as long as the 1697 // [SQLITE_CONFIG_MEMSTATUS] configuration option is turned on (which 1698 // it is by default) and so the methods are automatically serialized. 1699 // However, if [SQLITE_CONFIG_MEMSTATUS] is disabled, then the other 1700 // methods must be threadsafe or else make their own arrangements for 1701 // serialization. 1702 // 1703 // SQLite will never invoke xInit() more than once without an intervening 1704 // call to xShutdown(). 1705 type sqlite3_mem_methods = sqlite3_mem_methods1 /* sqlite3.h:1665:36 */ 1706 1707 // CAPI3REF: Constants Defining Special Destructor Behavior 1708 // 1709 // These are special values for the destructor that is passed in as the 1710 // final argument to routines like [sqlite3_result_blob()]. ^If the destructor 1711 // argument is SQLITE_STATIC, it means that the content pointer is constant 1712 // and will never change. It does not need to be destroyed. ^The 1713 // SQLITE_TRANSIENT value means that the content will likely change in 1714 // the near future and that SQLite should make its own private copy of 1715 // the content before returning. 1716 // 1717 // The typedef is necessary to work around problems in certain 1718 // C++ compilers. 1719 type sqlite3_destructor_type = uintptr /* sqlite3.h:5621:14 */ 1720 1721 // The interface to the virtual-table mechanism is currently considered 1722 // to be experimental. The interface might change in incompatible ways. 1723 // If this is a problem for you, do not use the interface at this time. 1724 // 1725 // When the virtual-table mechanism stabilizes, we will declare the 1726 // interface fixed, support it indefinitely, and remove this comment. 1727 1728 // Structures used by the virtual table interface 1729 type sqlite3_vtab1 = struct { 1730 pModule uintptr 1731 nRef int32 1732 zErrMsg uintptr 1733 } /* sqlite3.h:6689:9 */ 1734 1735 // The interface to the virtual-table mechanism is currently considered 1736 // to be experimental. The interface might change in incompatible ways. 1737 // If this is a problem for you, do not use the interface at this time. 1738 // 1739 // When the virtual-table mechanism stabilizes, we will declare the 1740 // interface fixed, support it indefinitely, and remove this comment. 1741 1742 // Structures used by the virtual table interface 1743 type sqlite3_vtab = sqlite3_vtab1 /* sqlite3.h:6689:29 */ 1744 type sqlite3_index_info1 = struct { 1745 nConstraint int32 1746 aConstraint uintptr 1747 nOrderBy int32 1748 aOrderBy uintptr 1749 aConstraintUsage uintptr 1750 idxNum int32 1751 idxStr uintptr 1752 needToFreeIdxStr int32 1753 orderByConsumed int32 1754 _ [4]byte 1755 estimatedCost float64 1756 estimatedRows sqlite3_int64 1757 idxFlags int32 1758 _ [4]byte 1759 colUsed sqlite3_uint64 1760 } /* sqlite3.h:6690:9 */ 1761 1762 type sqlite3_index_info = sqlite3_index_info1 /* sqlite3.h:6690:35 */ 1763 type sqlite3_vtab_cursor1 = struct{ pVtab uintptr } /* sqlite3.h:6691:9 */ 1764 1765 type sqlite3_vtab_cursor = sqlite3_vtab_cursor1 /* sqlite3.h:6691:36 */ 1766 type sqlite3_module1 = struct { 1767 iVersion int32 1768 xCreate uintptr 1769 xConnect uintptr 1770 xBestIndex uintptr 1771 xDisconnect uintptr 1772 xDestroy uintptr 1773 xOpen uintptr 1774 xClose uintptr 1775 xFilter uintptr 1776 xNext uintptr 1777 xEof uintptr 1778 xColumn uintptr 1779 xRowid uintptr 1780 xUpdate uintptr 1781 xBegin uintptr 1782 xSync uintptr 1783 xCommit uintptr 1784 xRollback uintptr 1785 xFindFunction uintptr 1786 xRename uintptr 1787 xSavepoint uintptr 1788 xRelease uintptr 1789 xRollbackTo uintptr 1790 xShadowName uintptr 1791 } /* sqlite3.h:6689:9 */ 1792 1793 type sqlite3_module = sqlite3_module1 /* sqlite3.h:6692:31 */ 1794 1795 // CAPI3REF: Virtual Table Indexing Information 1796 // KEYWORDS: sqlite3_index_info 1797 // 1798 // The sqlite3_index_info structure and its substructures is used as part 1799 // of the [virtual table] interface to 1800 // pass information into and receive the reply from the [xBestIndex] 1801 // method of a [virtual table module]. The fields under **Inputs** are the 1802 // inputs to xBestIndex and are read-only. xBestIndex inserts its 1803 // results into the **Outputs** fields. 1804 // 1805 // ^(The aConstraint[] array records WHERE clause constraints of the form: 1806 // 1807 // <blockquote>column OP expr</blockquote> 1808 // 1809 // where OP is =, <, <=, >, or >=.)^ ^(The particular operator is 1810 // stored in aConstraint[].op using one of the 1811 // [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^ 1812 // ^(The index of the column is stored in 1813 // aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the 1814 // expr on the right-hand side can be evaluated (and thus the constraint 1815 // is usable) and false if it cannot.)^ 1816 // 1817 // ^The optimizer automatically inverts terms of the form "expr OP column" 1818 // and makes other simplifications to the WHERE clause in an attempt to 1819 // get as many WHERE clause terms into the form shown above as possible. 1820 // ^The aConstraint[] array only reports WHERE clause terms that are 1821 // relevant to the particular virtual table being queried. 1822 // 1823 // ^Information about the ORDER BY clause is stored in aOrderBy[]. 1824 // ^Each term of aOrderBy records a column of the ORDER BY clause. 1825 // 1826 // The colUsed field indicates which columns of the virtual table may be 1827 // required by the current scan. Virtual table columns are numbered from 1828 // zero in the order in which they appear within the CREATE TABLE statement 1829 // passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), 1830 // the corresponding bit is set within the colUsed mask if the column may be 1831 // required by SQLite. If the table has at least 64 columns and any column 1832 // to the right of the first 63 is required, then bit 63 of colUsed is also 1833 // set. In other words, column iCol may be required if the expression 1834 // (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to 1835 // non-zero. 1836 // 1837 // The [xBestIndex] method must fill aConstraintUsage[] with information 1838 // about what parameters to pass to xFilter. ^If argvIndex>0 then 1839 // the right-hand side of the corresponding aConstraint[] is evaluated 1840 // and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit 1841 // is true, then the constraint is assumed to be fully handled by the 1842 // virtual table and might not be checked again by the byte code.)^ ^(The 1843 // aConstraintUsage[].omit flag is an optimization hint. When the omit flag 1844 // is left in its default setting of false, the constraint will always be 1845 // checked separately in byte code. If the omit flag is change to true, then 1846 // the constraint may or may not be checked in byte code. In other words, 1847 // when the omit flag is true there is no guarantee that the constraint will 1848 // not be checked again using byte code.)^ 1849 // 1850 // ^The idxNum and idxPtr values are recorded and passed into the 1851 // [xFilter] method. 1852 // ^[sqlite3_free()] is used to free idxPtr if and only if 1853 // needToFreeIdxPtr is true. 1854 // 1855 // ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in 1856 // the correct order to satisfy the ORDER BY clause so that no separate 1857 // sorting step is required. 1858 // 1859 // ^The estimatedCost value is an estimate of the cost of a particular 1860 // strategy. A cost of N indicates that the cost of the strategy is similar 1861 // to a linear scan of an SQLite table with N rows. A cost of log(N) 1862 // indicates that the expense of the operation is similar to that of a 1863 // binary search on a unique indexed field of an SQLite table with N rows. 1864 // 1865 // ^The estimatedRows value is an estimate of the number of rows that 1866 // will be returned by the strategy. 1867 // 1868 // The xBestIndex method may optionally populate the idxFlags field with a 1869 // mask of SQLITE_INDEX_SCAN_* flags. Currently there is only one such flag - 1870 // SQLITE_INDEX_SCAN_UNIQUE. If the xBestIndex method sets this flag, SQLite 1871 // assumes that the strategy may visit at most one row. 1872 // 1873 // Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then 1874 // SQLite also assumes that if a call to the xUpdate() method is made as 1875 // part of the same statement to delete or update a virtual table row and the 1876 // implementation returns SQLITE_CONSTRAINT, then there is no need to rollback 1877 // any database changes. In other words, if the xUpdate() returns 1878 // SQLITE_CONSTRAINT, the database contents must be exactly as they were 1879 // before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not 1880 // set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by 1881 // the xUpdate method are automatically rolled back by SQLite. 1882 // 1883 // IMPORTANT: The estimatedRows field was added to the sqlite3_index_info 1884 // structure for SQLite [version 3.8.2] ([dateof:3.8.2]). 1885 // If a virtual table extension is 1886 // used with an SQLite version earlier than 3.8.2, the results of attempting 1887 // to read or write the estimatedRows field are undefined (but are likely 1888 // to include crashing the application). The estimatedRows field should 1889 // therefore only be used if [sqlite3_libversion_number()] returns a 1890 // value greater than or equal to 3008002. Similarly, the idxFlags field 1891 // was added for [version 3.9.0] ([dateof:3.9.0]). 1892 // It may therefore only be used if 1893 // sqlite3_libversion_number() returns a value greater than or equal to 1894 // 3009000. 1895 type sqlite3_index_constraint = struct { 1896 iColumn int32 1897 op uint8 1898 usable uint8 1899 _ [2]byte 1900 iTermOffset int32 1901 } /* sqlite3.h:6690:9 */ 1902 1903 // CAPI3REF: Virtual Table Indexing Information 1904 // KEYWORDS: sqlite3_index_info 1905 // 1906 // The sqlite3_index_info structure and its substructures is used as part 1907 // of the [virtual table] interface to 1908 // pass information into and receive the reply from the [xBestIndex] 1909 // method of a [virtual table module]. The fields under **Inputs** are the 1910 // inputs to xBestIndex and are read-only. xBestIndex inserts its 1911 // results into the **Outputs** fields. 1912 // 1913 // ^(The aConstraint[] array records WHERE clause constraints of the form: 1914 // 1915 // <blockquote>column OP expr</blockquote> 1916 // 1917 // where OP is =, <, <=, >, or >=.)^ ^(The particular operator is 1918 // stored in aConstraint[].op using one of the 1919 // [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^ 1920 // ^(The index of the column is stored in 1921 // aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the 1922 // expr on the right-hand side can be evaluated (and thus the constraint 1923 // is usable) and false if it cannot.)^ 1924 // 1925 // ^The optimizer automatically inverts terms of the form "expr OP column" 1926 // and makes other simplifications to the WHERE clause in an attempt to 1927 // get as many WHERE clause terms into the form shown above as possible. 1928 // ^The aConstraint[] array only reports WHERE clause terms that are 1929 // relevant to the particular virtual table being queried. 1930 // 1931 // ^Information about the ORDER BY clause is stored in aOrderBy[]. 1932 // ^Each term of aOrderBy records a column of the ORDER BY clause. 1933 // 1934 // The colUsed field indicates which columns of the virtual table may be 1935 // required by the current scan. Virtual table columns are numbered from 1936 // zero in the order in which they appear within the CREATE TABLE statement 1937 // passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), 1938 // the corresponding bit is set within the colUsed mask if the column may be 1939 // required by SQLite. If the table has at least 64 columns and any column 1940 // to the right of the first 63 is required, then bit 63 of colUsed is also 1941 // set. In other words, column iCol may be required if the expression 1942 // (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to 1943 // non-zero. 1944 // 1945 // The [xBestIndex] method must fill aConstraintUsage[] with information 1946 // about what parameters to pass to xFilter. ^If argvIndex>0 then 1947 // the right-hand side of the corresponding aConstraint[] is evaluated 1948 // and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit 1949 // is true, then the constraint is assumed to be fully handled by the 1950 // virtual table and might not be checked again by the byte code.)^ ^(The 1951 // aConstraintUsage[].omit flag is an optimization hint. When the omit flag 1952 // is left in its default setting of false, the constraint will always be 1953 // checked separately in byte code. If the omit flag is change to true, then 1954 // the constraint may or may not be checked in byte code. In other words, 1955 // when the omit flag is true there is no guarantee that the constraint will 1956 // not be checked again using byte code.)^ 1957 // 1958 // ^The idxNum and idxPtr values are recorded and passed into the 1959 // [xFilter] method. 1960 // ^[sqlite3_free()] is used to free idxPtr if and only if 1961 // needToFreeIdxPtr is true. 1962 // 1963 // ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in 1964 // the correct order to satisfy the ORDER BY clause so that no separate 1965 // sorting step is required. 1966 // 1967 // ^The estimatedCost value is an estimate of the cost of a particular 1968 // strategy. A cost of N indicates that the cost of the strategy is similar 1969 // to a linear scan of an SQLite table with N rows. A cost of log(N) 1970 // indicates that the expense of the operation is similar to that of a 1971 // binary search on a unique indexed field of an SQLite table with N rows. 1972 // 1973 // ^The estimatedRows value is an estimate of the number of rows that 1974 // will be returned by the strategy. 1975 // 1976 // The xBestIndex method may optionally populate the idxFlags field with a 1977 // mask of SQLITE_INDEX_SCAN_* flags. Currently there is only one such flag - 1978 // SQLITE_INDEX_SCAN_UNIQUE. If the xBestIndex method sets this flag, SQLite 1979 // assumes that the strategy may visit at most one row. 1980 // 1981 // Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then 1982 // SQLite also assumes that if a call to the xUpdate() method is made as 1983 // part of the same statement to delete or update a virtual table row and the 1984 // implementation returns SQLITE_CONSTRAINT, then there is no need to rollback 1985 // any database changes. In other words, if the xUpdate() returns 1986 // SQLITE_CONSTRAINT, the database contents must be exactly as they were 1987 // before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not 1988 // set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by 1989 // the xUpdate method are automatically rolled back by SQLite. 1990 // 1991 // IMPORTANT: The estimatedRows field was added to the sqlite3_index_info 1992 // structure for SQLite [version 3.8.2] ([dateof:3.8.2]). 1993 // If a virtual table extension is 1994 // used with an SQLite version earlier than 3.8.2, the results of attempting 1995 // to read or write the estimatedRows field are undefined (but are likely 1996 // to include crashing the application). The estimatedRows field should 1997 // therefore only be used if [sqlite3_libversion_number()] returns a 1998 // value greater than or equal to 3008002. Similarly, the idxFlags field 1999 // was added for [version 3.9.0] ([dateof:3.9.0]). 2000 // It may therefore only be used if 2001 // sqlite3_libversion_number() returns a value greater than or equal to 2002 // 3009000. 2003 type sqlite3_index_orderby = struct { 2004 iColumn int32 2005 desc uint8 2006 _ [3]byte 2007 } /* sqlite3.h:6690:9 */ 2008 2009 // CAPI3REF: Virtual Table Indexing Information 2010 // KEYWORDS: sqlite3_index_info 2011 // 2012 // The sqlite3_index_info structure and its substructures is used as part 2013 // of the [virtual table] interface to 2014 // pass information into and receive the reply from the [xBestIndex] 2015 // method of a [virtual table module]. The fields under **Inputs** are the 2016 // inputs to xBestIndex and are read-only. xBestIndex inserts its 2017 // results into the **Outputs** fields. 2018 // 2019 // ^(The aConstraint[] array records WHERE clause constraints of the form: 2020 // 2021 // <blockquote>column OP expr</blockquote> 2022 // 2023 // where OP is =, <, <=, >, or >=.)^ ^(The particular operator is 2024 // stored in aConstraint[].op using one of the 2025 // [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^ 2026 // ^(The index of the column is stored in 2027 // aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the 2028 // expr on the right-hand side can be evaluated (and thus the constraint 2029 // is usable) and false if it cannot.)^ 2030 // 2031 // ^The optimizer automatically inverts terms of the form "expr OP column" 2032 // and makes other simplifications to the WHERE clause in an attempt to 2033 // get as many WHERE clause terms into the form shown above as possible. 2034 // ^The aConstraint[] array only reports WHERE clause terms that are 2035 // relevant to the particular virtual table being queried. 2036 // 2037 // ^Information about the ORDER BY clause is stored in aOrderBy[]. 2038 // ^Each term of aOrderBy records a column of the ORDER BY clause. 2039 // 2040 // The colUsed field indicates which columns of the virtual table may be 2041 // required by the current scan. Virtual table columns are numbered from 2042 // zero in the order in which they appear within the CREATE TABLE statement 2043 // passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), 2044 // the corresponding bit is set within the colUsed mask if the column may be 2045 // required by SQLite. If the table has at least 64 columns and any column 2046 // to the right of the first 63 is required, then bit 63 of colUsed is also 2047 // set. In other words, column iCol may be required if the expression 2048 // (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to 2049 // non-zero. 2050 // 2051 // The [xBestIndex] method must fill aConstraintUsage[] with information 2052 // about what parameters to pass to xFilter. ^If argvIndex>0 then 2053 // the right-hand side of the corresponding aConstraint[] is evaluated 2054 // and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit 2055 // is true, then the constraint is assumed to be fully handled by the 2056 // virtual table and might not be checked again by the byte code.)^ ^(The 2057 // aConstraintUsage[].omit flag is an optimization hint. When the omit flag 2058 // is left in its default setting of false, the constraint will always be 2059 // checked separately in byte code. If the omit flag is change to true, then 2060 // the constraint may or may not be checked in byte code. In other words, 2061 // when the omit flag is true there is no guarantee that the constraint will 2062 // not be checked again using byte code.)^ 2063 // 2064 // ^The idxNum and idxPtr values are recorded and passed into the 2065 // [xFilter] method. 2066 // ^[sqlite3_free()] is used to free idxPtr if and only if 2067 // needToFreeIdxPtr is true. 2068 // 2069 // ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in 2070 // the correct order to satisfy the ORDER BY clause so that no separate 2071 // sorting step is required. 2072 // 2073 // ^The estimatedCost value is an estimate of the cost of a particular 2074 // strategy. A cost of N indicates that the cost of the strategy is similar 2075 // to a linear scan of an SQLite table with N rows. A cost of log(N) 2076 // indicates that the expense of the operation is similar to that of a 2077 // binary search on a unique indexed field of an SQLite table with N rows. 2078 // 2079 // ^The estimatedRows value is an estimate of the number of rows that 2080 // will be returned by the strategy. 2081 // 2082 // The xBestIndex method may optionally populate the idxFlags field with a 2083 // mask of SQLITE_INDEX_SCAN_* flags. Currently there is only one such flag - 2084 // SQLITE_INDEX_SCAN_UNIQUE. If the xBestIndex method sets this flag, SQLite 2085 // assumes that the strategy may visit at most one row. 2086 // 2087 // Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then 2088 // SQLite also assumes that if a call to the xUpdate() method is made as 2089 // part of the same statement to delete or update a virtual table row and the 2090 // implementation returns SQLITE_CONSTRAINT, then there is no need to rollback 2091 // any database changes. In other words, if the xUpdate() returns 2092 // SQLITE_CONSTRAINT, the database contents must be exactly as they were 2093 // before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not 2094 // set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by 2095 // the xUpdate method are automatically rolled back by SQLite. 2096 // 2097 // IMPORTANT: The estimatedRows field was added to the sqlite3_index_info 2098 // structure for SQLite [version 3.8.2] ([dateof:3.8.2]). 2099 // If a virtual table extension is 2100 // used with an SQLite version earlier than 3.8.2, the results of attempting 2101 // to read or write the estimatedRows field are undefined (but are likely 2102 // to include crashing the application). The estimatedRows field should 2103 // therefore only be used if [sqlite3_libversion_number()] returns a 2104 // value greater than or equal to 3008002. Similarly, the idxFlags field 2105 // was added for [version 3.9.0] ([dateof:3.9.0]). 2106 // It may therefore only be used if 2107 // sqlite3_libversion_number() returns a value greater than or equal to 2108 // 3009000. 2109 type sqlite3_index_constraint_usage = struct { 2110 argvIndex int32 2111 omit uint8 2112 _ [3]byte 2113 } /* sqlite3.h:6690:9 */ 2114 2115 // CAPI3REF: Mutex Methods Object 2116 // 2117 // An instance of this structure defines the low-level routines 2118 // used to allocate and use mutexes. 2119 // 2120 // Usually, the default mutex implementations provided by SQLite are 2121 // sufficient, however the application has the option of substituting a custom 2122 // implementation for specialized deployments or systems for which SQLite 2123 // does not provide a suitable implementation. In this case, the application 2124 // creates and populates an instance of this structure to pass 2125 // to sqlite3_config() along with the [SQLITE_CONFIG_MUTEX] option. 2126 // Additionally, an instance of this structure can be used as an 2127 // output variable when querying the system for the current mutex 2128 // implementation, using the [SQLITE_CONFIG_GETMUTEX] option. 2129 // 2130 // ^The xMutexInit method defined by this structure is invoked as 2131 // part of system initialization by the sqlite3_initialize() function. 2132 // ^The xMutexInit routine is called by SQLite exactly once for each 2133 // effective call to [sqlite3_initialize()]. 2134 // 2135 // ^The xMutexEnd method defined by this structure is invoked as 2136 // part of system shutdown by the sqlite3_shutdown() function. The 2137 // implementation of this method is expected to release all outstanding 2138 // resources obtained by the mutex methods implementation, especially 2139 // those obtained by the xMutexInit method. ^The xMutexEnd() 2140 // interface is invoked exactly once for each call to [sqlite3_shutdown()]. 2141 // 2142 // ^(The remaining seven methods defined by this structure (xMutexAlloc, 2143 // xMutexFree, xMutexEnter, xMutexTry, xMutexLeave, xMutexHeld and 2144 // xMutexNotheld) implement the following interfaces (respectively): 2145 // 2146 // <ul> 2147 // <li> [sqlite3_mutex_alloc()] </li> 2148 // <li> [sqlite3_mutex_free()] </li> 2149 // <li> [sqlite3_mutex_enter()] </li> 2150 // <li> [sqlite3_mutex_try()] </li> 2151 // <li> [sqlite3_mutex_leave()] </li> 2152 // <li> [sqlite3_mutex_held()] </li> 2153 // <li> [sqlite3_mutex_notheld()] </li> 2154 // </ul>)^ 2155 // 2156 // The only difference is that the public sqlite3_XXX functions enumerated 2157 // above silently ignore any invocations that pass a NULL pointer instead 2158 // of a valid mutex handle. The implementations of the methods defined 2159 // by this structure are not required to handle this case. The results 2160 // of passing a NULL pointer instead of a valid mutex handle are undefined 2161 // (i.e. it is acceptable to provide an implementation that segfaults if 2162 // it is passed a NULL pointer). 2163 // 2164 // The xMutexInit() method must be threadsafe. It must be harmless to 2165 // invoke xMutexInit() multiple times within the same process and without 2166 // intervening calls to xMutexEnd(). Second and subsequent calls to 2167 // xMutexInit() must be no-ops. 2168 // 2169 // xMutexInit() must not use SQLite memory allocation ([sqlite3_malloc()] 2170 // and its associates). Similarly, xMutexAlloc() must not use SQLite memory 2171 // allocation for a static mutex. ^However xMutexAlloc() may use SQLite 2172 // memory allocation for a fast or recursive mutex. 2173 // 2174 // ^SQLite will invoke the xMutexEnd() method when [sqlite3_shutdown()] is 2175 // called, but only if the prior call to xMutexInit returned SQLITE_OK. 2176 // If xMutexInit fails in any way, it is expected to clean up after itself 2177 // prior to returning. 2178 type sqlite3_mutex_methods1 = struct { 2179 xMutexInit uintptr 2180 xMutexEnd uintptr 2181 xMutexAlloc uintptr 2182 xMutexFree uintptr 2183 xMutexEnter uintptr 2184 xMutexTry uintptr 2185 xMutexLeave uintptr 2186 xMutexHeld uintptr 2187 xMutexNotheld uintptr 2188 } /* sqlite3.h:7524:9 */ 2189 2190 // CAPI3REF: Mutex Methods Object 2191 // 2192 // An instance of this structure defines the low-level routines 2193 // used to allocate and use mutexes. 2194 // 2195 // Usually, the default mutex implementations provided by SQLite are 2196 // sufficient, however the application has the option of substituting a custom 2197 // implementation for specialized deployments or systems for which SQLite 2198 // does not provide a suitable implementation. In this case, the application 2199 // creates and populates an instance of this structure to pass 2200 // to sqlite3_config() along with the [SQLITE_CONFIG_MUTEX] option. 2201 // Additionally, an instance of this structure can be used as an 2202 // output variable when querying the system for the current mutex 2203 // implementation, using the [SQLITE_CONFIG_GETMUTEX] option. 2204 // 2205 // ^The xMutexInit method defined by this structure is invoked as 2206 // part of system initialization by the sqlite3_initialize() function. 2207 // ^The xMutexInit routine is called by SQLite exactly once for each 2208 // effective call to [sqlite3_initialize()]. 2209 // 2210 // ^The xMutexEnd method defined by this structure is invoked as 2211 // part of system shutdown by the sqlite3_shutdown() function. The 2212 // implementation of this method is expected to release all outstanding 2213 // resources obtained by the mutex methods implementation, especially 2214 // those obtained by the xMutexInit method. ^The xMutexEnd() 2215 // interface is invoked exactly once for each call to [sqlite3_shutdown()]. 2216 // 2217 // ^(The remaining seven methods defined by this structure (xMutexAlloc, 2218 // xMutexFree, xMutexEnter, xMutexTry, xMutexLeave, xMutexHeld and 2219 // xMutexNotheld) implement the following interfaces (respectively): 2220 // 2221 // <ul> 2222 // <li> [sqlite3_mutex_alloc()] </li> 2223 // <li> [sqlite3_mutex_free()] </li> 2224 // <li> [sqlite3_mutex_enter()] </li> 2225 // <li> [sqlite3_mutex_try()] </li> 2226 // <li> [sqlite3_mutex_leave()] </li> 2227 // <li> [sqlite3_mutex_held()] </li> 2228 // <li> [sqlite3_mutex_notheld()] </li> 2229 // </ul>)^ 2230 // 2231 // The only difference is that the public sqlite3_XXX functions enumerated 2232 // above silently ignore any invocations that pass a NULL pointer instead 2233 // of a valid mutex handle. The implementations of the methods defined 2234 // by this structure are not required to handle this case. The results 2235 // of passing a NULL pointer instead of a valid mutex handle are undefined 2236 // (i.e. it is acceptable to provide an implementation that segfaults if 2237 // it is passed a NULL pointer). 2238 // 2239 // The xMutexInit() method must be threadsafe. It must be harmless to 2240 // invoke xMutexInit() multiple times within the same process and without 2241 // intervening calls to xMutexEnd(). Second and subsequent calls to 2242 // xMutexInit() must be no-ops. 2243 // 2244 // xMutexInit() must not use SQLite memory allocation ([sqlite3_malloc()] 2245 // and its associates). Similarly, xMutexAlloc() must not use SQLite memory 2246 // allocation for a static mutex. ^However xMutexAlloc() may use SQLite 2247 // memory allocation for a fast or recursive mutex. 2248 // 2249 // ^SQLite will invoke the xMutexEnd() method when [sqlite3_shutdown()] is 2250 // called, but only if the prior call to xMutexInit returned SQLITE_OK. 2251 // If xMutexInit fails in any way, it is expected to clean up after itself 2252 // prior to returning. 2253 type sqlite3_mutex_methods = sqlite3_mutex_methods1 /* sqlite3.h:7524:38 */ 2254 2255 // CAPI3REF: Custom Page Cache Object 2256 // 2257 // The sqlite3_pcache_page object represents a single page in the 2258 // page cache. The page cache will allocate instances of this 2259 // object. Various methods of the page cache use pointers to instances 2260 // of this object as parameters or as their return value. 2261 // 2262 // See [sqlite3_pcache_methods2] for additional information. 2263 type sqlite3_pcache_page1 = struct { 2264 pBuf uintptr 2265 pExtra uintptr 2266 } /* sqlite3.h:8277:9 */ 2267 2268 // CAPI3REF: Custom Page Cache Object 2269 // 2270 // The sqlite3_pcache_page object represents a single page in the 2271 // page cache. The page cache will allocate instances of this 2272 // object. Various methods of the page cache use pointers to instances 2273 // of this object as parameters or as their return value. 2274 // 2275 // See [sqlite3_pcache_methods2] for additional information. 2276 type sqlite3_pcache_page = sqlite3_pcache_page1 /* sqlite3.h:8277:36 */ 2277 2278 // CAPI3REF: Application Defined Page Cache. 2279 // KEYWORDS: {page cache} 2280 // 2281 // ^(The [sqlite3_config]([SQLITE_CONFIG_PCACHE2], ...) interface can 2282 // register an alternative page cache implementation by passing in an 2283 // instance of the sqlite3_pcache_methods2 structure.)^ 2284 // In many applications, most of the heap memory allocated by 2285 // SQLite is used for the page cache. 2286 // By implementing a 2287 // custom page cache using this API, an application can better control 2288 // the amount of memory consumed by SQLite, the way in which 2289 // that memory is allocated and released, and the policies used to 2290 // determine exactly which parts of a database file are cached and for 2291 // how long. 2292 // 2293 // The alternative page cache mechanism is an 2294 // extreme measure that is only needed by the most demanding applications. 2295 // The built-in page cache is recommended for most uses. 2296 // 2297 // ^(The contents of the sqlite3_pcache_methods2 structure are copied to an 2298 // internal buffer by SQLite within the call to [sqlite3_config]. Hence 2299 // the application may discard the parameter after the call to 2300 // [sqlite3_config()] returns.)^ 2301 // 2302 // [[the xInit() page cache method]] 2303 // ^(The xInit() method is called once for each effective 2304 // call to [sqlite3_initialize()])^ 2305 // (usually only once during the lifetime of the process). ^(The xInit() 2306 // method is passed a copy of the sqlite3_pcache_methods2.pArg value.)^ 2307 // The intent of the xInit() method is to set up global data structures 2308 // required by the custom page cache implementation. 2309 // ^(If the xInit() method is NULL, then the 2310 // built-in default page cache is used instead of the application defined 2311 // page cache.)^ 2312 // 2313 // [[the xShutdown() page cache method]] 2314 // ^The xShutdown() method is called by [sqlite3_shutdown()]. 2315 // It can be used to clean up 2316 // any outstanding resources before process shutdown, if required. 2317 // ^The xShutdown() method may be NULL. 2318 // 2319 // ^SQLite automatically serializes calls to the xInit method, 2320 // so the xInit method need not be threadsafe. ^The 2321 // xShutdown method is only called from [sqlite3_shutdown()] so it does 2322 // not need to be threadsafe either. All other methods must be threadsafe 2323 // in multithreaded applications. 2324 // 2325 // ^SQLite will never invoke xInit() more than once without an intervening 2326 // call to xShutdown(). 2327 // 2328 // [[the xCreate() page cache methods]] 2329 // ^SQLite invokes the xCreate() method to construct a new cache instance. 2330 // SQLite will typically create one cache instance for each open database file, 2331 // though this is not guaranteed. ^The 2332 // first parameter, szPage, is the size in bytes of the pages that must 2333 // be allocated by the cache. ^szPage will always a power of two. ^The 2334 // second parameter szExtra is a number of bytes of extra storage 2335 // associated with each page cache entry. ^The szExtra parameter will 2336 // a number less than 250. SQLite will use the 2337 // extra szExtra bytes on each page to store metadata about the underlying 2338 // database page on disk. The value passed into szExtra depends 2339 // on the SQLite version, the target platform, and how SQLite was compiled. 2340 // ^The third argument to xCreate(), bPurgeable, is true if the cache being 2341 // created will be used to cache database pages of a file stored on disk, or 2342 // false if it is used for an in-memory database. The cache implementation 2343 // does not have to do anything special based with the value of bPurgeable; 2344 // it is purely advisory. ^On a cache where bPurgeable is false, SQLite will 2345 // never invoke xUnpin() except to deliberately delete a page. 2346 // ^In other words, calls to xUnpin() on a cache with bPurgeable set to 2347 // false will always have the "discard" flag set to true. 2348 // ^Hence, a cache created with bPurgeable false will 2349 // never contain any unpinned pages. 2350 // 2351 // [[the xCachesize() page cache method]] 2352 // ^(The xCachesize() method may be called at any time by SQLite to set the 2353 // suggested maximum cache-size (number of pages stored by) the cache 2354 // instance passed as the first argument. This is the value configured using 2355 // the SQLite "[PRAGMA cache_size]" command.)^ As with the bPurgeable 2356 // parameter, the implementation is not required to do anything with this 2357 // value; it is advisory only. 2358 // 2359 // [[the xPagecount() page cache methods]] 2360 // The xPagecount() method must return the number of pages currently 2361 // stored in the cache, both pinned and unpinned. 2362 // 2363 // [[the xFetch() page cache methods]] 2364 // The xFetch() method locates a page in the cache and returns a pointer to 2365 // an sqlite3_pcache_page object associated with that page, or a NULL pointer. 2366 // The pBuf element of the returned sqlite3_pcache_page object will be a 2367 // pointer to a buffer of szPage bytes used to store the content of a 2368 // single database page. The pExtra element of sqlite3_pcache_page will be 2369 // a pointer to the szExtra bytes of extra storage that SQLite has requested 2370 // for each entry in the page cache. 2371 // 2372 // The page to be fetched is determined by the key. ^The minimum key value 2373 // is 1. After it has been retrieved using xFetch, the page is considered 2374 // to be "pinned". 2375 // 2376 // If the requested page is already in the page cache, then the page cache 2377 // implementation must return a pointer to the page buffer with its content 2378 // intact. If the requested page is not already in the cache, then the 2379 // cache implementation should use the value of the createFlag 2380 // parameter to help it determined what action to take: 2381 // 2382 // <table border=1 width=85% align=center> 2383 // <tr><th> createFlag <th> Behavior when page is not already in cache 2384 // <tr><td> 0 <td> Do not allocate a new page. Return NULL. 2385 // <tr><td> 1 <td> Allocate a new page if it easy and convenient to do so. 2386 // Otherwise return NULL. 2387 // <tr><td> 2 <td> Make every effort to allocate a new page. Only return 2388 // NULL if allocating a new page is effectively impossible. 2389 // </table> 2390 // 2391 // ^(SQLite will normally invoke xFetch() with a createFlag of 0 or 1. SQLite 2392 // will only use a createFlag of 2 after a prior call with a createFlag of 1 2393 // failed.)^ In between the xFetch() calls, SQLite may 2394 // attempt to unpin one or more cache pages by spilling the content of 2395 // pinned pages to disk and synching the operating system disk cache. 2396 // 2397 // [[the xUnpin() page cache method]] 2398 // ^xUnpin() is called by SQLite with a pointer to a currently pinned page 2399 // as its second argument. If the third parameter, discard, is non-zero, 2400 // then the page must be evicted from the cache. 2401 // ^If the discard parameter is 2402 // zero, then the page may be discarded or retained at the discretion of 2403 // page cache implementation. ^The page cache implementation 2404 // may choose to evict unpinned pages at any time. 2405 // 2406 // The cache must not perform any reference counting. A single 2407 // call to xUnpin() unpins the page regardless of the number of prior calls 2408 // to xFetch(). 2409 // 2410 // [[the xRekey() page cache methods]] 2411 // The xRekey() method is used to change the key value associated with the 2412 // page passed as the second argument. If the cache 2413 // previously contains an entry associated with newKey, it must be 2414 // discarded. ^Any prior cache entry associated with newKey is guaranteed not 2415 // to be pinned. 2416 // 2417 // When SQLite calls the xTruncate() method, the cache must discard all 2418 // existing cache entries with page numbers (keys) greater than or equal 2419 // to the value of the iLimit parameter passed to xTruncate(). If any 2420 // of these pages are pinned, they are implicitly unpinned, meaning that 2421 // they can be safely discarded. 2422 // 2423 // [[the xDestroy() page cache method]] 2424 // ^The xDestroy() method is used to delete a cache allocated by xCreate(). 2425 // All resources associated with the specified cache should be freed. ^After 2426 // calling the xDestroy() method, SQLite considers the [sqlite3_pcache*] 2427 // handle invalid, and will not use it with any other sqlite3_pcache_methods2 2428 // functions. 2429 // 2430 // [[the xShrink() page cache method]] 2431 // ^SQLite invokes the xShrink() method when it wants the page cache to 2432 // free up as much of heap memory as possible. The page cache implementation 2433 // is not obligated to free any memory, but well-behaved implementations should 2434 // do their best. 2435 type sqlite3_pcache_methods21 = struct { 2436 iVersion int32 2437 pArg uintptr 2438 xInit uintptr 2439 xShutdown uintptr 2440 xCreate uintptr 2441 xCachesize uintptr 2442 xPagecount uintptr 2443 xFetch uintptr 2444 xUnpin uintptr 2445 xRekey uintptr 2446 xTruncate uintptr 2447 xDestroy uintptr 2448 xShrink uintptr 2449 } /* sqlite3.h:8442:9 */ 2450 2451 // CAPI3REF: Application Defined Page Cache. 2452 // KEYWORDS: {page cache} 2453 // 2454 // ^(The [sqlite3_config]([SQLITE_CONFIG_PCACHE2], ...) interface can 2455 // register an alternative page cache implementation by passing in an 2456 // instance of the sqlite3_pcache_methods2 structure.)^ 2457 // In many applications, most of the heap memory allocated by 2458 // SQLite is used for the page cache. 2459 // By implementing a 2460 // custom page cache using this API, an application can better control 2461 // the amount of memory consumed by SQLite, the way in which 2462 // that memory is allocated and released, and the policies used to 2463 // determine exactly which parts of a database file are cached and for 2464 // how long. 2465 // 2466 // The alternative page cache mechanism is an 2467 // extreme measure that is only needed by the most demanding applications. 2468 // The built-in page cache is recommended for most uses. 2469 // 2470 // ^(The contents of the sqlite3_pcache_methods2 structure are copied to an 2471 // internal buffer by SQLite within the call to [sqlite3_config]. Hence 2472 // the application may discard the parameter after the call to 2473 // [sqlite3_config()] returns.)^ 2474 // 2475 // [[the xInit() page cache method]] 2476 // ^(The xInit() method is called once for each effective 2477 // call to [sqlite3_initialize()])^ 2478 // (usually only once during the lifetime of the process). ^(The xInit() 2479 // method is passed a copy of the sqlite3_pcache_methods2.pArg value.)^ 2480 // The intent of the xInit() method is to set up global data structures 2481 // required by the custom page cache implementation. 2482 // ^(If the xInit() method is NULL, then the 2483 // built-in default page cache is used instead of the application defined 2484 // page cache.)^ 2485 // 2486 // [[the xShutdown() page cache method]] 2487 // ^The xShutdown() method is called by [sqlite3_shutdown()]. 2488 // It can be used to clean up 2489 // any outstanding resources before process shutdown, if required. 2490 // ^The xShutdown() method may be NULL. 2491 // 2492 // ^SQLite automatically serializes calls to the xInit method, 2493 // so the xInit method need not be threadsafe. ^The 2494 // xShutdown method is only called from [sqlite3_shutdown()] so it does 2495 // not need to be threadsafe either. All other methods must be threadsafe 2496 // in multithreaded applications. 2497 // 2498 // ^SQLite will never invoke xInit() more than once without an intervening 2499 // call to xShutdown(). 2500 // 2501 // [[the xCreate() page cache methods]] 2502 // ^SQLite invokes the xCreate() method to construct a new cache instance. 2503 // SQLite will typically create one cache instance for each open database file, 2504 // though this is not guaranteed. ^The 2505 // first parameter, szPage, is the size in bytes of the pages that must 2506 // be allocated by the cache. ^szPage will always a power of two. ^The 2507 // second parameter szExtra is a number of bytes of extra storage 2508 // associated with each page cache entry. ^The szExtra parameter will 2509 // a number less than 250. SQLite will use the 2510 // extra szExtra bytes on each page to store metadata about the underlying 2511 // database page on disk. The value passed into szExtra depends 2512 // on the SQLite version, the target platform, and how SQLite was compiled. 2513 // ^The third argument to xCreate(), bPurgeable, is true if the cache being 2514 // created will be used to cache database pages of a file stored on disk, or 2515 // false if it is used for an in-memory database. The cache implementation 2516 // does not have to do anything special based with the value of bPurgeable; 2517 // it is purely advisory. ^On a cache where bPurgeable is false, SQLite will 2518 // never invoke xUnpin() except to deliberately delete a page. 2519 // ^In other words, calls to xUnpin() on a cache with bPurgeable set to 2520 // false will always have the "discard" flag set to true. 2521 // ^Hence, a cache created with bPurgeable false will 2522 // never contain any unpinned pages. 2523 // 2524 // [[the xCachesize() page cache method]] 2525 // ^(The xCachesize() method may be called at any time by SQLite to set the 2526 // suggested maximum cache-size (number of pages stored by) the cache 2527 // instance passed as the first argument. This is the value configured using 2528 // the SQLite "[PRAGMA cache_size]" command.)^ As with the bPurgeable 2529 // parameter, the implementation is not required to do anything with this 2530 // value; it is advisory only. 2531 // 2532 // [[the xPagecount() page cache methods]] 2533 // The xPagecount() method must return the number of pages currently 2534 // stored in the cache, both pinned and unpinned. 2535 // 2536 // [[the xFetch() page cache methods]] 2537 // The xFetch() method locates a page in the cache and returns a pointer to 2538 // an sqlite3_pcache_page object associated with that page, or a NULL pointer. 2539 // The pBuf element of the returned sqlite3_pcache_page object will be a 2540 // pointer to a buffer of szPage bytes used to store the content of a 2541 // single database page. The pExtra element of sqlite3_pcache_page will be 2542 // a pointer to the szExtra bytes of extra storage that SQLite has requested 2543 // for each entry in the page cache. 2544 // 2545 // The page to be fetched is determined by the key. ^The minimum key value 2546 // is 1. After it has been retrieved using xFetch, the page is considered 2547 // to be "pinned". 2548 // 2549 // If the requested page is already in the page cache, then the page cache 2550 // implementation must return a pointer to the page buffer with its content 2551 // intact. If the requested page is not already in the cache, then the 2552 // cache implementation should use the value of the createFlag 2553 // parameter to help it determined what action to take: 2554 // 2555 // <table border=1 width=85% align=center> 2556 // <tr><th> createFlag <th> Behavior when page is not already in cache 2557 // <tr><td> 0 <td> Do not allocate a new page. Return NULL. 2558 // <tr><td> 1 <td> Allocate a new page if it easy and convenient to do so. 2559 // Otherwise return NULL. 2560 // <tr><td> 2 <td> Make every effort to allocate a new page. Only return 2561 // NULL if allocating a new page is effectively impossible. 2562 // </table> 2563 // 2564 // ^(SQLite will normally invoke xFetch() with a createFlag of 0 or 1. SQLite 2565 // will only use a createFlag of 2 after a prior call with a createFlag of 1 2566 // failed.)^ In between the xFetch() calls, SQLite may 2567 // attempt to unpin one or more cache pages by spilling the content of 2568 // pinned pages to disk and synching the operating system disk cache. 2569 // 2570 // [[the xUnpin() page cache method]] 2571 // ^xUnpin() is called by SQLite with a pointer to a currently pinned page 2572 // as its second argument. If the third parameter, discard, is non-zero, 2573 // then the page must be evicted from the cache. 2574 // ^If the discard parameter is 2575 // zero, then the page may be discarded or retained at the discretion of 2576 // page cache implementation. ^The page cache implementation 2577 // may choose to evict unpinned pages at any time. 2578 // 2579 // The cache must not perform any reference counting. A single 2580 // call to xUnpin() unpins the page regardless of the number of prior calls 2581 // to xFetch(). 2582 // 2583 // [[the xRekey() page cache methods]] 2584 // The xRekey() method is used to change the key value associated with the 2585 // page passed as the second argument. If the cache 2586 // previously contains an entry associated with newKey, it must be 2587 // discarded. ^Any prior cache entry associated with newKey is guaranteed not 2588 // to be pinned. 2589 // 2590 // When SQLite calls the xTruncate() method, the cache must discard all 2591 // existing cache entries with page numbers (keys) greater than or equal 2592 // to the value of the iLimit parameter passed to xTruncate(). If any 2593 // of these pages are pinned, they are implicitly unpinned, meaning that 2594 // they can be safely discarded. 2595 // 2596 // [[the xDestroy() page cache method]] 2597 // ^The xDestroy() method is used to delete a cache allocated by xCreate(). 2598 // All resources associated with the specified cache should be freed. ^After 2599 // calling the xDestroy() method, SQLite considers the [sqlite3_pcache*] 2600 // handle invalid, and will not use it with any other sqlite3_pcache_methods2 2601 // functions. 2602 // 2603 // [[the xShrink() page cache method]] 2604 // ^SQLite invokes the xShrink() method when it wants the page cache to 2605 // free up as much of heap memory as possible. The page cache implementation 2606 // is not obligated to free any memory, but well-behaved implementations should 2607 // do their best. 2608 type sqlite3_pcache_methods2 = sqlite3_pcache_methods21 /* sqlite3.h:8442:40 */ 2609 2610 // This is the obsolete pcache_methods object that has now been replaced 2611 // by sqlite3_pcache_methods2. This object is not used by SQLite. It is 2612 // retained in the header file for backwards compatibility only. 2613 type sqlite3_pcache_methods1 = struct { 2614 pArg uintptr 2615 xInit uintptr 2616 xShutdown uintptr 2617 xCreate uintptr 2618 xCachesize uintptr 2619 xPagecount uintptr 2620 xFetch uintptr 2621 xUnpin uintptr 2622 xRekey uintptr 2623 xTruncate uintptr 2624 xDestroy uintptr 2625 } /* sqlite3.h:8465:9 */ 2626 2627 // This is the obsolete pcache_methods object that has now been replaced 2628 // by sqlite3_pcache_methods2. This object is not used by SQLite. It is 2629 // retained in the header file for backwards compatibility only. 2630 type sqlite3_pcache_methods = sqlite3_pcache_methods1 /* sqlite3.h:8465:39 */ 2631 2632 // CAPI3REF: Database Snapshot 2633 // KEYWORDS: {snapshot} {sqlite3_snapshot} 2634 // 2635 // An instance of the snapshot object records the state of a [WAL mode] 2636 // database for some specific point in history. 2637 // 2638 // In [WAL mode], multiple [database connections] that are open on the 2639 // same database file can each be reading a different historical version 2640 // of the database file. When a [database connection] begins a read 2641 // transaction, that connection sees an unchanging copy of the database 2642 // as it existed for the point in time when the transaction first started. 2643 // Subsequent changes to the database from other connections are not seen 2644 // by the reader until a new read transaction is started. 2645 // 2646 // The sqlite3_snapshot object records state information about an historical 2647 // version of the database file so that it is possible to later open a new read 2648 // transaction that sees that historical version of the database rather than 2649 // the most recent version. 2650 type sqlite3_snapshot1 = struct{ hidden [48]uint8 } /* sqlite3.h:9512:9 */ 2651 2652 // CAPI3REF: Database Snapshot 2653 // KEYWORDS: {snapshot} {sqlite3_snapshot} 2654 // 2655 // An instance of the snapshot object records the state of a [WAL mode] 2656 // database for some specific point in history. 2657 // 2658 // In [WAL mode], multiple [database connections] that are open on the 2659 // same database file can each be reading a different historical version 2660 // of the database file. When a [database connection] begins a read 2661 // transaction, that connection sees an unchanging copy of the database 2662 // as it existed for the point in time when the transaction first started. 2663 // Subsequent changes to the database from other connections are not seen 2664 // by the reader until a new read transaction is started. 2665 // 2666 // The sqlite3_snapshot object records state information about an historical 2667 // version of the database file so that it is possible to later open a new read 2668 // transaction that sees that historical version of the database rather than 2669 // the most recent version. 2670 type sqlite3_snapshot = sqlite3_snapshot1 /* sqlite3.h:9514:3 */ 2671 2672 // CAPI3REF: Flags for sqlite3_deserialize() 2673 // 2674 // The following are allowed values for 6th argument (the F argument) to 2675 // the [sqlite3_deserialize(D,S,P,N,M,F)] interface. 2676 // 2677 // The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization 2678 // in the P argument is held in memory obtained from [sqlite3_malloc64()] 2679 // and that SQLite should take ownership of this memory and automatically 2680 // free it when it has finished using it. Without this flag, the caller 2681 // is responsible for freeing any dynamically allocated memory. 2682 // 2683 // The SQLITE_DESERIALIZE_RESIZEABLE flag means that SQLite is allowed to 2684 // grow the size of the database using calls to [sqlite3_realloc64()]. This 2685 // flag should only be used if SQLITE_DESERIALIZE_FREEONCLOSE is also used. 2686 // Without this flag, the deserialized database cannot increase in size beyond 2687 // the number of bytes specified by the M parameter. 2688 // 2689 // The SQLITE_DESERIALIZE_READONLY flag means that the deserialized database 2690 // should be treated as read-only. 2691 2692 // Undo the hack that converts floating point types to integer for 2693 // builds on processors without floating point support. 2694 2695 //******* Begin file sqlite3rtree.h ******** 2696 // 2010 August 30 2697 // 2698 // The author disclaims copyright to this source code. In place of 2699 // a legal notice, here is a blessing: 2700 // 2701 // May you do good and not evil. 2702 // May you find forgiveness for yourself and forgive others. 2703 // May you share freely, never taking more than you give. 2704 // 2705 // 2706 2707 type sqlite3_rtree_geometry1 = struct { 2708 pContext uintptr 2709 nParam int32 2710 aParam uintptr 2711 pUser uintptr 2712 xDelUser uintptr 2713 } /* sqlite3.h:9839:9 */ 2714 2715 // CAPI3REF: Flags for sqlite3_deserialize() 2716 // 2717 // The following are allowed values for 6th argument (the F argument) to 2718 // the [sqlite3_deserialize(D,S,P,N,M,F)] interface. 2719 // 2720 // The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization 2721 // in the P argument is held in memory obtained from [sqlite3_malloc64()] 2722 // and that SQLite should take ownership of this memory and automatically 2723 // free it when it has finished using it. Without this flag, the caller 2724 // is responsible for freeing any dynamically allocated memory. 2725 // 2726 // The SQLITE_DESERIALIZE_RESIZEABLE flag means that SQLite is allowed to 2727 // grow the size of the database using calls to [sqlite3_realloc64()]. This 2728 // flag should only be used if SQLITE_DESERIALIZE_FREEONCLOSE is also used. 2729 // Without this flag, the deserialized database cannot increase in size beyond 2730 // the number of bytes specified by the M parameter. 2731 // 2732 // The SQLITE_DESERIALIZE_READONLY flag means that the deserialized database 2733 // should be treated as read-only. 2734 2735 // Undo the hack that converts floating point types to integer for 2736 // builds on processors without floating point support. 2737 2738 //******* Begin file sqlite3rtree.h ******** 2739 // 2010 August 30 2740 // 2741 // The author disclaims copyright to this source code. In place of 2742 // a legal notice, here is a blessing: 2743 // 2744 // May you do good and not evil. 2745 // May you find forgiveness for yourself and forgive others. 2746 // May you share freely, never taking more than you give. 2747 // 2748 // 2749 2750 type sqlite3_rtree_geometry = sqlite3_rtree_geometry1 /* sqlite3.h:9839:39 */ 2751 type sqlite3_rtree_query_info1 = struct { 2752 pContext uintptr 2753 nParam int32 2754 aParam uintptr 2755 pUser uintptr 2756 xDelUser uintptr 2757 aCoord uintptr 2758 anQueue uintptr 2759 nCoord int32 2760 iLevel int32 2761 mxLevel int32 2762 iRowid sqlite3_int64 2763 rParentScore sqlite3_rtree_dbl 2764 eParentWithin int32 2765 eWithin int32 2766 rScore sqlite3_rtree_dbl 2767 apSqlParam uintptr 2768 _ [4]byte 2769 } /* sqlite3.h:9840:9 */ 2770 2771 type sqlite3_rtree_query_info = sqlite3_rtree_query_info1 /* sqlite3.h:9840:41 */ 2772 2773 // The double-precision datatype used by RTree depends on the 2774 // SQLITE_RTREE_INT_ONLY compile-time option. 2775 type sqlite3_rtree_dbl = float64 /* sqlite3.h:9848:18 */ 2776 2777 // Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. 2778 2779 //******* End of sqlite3rtree.h ******** 2780 //******* Begin file sqlite3session.h ******** 2781 2782 //******* End of sqlite3session.h ******** 2783 //******* Begin file fts5.h ******** 2784 // 2014 May 31 2785 // 2786 // The author disclaims copyright to this source code. In place of 2787 // a legal notice, here is a blessing: 2788 // 2789 // May you do good and not evil. 2790 // May you find forgiveness for yourself and forgive others. 2791 // May you share freely, never taking more than you give. 2792 // 2793 // 2794 // 2795 // Interfaces to extend FTS5. Using the interfaces defined in this file, 2796 // FTS5 may be extended with: 2797 // 2798 // * custom tokenizers, and 2799 // * custom auxiliary functions. 2800 2801 // ************************************************************************ 2802 // 2803 // CUSTOM AUXILIARY FUNCTIONS 2804 // 2805 // Virtual table implementations may overload SQL functions by implementing 2806 // the sqlite3_module.xFindFunction() method. 2807 2808 type Fts5ExtensionApi1 = struct { 2809 iVersion int32 2810 xUserData uintptr 2811 xColumnCount uintptr 2812 xRowCount uintptr 2813 xColumnTotalSize uintptr 2814 xTokenize uintptr 2815 xPhraseCount uintptr 2816 xPhraseSize uintptr 2817 xInstCount uintptr 2818 xInst uintptr 2819 xRowid uintptr 2820 xColumnText uintptr 2821 xColumnSize uintptr 2822 xQueryPhrase uintptr 2823 xSetAuxdata uintptr 2824 xGetAuxdata uintptr 2825 xPhraseFirst uintptr 2826 xPhraseNext uintptr 2827 xPhraseFirstColumn uintptr 2828 xPhraseNextColumn uintptr 2829 } /* sqlite3.h:11634:9 */ 2830 2831 // Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. 2832 2833 //******* End of sqlite3rtree.h ******** 2834 //******* Begin file sqlite3session.h ******** 2835 2836 //******* End of sqlite3session.h ******** 2837 //******* Begin file fts5.h ******** 2838 // 2014 May 31 2839 // 2840 // The author disclaims copyright to this source code. In place of 2841 // a legal notice, here is a blessing: 2842 // 2843 // May you do good and not evil. 2844 // May you find forgiveness for yourself and forgive others. 2845 // May you share freely, never taking more than you give. 2846 // 2847 // 2848 // 2849 // Interfaces to extend FTS5. Using the interfaces defined in this file, 2850 // FTS5 may be extended with: 2851 // 2852 // * custom tokenizers, and 2853 // * custom auxiliary functions. 2854 2855 // ************************************************************************ 2856 // 2857 // CUSTOM AUXILIARY FUNCTIONS 2858 // 2859 // Virtual table implementations may overload SQL functions by implementing 2860 // the sqlite3_module.xFindFunction() method. 2861 2862 type Fts5ExtensionApi = Fts5ExtensionApi1 /* sqlite3.h:11634:33 */ 2863 type Fts5PhraseIter1 = struct { 2864 a uintptr 2865 b uintptr 2866 } /* sqlite3.h:11636:9 */ 2867 2868 type Fts5PhraseIter = Fts5PhraseIter1 /* sqlite3.h:11636:31 */ 2869 2870 type fts5_extension_function = uintptr /* sqlite3.h:11638:14 */ 2871 type fts5_tokenizer1 = struct { 2872 xCreate uintptr 2873 xDelete uintptr 2874 xTokenize uintptr 2875 } /* sqlite3.h:12097:9 */ 2876 2877 type fts5_tokenizer = fts5_tokenizer1 /* sqlite3.h:12097:31 */ 2878 2879 // Flags that may be passed as the third argument to xTokenize() 2880 2881 // Flags that may be passed by the tokenizer implementation back to FTS5 2882 // as the third argument to the supplied xToken callback. 2883 2884 // 2885 // END OF CUSTOM TOKENIZERS 2886 // 2887 2888 // ************************************************************************ 2889 // 2890 // FTS5 EXTENSION REGISTRATION API 2891 type fts5_api1 = struct { 2892 iVersion int32 2893 xCreateTokenizer uintptr 2894 xFindTokenizer uintptr 2895 xCreateFunction uintptr 2896 } /* sqlite3.h:12133:9 */ 2897 2898 // Flags that may be passed as the third argument to xTokenize() 2899 2900 // Flags that may be passed by the tokenizer implementation back to FTS5 2901 // as the third argument to the supplied xToken callback. 2902 2903 // 2904 // END OF CUSTOM TOKENIZERS 2905 // 2906 2907 // ************************************************************************ 2908 // 2909 // FTS5 EXTENSION REGISTRATION API 2910 type fts5_api = fts5_api1 /* sqlite3.h:12133:25 */ 2911 2912 type ssize_t = int32 /* crtdefs.h:47:13 */ 2913 2914 type rsize_t = size_t /* crtdefs.h:52:16 */ 2915 2916 type intptr_t = int32 /* crtdefs.h:64:13 */ 2917 2918 type uintptr_t = uint32 /* crtdefs.h:77:22 */ 2919 2920 type wint_t = uint16 /* crtdefs.h:106:24 */ 2921 type wctype_t = uint16 /* crtdefs.h:107:24 */ 2922 2923 type errno_t = int32 /* crtdefs.h:113:13 */ 2924 2925 type time_t = int32 /* crtdefs.h:136:20 */ 2926 2927 type threadlocaleinfostruct = struct { 2928 refcount int32 2929 lc_codepage uint32 2930 lc_collate_cp uint32 2931 lc_handle [6]uint32 2932 lc_id [6]LC_ID 2933 lc_category [6]struct { 2934 locale uintptr 2935 wlocale uintptr 2936 refcount uintptr 2937 wrefcount uintptr 2938 } 2939 lc_clike int32 2940 mb_cur_max int32 2941 lconv_intl_refcount uintptr 2942 lconv_num_refcount uintptr 2943 lconv_mon_refcount uintptr 2944 lconv uintptr 2945 ctype1_refcount uintptr 2946 ctype1 uintptr 2947 pctype uintptr 2948 pclmap uintptr 2949 pcumap uintptr 2950 lc_time_curr uintptr 2951 } /* crtdefs.h:422:1 */ 2952 2953 type pthreadlocinfo = uintptr /* crtdefs.h:424:39 */ 2954 type pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */ 2955 2956 type localeinfo_struct = struct { 2957 locinfo pthreadlocinfo 2958 mbcinfo pthreadmbcinfo 2959 } /* crtdefs.h:428:9 */ 2960 2961 type _locale_tstruct = localeinfo_struct /* crtdefs.h:431:3 */ 2962 type _locale_t = uintptr /* crtdefs.h:431:19 */ 2963 2964 type tagLC_ID = struct { 2965 wLanguage uint16 2966 wCountry uint16 2967 wCodePage uint16 2968 } /* crtdefs.h:422:1 */ 2969 2970 type LC_ID = tagLC_ID /* crtdefs.h:439:3 */ 2971 type LPLC_ID = uintptr /* crtdefs.h:439:9 */ 2972 2973 type threadlocinfo = threadlocaleinfostruct /* crtdefs.h:468:3 */ 2974 2975 // * 2976 // This file has no copyright assigned and is placed in the Public Domain. 2977 // This file is part of the mingw-w64 runtime package. 2978 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 2979 2980 // Undefine __mingw_<printf> macros. 2981 2982 type _iobuf = struct { 2983 _ptr uintptr 2984 _cnt int32 2985 _base uintptr 2986 _flag int32 2987 _file int32 2988 _charbuf int32 2989 _bufsiz int32 2990 _tmpfname uintptr 2991 } /* stdio.h:26:3 */ 2992 2993 type FILE = _iobuf /* stdio.h:36:25 */ 2994 2995 type _off_t = int32 /* _mingw_off_t.h:5:16 */ 2996 type off32_t = int32 /* _mingw_off_t.h:7:16 */ 2997 2998 type _off64_t = int64 /* _mingw_off_t.h:13:39 */ 2999 type off64_t = int64 /* _mingw_off_t.h:15:39 */ 3000 3001 type off_t = off64_t /* _mingw_off_t.h:24:17 */ // A pointer to an array of FILE 3002 3003 type fpos_t = int64 /* stdio.h:104:37 */ 3004 3005 func vsnwprintf(tls *libc.TLS, s uintptr, n size_t, format uintptr, arg va_list) int32 { /* stdio.h:1213:15: */ 3006 return libc.X_vsnwprintf(tls, s, n, format, arg) 3007 3008 } 3009 3010 // * 3011 // This file has no copyright assigned and is placed in the Public Domain. 3012 // This file is part of the mingw-w64 runtime package. 3013 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3014 3015 // * 3016 // This file has no copyright assigned and is placed in the Public Domain. 3017 // This file is part of the mingw-w64 runtime package. 3018 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3019 3020 func vswprintf(tls *libc.TLS, __stream uintptr, __count size_t, __format uintptr, __local_argv uintptr) int32 { /* swprintf.inl:27:5: */ 3021 return vsnwprintf(tls, __stream, __count, __format, __local_argv) 3022 } 3023 3024 // * 3025 // This file has no copyright assigned and is placed in the Public Domain. 3026 // This file is part of the mingw-w64 runtime package. 3027 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3028 3029 // Define __mingw_<printf> macros. 3030 3031 // * 3032 // This file has no copyright assigned and is placed in the Public Domain. 3033 // This file is part of the mingw-w64 runtime package. 3034 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3035 3036 // * 3037 // This file has no copyright assigned and is placed in the Public Domain. 3038 // This file is part of the mingw-w64 runtime package. 3039 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3040 3041 // * 3042 // sdkddkver.h: Version definitions for SDK and DDK. Originally 3043 // from ReactOS PSDK/DDK, this file is in the public domain: 3044 // 3045 // This file has no copyright assigned and is placed in the Public Domain. 3046 // This file is part of the mingw-w64 runtime package. 3047 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3048 3049 // _WIN32_WINNT 3050 3051 // _WIN32_IE 3052 3053 // Mappings Between IE Version and Windows Version 3054 3055 // NTDDI_VERSION 3056 3057 // Version Fields in NTDDI_VERSION 3058 3059 // Macros to Extract Version Fields From NTDDI_VERSION 3060 3061 // Macros to get the NTDDI for a given WIN32 3062 3063 // Select Default WIN32_WINNT Value 3064 3065 // Choose NTDDI Version 3066 3067 // Choose WINVER Value 3068 3069 // Choose IE Version 3070 3071 // Make Sure NTDDI_VERSION and _WIN32_WINNT Match 3072 3073 // Some kludge for Obj-C. 3074 // For Obj-C the 'interface' is a keyword, but interface is used 3075 // in midl-code too. To resolve this conflict for at least the 3076 // main windows API header, we define it here temporary. 3077 3078 // * 3079 // This file has no copyright assigned and is placed in the Public Domain. 3080 // This file is part of the mingw-w64 runtime package. 3081 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3082 3083 // * 3084 // This file has no copyright assigned and is placed in the Public Domain. 3085 // This file is part of the mingw-w64 runtime package. 3086 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3087 3088 type _EXCEPTION_POINTERS = struct { 3089 ExceptionRecord PEXCEPTION_RECORD 3090 ContextRecord PCONTEXT 3091 } /* excpt.h:17:3 */ 3092 3093 type _EXCEPTION_RECORD = struct { 3094 ExceptionCode DWORD 3095 ExceptionFlags DWORD 3096 ExceptionRecord uintptr 3097 ExceptionAddress PVOID 3098 NumberParameters DWORD 3099 ExceptionInformation [15]ULONG_PTR 3100 } /* excpt.h:17:3 */ 3101 3102 type _CONTEXT = struct { 3103 ContextFlags DWORD 3104 Dr0 DWORD 3105 Dr1 DWORD 3106 Dr2 DWORD 3107 Dr3 DWORD 3108 Dr6 DWORD 3109 Dr7 DWORD 3110 FloatSave FLOATING_SAVE_AREA 3111 SegGs DWORD 3112 SegFs DWORD 3113 SegEs DWORD 3114 SegDs DWORD 3115 Edi DWORD 3116 Esi DWORD 3117 Ebx DWORD 3118 Edx DWORD 3119 Ecx DWORD 3120 Eax DWORD 3121 Ebp DWORD 3122 Eip DWORD 3123 SegCs DWORD 3124 EFlags DWORD 3125 Esp DWORD 3126 SegSs DWORD 3127 ExtendedRegisters [512]BYTE 3128 } /* excpt.h:17:3 */ 3129 3130 // CRT stuff 3131 type _PHNDLR = uintptr /* excpt.h:66:16 */ 3132 3133 type _XCPT_ACTION = struct { 3134 XcptNum uint32 3135 SigNum int32 3136 XcptAction _PHNDLR 3137 } /* excpt.h:68:3 */ 3138 3139 // The type of function that is expected as an exception handler to be 3140 // installed with __try1. 3141 type PEXCEPTION_HANDLER = uintptr /* excpt.h:87:33 */ 3142 3143 // Copyright (C) 1989, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. 3144 // 3145 // This file is part of GCC. 3146 // 3147 // GCC is free software; you can redistribute it and/or modify 3148 // it under the terms of the GNU General Public License as published by 3149 // the Free Software Foundation; either version 2, or (at your option) 3150 // any later version. 3151 // 3152 // GCC is distributed in the hope that it will be useful, 3153 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3154 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 3155 // GNU General Public License for more details. 3156 // 3157 // You should have received a copy of the GNU General Public License 3158 // along with GCC; see the file COPYING. If not, write to 3159 // the Free Software Foundation, 51 Franklin Street, Fifth Floor, 3160 // Boston, MA 02110-1301, USA. 3161 3162 // As a special exception, if you include this header file into source 3163 // files compiled by GCC, this header file does not by itself cause 3164 // the resulting executable to be covered by the GNU General Public 3165 // License. This exception does not however invalidate any other 3166 // reasons why the executable file might be covered by the GNU General 3167 // Public License. 3168 3169 // ISO C Standard: 7.15 Variable arguments <stdarg.h> 3170 3171 // include mingw stuff 3172 // * 3173 // This file has no copyright assigned and is placed in the Public Domain. 3174 // This file is part of the mingw-w64 runtime package. 3175 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3176 3177 // Copyright (C) 1989-2018 Free Software Foundation, Inc. 3178 // 3179 // This file is part of GCC. 3180 // 3181 // GCC is free software; you can redistribute it and/or modify 3182 // it under the terms of the GNU General Public License as published by 3183 // the Free Software Foundation; either version 3, or (at your option) 3184 // any later version. 3185 // 3186 // GCC is distributed in the hope that it will be useful, 3187 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3188 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 3189 // GNU General Public License for more details. 3190 // 3191 // Under Section 7 of GPL version 3, you are granted additional 3192 // permissions described in the GCC Runtime Library Exception, version 3193 // 3.1, as published by the Free Software Foundation. 3194 // 3195 // You should have received a copy of the GNU General Public License and 3196 // a copy of the GCC Runtime Library Exception along with this program; 3197 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 3198 // <http://www.gnu.org/licenses/>. 3199 3200 // ISO C Standard: 7.15 Variable arguments <stdarg.h> 3201 3202 // * 3203 // This file is part of the mingw-w64 runtime package. 3204 // No warranty is given; refer to the file DISCLAIMER within this package. 3205 3206 // * 3207 // This file has no copyright assigned and is placed in the Public Domain. 3208 // This file is part of the mingw-w64 runtime package. 3209 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3210 3211 // * 3212 // This file is part of the mingw-w64 runtime package. 3213 // No warranty is given; refer to the file DISCLAIMER within this package. 3214 3215 // WINAPI_FAMILY can be either desktop + App, or App. 3216 3217 // * 3218 // This file has no copyright assigned and is placed in the Public Domain. 3219 // This file is part of the mingw-w64 runtime package. 3220 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3221 3222 // * 3223 // This file has no copyright assigned and is placed in the Public Domain. 3224 // This file is part of the mingw-w64 runtime package. 3225 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3226 3227 // Pointer parameters 3228 3229 // Optional pointer parameters 3230 3231 // Output pointer parameters 3232 3233 // Output reference parameters 3234 3235 // Return values 3236 3237 // Other common annotations 3238 3239 // Function annotations 3240 3241 // Success/failure annotations 3242 3243 // Buffer properties 3244 3245 // Field properties 3246 3247 // Structural annotations 3248 3249 // printf/scanf annotations 3250 3251 // Analysis 3252 3253 // FIXME: __in macro conflicts with argument names in libstdc++. For this reason, 3254 // we disable it for C++. This should be fixed in libstdc++ so we can uncomment 3255 // it in fixed version here. 3256 3257 // Renamed __null to SAL__null for avoiding private keyword conflicts between 3258 // gcc and MS world. 3259 3260 // PROJECT: ReactOS DDK 3261 // COPYRIGHT: This file is in the Public Domain. 3262 // FILE: driverspecs.h 3263 // ABSTRACT: This header stubs out Driver Verifier annotations to 3264 // allow drivers using them to compile with our header set. 3265 3266 // Stubs 3267 3268 type ULONG = uint32 /* minwindef.h:24:29 */ 3269 type PULONG = uintptr /* minwindef.h:25:17 */ 3270 type USHORT = uint16 /* minwindef.h:26:26 */ 3271 type PUSHORT = uintptr /* minwindef.h:27:18 */ 3272 type UCHAR = uint8 /* minwindef.h:28:25 */ 3273 type PUCHAR = uintptr /* minwindef.h:29:17 */ 3274 type PSZ = uintptr /* minwindef.h:30:16 */ 3275 3276 type WINBOOL = int32 /* minwindef.h:127:13 */ 3277 type BOOL = int32 /* minwindef.h:131:15 */ 3278 type PBOOL = uintptr /* minwindef.h:134:14 */ 3279 type LPBOOL = uintptr /* minwindef.h:135:14 */ 3280 3281 type BYTE = uint8 /* minwindef.h:139:25 */ 3282 type WORD = uint16 /* minwindef.h:140:26 */ 3283 type DWORD = uint32 /* minwindef.h:141:29 */ 3284 type FLOAT = float32 /* minwindef.h:142:17 */ 3285 type PFLOAT = uintptr /* minwindef.h:143:17 */ 3286 type PBYTE = uintptr /* minwindef.h:144:16 */ 3287 type LPBYTE = uintptr /* minwindef.h:145:16 */ 3288 type PINT = uintptr /* minwindef.h:146:15 */ 3289 type LPINT = uintptr /* minwindef.h:147:15 */ 3290 type PWORD = uintptr /* minwindef.h:148:16 */ 3291 type LPWORD = uintptr /* minwindef.h:149:16 */ 3292 type LPLONG = uintptr /* minwindef.h:150:20 */ 3293 type PDWORD = uintptr /* minwindef.h:151:17 */ 3294 type LPDWORD = uintptr /* minwindef.h:152:17 */ 3295 type LPVOID = uintptr /* minwindef.h:153:16 */ 3296 type LPCVOID = uintptr /* minwindef.h:156:22 */ 3297 type INT = int32 /* minwindef.h:158:15 */ 3298 type UINT = uint32 /* minwindef.h:159:24 */ 3299 type PUINT = uintptr /* minwindef.h:160:24 */ 3300 3301 // * 3302 // sdkddkver.h: Version definitions for SDK and DDK. Originally 3303 // from ReactOS PSDK/DDK, this file is in the public domain: 3304 // 3305 // This file has no copyright assigned and is placed in the Public Domain. 3306 // This file is part of the mingw-w64 runtime package. 3307 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3308 3309 // * 3310 // This file is part of the mingw-w64 runtime package. 3311 // No warranty is given; refer to the file DISCLAIMER within this package. 3312 // * 3313 // This file has no copyright assigned and is placed in the Public Domain. 3314 // This file is part of the mingw-w64 runtime package. 3315 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3316 3317 type POINTER_64_INT = uint32 /* basetsd.h:13:23 */ 3318 3319 type INT8 = int8 /* basetsd.h:29:23 */ 3320 type PINT8 = uintptr /* basetsd.h:29:28 */ 3321 type INT16 = int16 /* basetsd.h:30:24 */ 3322 type PINT16 = uintptr /* basetsd.h:30:30 */ 3323 type INT32 = int32 /* basetsd.h:31:22 */ 3324 type PINT32 = uintptr /* basetsd.h:31:28 */ 3325 type INT64 = int64 /* basetsd.h:32:44 */ 3326 type PINT64 = uintptr /* basetsd.h:32:50 */ 3327 type UINT8 = uint8 /* basetsd.h:33:25 */ 3328 type PUINT8 = uintptr /* basetsd.h:33:31 */ 3329 type UINT16 = uint16 /* basetsd.h:34:26 */ 3330 type PUINT16 = uintptr /* basetsd.h:34:33 */ 3331 type UINT32 = uint32 /* basetsd.h:35:24 */ 3332 type PUINT32 = uintptr /* basetsd.h:35:31 */ 3333 type UINT64 = uint64 /* basetsd.h:36:46 */ 3334 type PUINT64 = uintptr /* basetsd.h:36:53 */ 3335 type LONG32 = int32 /* basetsd.h:37:22 */ 3336 type PLONG32 = uintptr /* basetsd.h:37:29 */ 3337 type ULONG32 = uint32 /* basetsd.h:38:24 */ 3338 type PULONG32 = uintptr /* basetsd.h:38:32 */ 3339 type DWORD32 = uint32 /* basetsd.h:39:24 */ 3340 type PDWORD32 = uintptr /* basetsd.h:39:32 */ 3341 3342 type INT_PTR = int32 /* basetsd.h:52:15 */ 3343 type PINT_PTR = uintptr /* basetsd.h:52:23 */ 3344 type UINT_PTR = uint32 /* basetsd.h:53:24 */ 3345 type PUINT_PTR = uintptr /* basetsd.h:53:33 */ 3346 type LONG_PTR = int32 /* basetsd.h:54:16 */ 3347 type PLONG_PTR = uintptr /* basetsd.h:54:25 */ 3348 type ULONG_PTR = uint32 /* basetsd.h:55:25 */ 3349 type PULONG_PTR = uintptr /* basetsd.h:55:35 */ 3350 3351 type UHALF_PTR = uint16 /* basetsd.h:97:26 */ 3352 type PUHALF_PTR = uintptr /* basetsd.h:97:36 */ 3353 type HALF_PTR = int16 /* basetsd.h:98:17 */ 3354 type PHALF_PTR = uintptr /* basetsd.h:98:26 */ 3355 type SHANDLE_PTR = int32 /* basetsd.h:99:20 */ 3356 type HANDLE_PTR = uint32 /* basetsd.h:100:29 */ 3357 3358 type SIZE_T = ULONG_PTR /* basetsd.h:147:39 */ 3359 type PSIZE_T = uintptr /* basetsd.h:147:46 */ 3360 type SSIZE_T = LONG_PTR /* basetsd.h:148:38 */ 3361 type PSSIZE_T = uintptr /* basetsd.h:148:46 */ 3362 3363 type DWORD_PTR = ULONG_PTR /* basetsd.h:191:39 */ 3364 type PDWORD_PTR = uintptr /* basetsd.h:191:49 */ 3365 type LONG64 = int64 /* basetsd.h:192:37 */ 3366 type PLONG64 = uintptr /* basetsd.h:192:44 */ 3367 type ULONG64 = uint64 /* basetsd.h:193:46 */ 3368 type PULONG64 = uintptr /* basetsd.h:193:54 */ 3369 type DWORD64 = uint64 /* basetsd.h:194:46 */ 3370 type PDWORD64 = uintptr /* basetsd.h:194:54 */ 3371 type KAFFINITY = ULONG_PTR /* basetsd.h:195:39 */ 3372 type PKAFFINITY = uintptr /* basetsd.h:196:39 */ 3373 3374 type PVOID = uintptr /* winnt.h:257:16 */ 3375 type PVOID64 = uintptr /* winnt.h:258:16 */ 3376 3377 type CHAR = int8 /* winnt.h:285:16 */ 3378 type SHORT = int16 /* winnt.h:286:17 */ 3379 type LONG = int32 /* winnt.h:287:20 */ 3380 3381 type WCHAR = wchar_t /* winnt.h:295:19 */ 3382 type PWCHAR = uintptr /* winnt.h:297:17 */ 3383 type LPWCH = uintptr /* winnt.h:297:25 */ 3384 type PWCH = uintptr /* winnt.h:297:32 */ 3385 type LPCWCH = uintptr /* winnt.h:298:23 */ 3386 type PCWCH = uintptr /* winnt.h:298:31 */ 3387 type NWPSTR = uintptr /* winnt.h:299:17 */ 3388 type LPWSTR = uintptr /* winnt.h:299:25 */ 3389 type PWSTR = uintptr /* winnt.h:299:33 */ 3390 type PZPWSTR = uintptr /* winnt.h:300:17 */ 3391 type PCZPWSTR = uintptr /* winnt.h:301:23 */ 3392 type LPUWSTR = uintptr /* winnt.h:302:27 */ 3393 type PUWSTR = uintptr /* winnt.h:302:36 */ 3394 type LPCWSTR = uintptr /* winnt.h:303:23 */ 3395 type PCWSTR = uintptr /* winnt.h:303:32 */ 3396 type PZPCWSTR = uintptr /* winnt.h:304:18 */ 3397 type LPCUWSTR = uintptr /* winnt.h:305:33 */ 3398 type PCUWSTR = uintptr /* winnt.h:305:43 */ 3399 type PZZWSTR = uintptr /* winnt.h:306:17 */ 3400 type PCZZWSTR = uintptr /* winnt.h:307:23 */ 3401 type PUZZWSTR = uintptr /* winnt.h:308:27 */ 3402 type PCUZZWSTR = uintptr /* winnt.h:309:33 */ 3403 type PNZWCH = uintptr /* winnt.h:310:17 */ 3404 type PCNZWCH = uintptr /* winnt.h:311:23 */ 3405 type PUNZWCH = uintptr /* winnt.h:312:27 */ 3406 type PCUNZWCH = uintptr /* winnt.h:313:33 */ 3407 3408 type PCHAR = uintptr /* winnt.h:334:16 */ 3409 type LPCH = uintptr /* winnt.h:334:23 */ 3410 type PCH = uintptr /* winnt.h:334:29 */ 3411 type LPCCH = uintptr /* winnt.h:335:22 */ 3412 type PCCH = uintptr /* winnt.h:335:29 */ 3413 type NPSTR = uintptr /* winnt.h:336:16 */ 3414 type LPSTR = uintptr /* winnt.h:336:23 */ 3415 type PSTR = uintptr /* winnt.h:336:30 */ 3416 type PZPSTR = uintptr /* winnt.h:337:16 */ 3417 type PCZPSTR = uintptr /* winnt.h:338:22 */ 3418 type LPCSTR = uintptr /* winnt.h:339:22 */ 3419 type PCSTR = uintptr /* winnt.h:339:30 */ 3420 type PZPCSTR = uintptr /* winnt.h:340:17 */ 3421 type PZZSTR = uintptr /* winnt.h:341:16 */ 3422 type PCZZSTR = uintptr /* winnt.h:342:22 */ 3423 type PNZCH = uintptr /* winnt.h:343:16 */ 3424 type PCNZCH = uintptr /* winnt.h:344:22 */ 3425 3426 type TCHAR = int8 /* winnt.h:373:16 */ 3427 type PTCHAR = uintptr /* winnt.h:373:23 */ 3428 type TBYTE = uint8 /* winnt.h:374:25 */ 3429 type PTBYTE = uintptr /* winnt.h:374:32 */ 3430 3431 type LPTCH = LPSTR /* winnt.h:377:17 */ 3432 type PTCH = LPSTR /* winnt.h:377:23 */ 3433 type LPCTCH = LPCCH /* winnt.h:378:17 */ 3434 type PCTCH = LPCCH /* winnt.h:378:24 */ 3435 type PTSTR = LPSTR /* winnt.h:379:17 */ 3436 type LPTSTR = LPSTR /* winnt.h:379:23 */ 3437 type PUTSTR = LPSTR /* winnt.h:379:30 */ 3438 type LPUTSTR = LPSTR /* winnt.h:379:37 */ 3439 type PCTSTR = LPCSTR /* winnt.h:380:18 */ 3440 type LPCTSTR = LPCSTR /* winnt.h:380:25 */ 3441 type PCUTSTR = LPCSTR /* winnt.h:380:33 */ 3442 type LPCUTSTR = LPCSTR /* winnt.h:380:41 */ 3443 type PZZTSTR = PZZSTR /* winnt.h:381:18 */ 3444 type PUZZTSTR = PZZSTR /* winnt.h:381:27 */ 3445 type PCZZTSTR = PCZZSTR /* winnt.h:382:19 */ 3446 type PCUZZTSTR = PCZZSTR /* winnt.h:382:29 */ 3447 type PZPTSTR = PZPSTR /* winnt.h:383:18 */ 3448 type PNZTCH = PNZCH /* winnt.h:384:17 */ 3449 type PUNZTCH = PNZCH /* winnt.h:384:25 */ 3450 type PCNZTCH = PCNZCH /* winnt.h:385:18 */ 3451 type PCUNZTCH = PCNZCH /* winnt.h:385:27 */ 3452 3453 type PSHORT = uintptr /* winnt.h:392:17 */ 3454 type PLONG = uintptr /* winnt.h:393:16 */ 3455 3456 type _GROUP_AFFINITY = struct { 3457 Mask KAFFINITY 3458 Group WORD 3459 Reserved [3]WORD 3460 } /* winnt.h:397:9 */ 3461 3462 type GROUP_AFFINITY = _GROUP_AFFINITY /* winnt.h:401:3 */ 3463 type PGROUP_AFFINITY = uintptr /* winnt.h:401:19 */ 3464 3465 type HANDLE = uintptr /* winnt.h:405:16 */ 3466 3467 type PHANDLE = uintptr /* winnt.h:412:18 */ 3468 type FCHAR = BYTE /* winnt.h:413:16 */ 3469 type FSHORT = WORD /* winnt.h:414:16 */ 3470 type FLONG = DWORD /* winnt.h:415:17 */ 3471 3472 type HRESULT = LONG /* winnt.h:419:16 */ 3473 3474 // Keep in sync with basetyps.h header. 3475 3476 type CCHAR = int8 /* winnt.h:453:16 */ 3477 type LCID = DWORD /* winnt.h:456:15 */ 3478 type PLCID = PDWORD /* winnt.h:458:18 */ 3479 type LANGID = WORD /* winnt.h:461:16 */ 3480 3481 type COMPARTMENT_ID = uint32 /* winnt.h:470:3 */ 3482 type PCOMPARTMENT_ID = uintptr /* winnt.h:470:18 */ 3483 3484 type _FLOAT128 = struct { 3485 LowPart int64 3486 HighPart int64 3487 } /* winnt.h:482:13 */ 3488 3489 type FLOAT128 = _FLOAT128 /* winnt.h:485:5 */ 3490 3491 type PFLOAT128 = uintptr /* winnt.h:487:20 */ 3492 3493 type LONGLONG = int64 /* winnt.h:490:37 */ 3494 type ULONGLONG = uint64 /* winnt.h:491:46 */ 3495 3496 type PLONGLONG = uintptr /* winnt.h:495:20 */ 3497 type PULONGLONG = uintptr /* winnt.h:496:21 */ 3498 type USN = LONGLONG /* winnt.h:497:20 */ 3499 3500 type _LARGE_INTEGER = struct { 3501 _ [0]uint64 3502 s struct { 3503 LowPart DWORD 3504 HighPart LONG 3505 } 3506 } /* winnt.h:505:11 */ 3507 3508 type LARGE_INTEGER = _LARGE_INTEGER /* winnt.h:516:5 */ 3509 3510 type PLARGE_INTEGER = uintptr /* winnt.h:518:25 */ 3511 3512 type _ULARGE_INTEGER = struct { 3513 _ [0]uint64 3514 s struct { 3515 LowPart DWORD 3516 HighPart DWORD 3517 } 3518 } /* winnt.h:523:11 */ 3519 3520 type ULARGE_INTEGER = _ULARGE_INTEGER /* winnt.h:534:5 */ 3521 3522 type PULARGE_INTEGER = uintptr /* winnt.h:536:26 */ 3523 3524 type _LUID = struct { 3525 LowPart DWORD 3526 HighPart LONG 3527 } /* winnt.h:538:11 */ 3528 3529 type LUID = _LUID /* winnt.h:541:5 */ 3530 type PLUID = uintptr /* winnt.h:541:10 */ 3531 3532 type DWORDLONG = ULONGLONG /* winnt.h:546:21 */ 3533 type PDWORDLONG = uintptr /* winnt.h:547:21 */ 3534 3535 type BOOLEAN = BYTE /* winnt.h:605:16 */ 3536 type PBOOLEAN = uintptr /* winnt.h:607:19 */ 3537 3538 type _LIST_ENTRY = struct { 3539 Flink uintptr 3540 Blink uintptr 3541 } /* winnt.h:612:11 */ 3542 3543 type LIST_ENTRY = _LIST_ENTRY /* winnt.h:615:5 */ 3544 type PLIST_ENTRY = uintptr /* winnt.h:615:16 */ 3545 type PRLIST_ENTRY = uintptr /* winnt.h:615:29 */ 3546 3547 type _SINGLE_LIST_ENTRY = struct{ Next uintptr } /* winnt.h:617:11 */ 3548 3549 type SINGLE_LIST_ENTRY = _SINGLE_LIST_ENTRY /* winnt.h:619:5 */ 3550 type PSINGLE_LIST_ENTRY = uintptr /* winnt.h:619:23 */ 3551 3552 type LIST_ENTRY321 = struct { 3553 Flink DWORD 3554 Blink DWORD 3555 } /* winnt.h:621:11 */ 3556 3557 type LIST_ENTRY32 = LIST_ENTRY321 /* winnt.h:624:5 */ 3558 type PLIST_ENTRY32 = uintptr /* winnt.h:625:24 */ 3559 3560 type LIST_ENTRY641 = struct { 3561 Flink ULONGLONG 3562 Blink ULONGLONG 3563 } /* winnt.h:627:11 */ 3564 3565 type LIST_ENTRY64 = LIST_ENTRY641 /* winnt.h:630:5 */ 3566 type PLIST_ENTRY64 = uintptr /* winnt.h:631:24 */ 3567 3568 // * 3569 // This file is part of the mingw-w64 runtime package. 3570 // No warranty is given; refer to the file DISCLAIMER within this package. 3571 3572 // Make sure __LONG32 is defined. 3573 // * 3574 // This file has no copyright assigned and is placed in the Public Domain. 3575 // This file is part of the mingw-w64 runtime package. 3576 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3577 3578 type _GUID = struct { 3579 Data1 uint32 3580 Data2 uint16 3581 Data3 uint16 3582 Data4 [8]uint8 3583 } /* guiddef.h:19:9 */ 3584 3585 // * 3586 // This file is part of the mingw-w64 runtime package. 3587 // No warranty is given; refer to the file DISCLAIMER within this package. 3588 3589 // Make sure __LONG32 is defined. 3590 // * 3591 // This file has no copyright assigned and is placed in the Public Domain. 3592 // This file is part of the mingw-w64 runtime package. 3593 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3594 3595 type GUID = _GUID /* guiddef.h:24:3 */ 3596 3597 // __declspec(selectany) must be applied to initialized objects on GCC 5 hence must not be used here. 3598 3599 type LPGUID = uintptr /* guiddef.h:77:14 */ 3600 3601 type LPCGUID = uintptr /* guiddef.h:82:20 */ 3602 3603 type IID = GUID /* guiddef.h:88:14 */ 3604 type LPIID = uintptr /* guiddef.h:89:13 */ 3605 3606 type CLSID = GUID /* guiddef.h:96:14 */ 3607 3608 type LPCLSID = uintptr /* guiddef.h:99:15 */ 3609 3610 type FMTID = GUID /* guiddef.h:103:14 */ 3611 type LPFMTID = uintptr /* guiddef.h:104:15 */ 3612 3613 type _OBJECTID = struct { 3614 Lineage GUID 3615 Uniquifier DWORD 3616 } /* winnt.h:639:11 */ 3617 3618 type OBJECTID = _OBJECTID /* winnt.h:642:5 */ 3619 type PEXCEPTION_ROUTINE = uintptr /* winnt.h:709:31 */ 3620 3621 // ??? #define SUBLANG_ROMANIAN_MOLDOVA 0x01 ??? 3622 3623 type KSPIN_LOCK = ULONG_PTR /* winnt.h:1383:21 */ 3624 type PKSPIN_LOCK = uintptr /* winnt.h:1384:22 */ 3625 3626 type _M128A = struct { 3627 Low ULONGLONG 3628 High LONGLONG 3629 } /* winnt.h:1386:13 */ 3630 3631 type M128A = _M128A /* winnt.h:1389:7 */ 3632 type PM128A = uintptr /* winnt.h:1389:13 */ 3633 3634 type _XSAVE_FORMAT = struct { 3635 ControlWord WORD 3636 StatusWord WORD 3637 TagWord BYTE 3638 Reserved1 BYTE 3639 ErrorOpcode WORD 3640 ErrorOffset DWORD 3641 ErrorSelector WORD 3642 Reserved2 WORD 3643 DataOffset DWORD 3644 DataSelector WORD 3645 Reserved3 WORD 3646 MxCsr DWORD 3647 MxCsr_Mask DWORD 3648 FloatRegisters [8]M128A 3649 XmmRegisters [8]M128A 3650 Reserved4 [220]BYTE 3651 Cr0NpxState DWORD 3652 } /* winnt.h:1391:13 */ 3653 3654 type XSAVE_FORMAT = _XSAVE_FORMAT /* winnt.h:1414:7 */ 3655 type PXSAVE_FORMAT = uintptr /* winnt.h:1414:20 */ 3656 3657 type _XSAVE_AREA_HEADER = struct { 3658 Mask DWORD64 3659 Reserved [7]DWORD64 3660 } /* winnt.h:1416:13 */ 3661 3662 type XSAVE_AREA_HEADER = _XSAVE_AREA_HEADER /* winnt.h:1419:7 */ 3663 type PXSAVE_AREA_HEADER = uintptr /* winnt.h:1419:25 */ 3664 3665 type _XSAVE_AREA = struct { 3666 LegacyState XSAVE_FORMAT 3667 Header XSAVE_AREA_HEADER 3668 } /* winnt.h:1421:13 */ 3669 3670 type XSAVE_AREA = _XSAVE_AREA /* winnt.h:1424:7 */ 3671 type PXSAVE_AREA = uintptr /* winnt.h:1424:18 */ 3672 3673 type _XSTATE_CONTEXT = struct { 3674 Mask DWORD64 3675 Length DWORD 3676 Reserved1 DWORD 3677 Area PXSAVE_AREA 3678 Reserved2 DWORD 3679 Buffer PVOID 3680 Reserved3 DWORD 3681 } /* winnt.h:1426:13 */ 3682 3683 type XSTATE_CONTEXT = _XSTATE_CONTEXT /* winnt.h:1438:7 */ 3684 type PXSTATE_CONTEXT = uintptr /* winnt.h:1438:22 */ 3685 3686 type _SCOPE_TABLE_AMD64 = struct { 3687 Count DWORD 3688 ScopeRecord [1]struct { 3689 BeginAddress DWORD 3690 EndAddress DWORD 3691 HandlerAddress DWORD 3692 JumpTarget DWORD 3693 } 3694 } /* winnt.h:1440:13 */ 3695 3696 type SCOPE_TABLE_AMD64 = _SCOPE_TABLE_AMD64 /* winnt.h:1448:7 */ 3697 type PSCOPE_TABLE_AMD64 = uintptr /* winnt.h:1448:25 */ 3698 3699 type _FLOATING_SAVE_AREA = struct { 3700 ControlWord DWORD 3701 StatusWord DWORD 3702 TagWord DWORD 3703 ErrorOffset DWORD 3704 ErrorSelector DWORD 3705 DataOffset DWORD 3706 DataSelector DWORD 3707 RegisterArea [80]BYTE 3708 Cr0NpxState DWORD 3709 } /* excpt.h:17:3 */ 3710 3711 type FLOATING_SAVE_AREA = _FLOATING_SAVE_AREA /* winnt.h:2371:7 */ 3712 3713 type PFLOATING_SAVE_AREA = uintptr /* winnt.h:2373:32 */ 3714 3715 type CONTEXT = _CONTEXT /* winnt.h:2402:7 */ 3716 3717 type PCONTEXT = uintptr /* winnt.h:2404:21 */ 3718 3719 // LONG WINAPI InterlockedIncrement(LONG volatile *); moved to psdk_inc/intrin-impl.h 3720 // LONG WINAPI InterlockedDecrement(LONG volatile *); moved to psdk_inc/intrin-impl.h 3721 // LONG WINAPI InterlockedExchange(LONG volatile *, LONG); moved to psdk_inc/intrin-impl.h 3722 3723 type _LDT_ENTRY = struct { 3724 LimitLow WORD 3725 BaseLow WORD 3726 HighWord struct { 3727 _ [0]uint32 3728 Bytes struct { 3729 BaseMid BYTE 3730 Flags1 BYTE 3731 Flags2 BYTE 3732 BaseHi BYTE 3733 } 3734 } 3735 } /* winnt.h:2415:13 */ 3736 3737 // LONG WINAPI InterlockedIncrement(LONG volatile *); moved to psdk_inc/intrin-impl.h 3738 // LONG WINAPI InterlockedDecrement(LONG volatile *); moved to psdk_inc/intrin-impl.h 3739 // LONG WINAPI InterlockedExchange(LONG volatile *, LONG); moved to psdk_inc/intrin-impl.h 3740 3741 type LDT_ENTRY = _LDT_ENTRY /* winnt.h:2438:7 */ 3742 type PLDT_ENTRY = uintptr /* winnt.h:2438:17 */ 3743 3744 // http://www.nynaeve.net/?p=99 3745 3746 type EXCEPTION_RECORD = _EXCEPTION_RECORD /* winnt.h:2783:7 */ 3747 3748 type PEXCEPTION_RECORD = uintptr /* winnt.h:2785:30 */ 3749 3750 type _EXCEPTION_RECORD32 = struct { 3751 ExceptionCode DWORD 3752 ExceptionFlags DWORD 3753 ExceptionRecord DWORD 3754 ExceptionAddress DWORD 3755 NumberParameters DWORD 3756 ExceptionInformation [15]DWORD 3757 } /* winnt.h:2787:13 */ 3758 3759 type EXCEPTION_RECORD32 = _EXCEPTION_RECORD32 /* winnt.h:2794:7 */ 3760 type PEXCEPTION_RECORD32 = uintptr /* winnt.h:2794:26 */ 3761 3762 type _EXCEPTION_RECORD64 = struct { 3763 ExceptionCode DWORD 3764 ExceptionFlags DWORD 3765 ExceptionRecord DWORD64 3766 ExceptionAddress DWORD64 3767 NumberParameters DWORD 3768 __unusedAlignment DWORD 3769 ExceptionInformation [15]DWORD64 3770 } /* winnt.h:2796:13 */ 3771 3772 type EXCEPTION_RECORD64 = _EXCEPTION_RECORD64 /* winnt.h:2804:7 */ 3773 type PEXCEPTION_RECORD64 = uintptr /* winnt.h:2804:26 */ 3774 3775 type EXCEPTION_POINTERS = _EXCEPTION_POINTERS /* winnt.h:2809:7 */ 3776 type PEXCEPTION_POINTERS = uintptr /* winnt.h:2809:26 */ 3777 3778 type PACCESS_TOKEN = PVOID /* winnt.h:2871:19 */ 3779 type PSECURITY_DESCRIPTOR = PVOID /* winnt.h:2872:19 */ 3780 type PSID = PVOID /* winnt.h:2873:19 */ 3781 type PCLAIMS_BLOB = PVOID /* winnt.h:2874:19 */ 3782 type ACCESS_MASK = DWORD /* winnt.h:2875:19 */ 3783 type PACCESS_MASK = uintptr /* winnt.h:2876:25 */ 3784 3785 type _GENERIC_MAPPING = struct { 3786 GenericRead ACCESS_MASK 3787 GenericWrite ACCESS_MASK 3788 GenericExecute ACCESS_MASK 3789 GenericAll ACCESS_MASK 3790 } /* winnt.h:2902:13 */ 3791 3792 type GENERIC_MAPPING = _GENERIC_MAPPING /* winnt.h:2907:7 */ 3793 type PGENERIC_MAPPING = uintptr /* winnt.h:2908:29 */ 3794 3795 // * 3796 // This file has no copyright assigned and is placed in the Public Domain. 3797 // This file is part of the mingw-w64 runtime package. 3798 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3799 type _LUID_AND_ATTRIBUTES = struct { 3800 Luid LUID 3801 Attributes DWORD 3802 } /* winnt.h:2911:13 */ 3803 3804 // * 3805 // This file has no copyright assigned and is placed in the Public Domain. 3806 // This file is part of the mingw-w64 runtime package. 3807 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3808 type LUID_AND_ATTRIBUTES = _LUID_AND_ATTRIBUTES /* winnt.h:2914:7 */ 3809 type PLUID_AND_ATTRIBUTES = uintptr /* winnt.h:2914:27 */ 3810 type LUID_AND_ATTRIBUTES_ARRAY = [1]LUID_AND_ATTRIBUTES /* winnt.h:2915:33 */ 3811 type PLUID_AND_ATTRIBUTES_ARRAY = uintptr /* winnt.h:2916:39 */ 3812 // * 3813 // This file has no copyright assigned and is placed in the Public Domain. 3814 // This file is part of the mingw-w64 runtime package. 3815 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3816 3817 type _SID_IDENTIFIER_AUTHORITY = struct{ Value [6]BYTE } /* winnt.h:2921:13 */ 3818 3819 // * 3820 // This file has no copyright assigned and is placed in the Public Domain. 3821 // This file is part of the mingw-w64 runtime package. 3822 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 3823 3824 type SID_IDENTIFIER_AUTHORITY = _SID_IDENTIFIER_AUTHORITY /* winnt.h:2923:7 */ 3825 type PSID_IDENTIFIER_AUTHORITY = uintptr /* winnt.h:2923:32 */ 3826 3827 type _SID = struct { 3828 Revision BYTE 3829 SubAuthorityCount BYTE 3830 IdentifierAuthority SID_IDENTIFIER_AUTHORITY 3831 SubAuthority [1]DWORD 3832 } /* winnt.h:2928:13 */ 3833 3834 type SID = _SID /* winnt.h:2933:7 */ 3835 type PISID = uintptr /* winnt.h:2933:11 */ 3836 3837 type SID_NAME_USE = uint32 /* winnt.h:2947:7 */ 3838 type PSID_NAME_USE = uintptr /* winnt.h:2947:20 */ 3839 3840 type _SID_AND_ATTRIBUTES = struct { 3841 Sid PSID 3842 Attributes DWORD 3843 } /* winnt.h:2949:13 */ 3844 3845 type SID_AND_ATTRIBUTES = _SID_AND_ATTRIBUTES /* winnt.h:2956:7 */ 3846 type PSID_AND_ATTRIBUTES = uintptr /* winnt.h:2956:26 */ 3847 3848 type SID_AND_ATTRIBUTES_ARRAY = [1]SID_AND_ATTRIBUTES /* winnt.h:2958:32 */ 3849 type PSID_AND_ATTRIBUTES_ARRAY = uintptr /* winnt.h:2959:38 */ 3850 3851 type SID_HASH_ENTRY = ULONG_PTR /* winnt.h:2961:23 */ 3852 type PSID_HASH_ENTRY = uintptr /* winnt.h:2961:39 */ 3853 3854 type _SID_AND_ATTRIBUTES_HASH = struct { 3855 SidCount DWORD 3856 SidAttr PSID_AND_ATTRIBUTES 3857 Hash [32]SID_HASH_ENTRY 3858 } /* winnt.h:2963:13 */ 3859 3860 type SID_AND_ATTRIBUTES_HASH = _SID_AND_ATTRIBUTES_HASH /* winnt.h:2967:7 */ 3861 type PSID_AND_ATTRIBUTES_HASH = uintptr /* winnt.h:2967:32 */ 3862 3863 type WELL_KNOWN_SID_TYPE = uint32 /* winnt.h:3251:3 */ 3864 3865 type _ACL = struct { 3866 AclRevision BYTE 3867 Sbz1 BYTE 3868 AclSize WORD 3869 AceCount WORD 3870 Sbz2 WORD 3871 } /* winnt.h:3281:13 */ 3872 3873 type ACL = _ACL /* winnt.h:3287:7 */ 3874 type PACL = uintptr /* winnt.h:3288:17 */ 3875 3876 type _ACE_HEADER = struct { 3877 AceType BYTE 3878 AceFlags BYTE 3879 AceSize WORD 3880 } /* winnt.h:3290:13 */ 3881 3882 type ACE_HEADER = _ACE_HEADER /* winnt.h:3294:7 */ 3883 type PACE_HEADER = uintptr /* winnt.h:3295:24 */ 3884 3885 type _ACCESS_ALLOWED_ACE = struct { 3886 Header ACE_HEADER 3887 Mask ACCESS_MASK 3888 SidStart DWORD 3889 } /* winnt.h:3341:13 */ 3890 3891 type ACCESS_ALLOWED_ACE = _ACCESS_ALLOWED_ACE /* winnt.h:3345:7 */ 3892 3893 type PACCESS_ALLOWED_ACE = uintptr /* winnt.h:3347:32 */ 3894 3895 type _ACCESS_DENIED_ACE = struct { 3896 Header ACE_HEADER 3897 Mask ACCESS_MASK 3898 SidStart DWORD 3899 } /* winnt.h:3349:13 */ 3900 3901 type ACCESS_DENIED_ACE = _ACCESS_DENIED_ACE /* winnt.h:3353:7 */ 3902 type PACCESS_DENIED_ACE = uintptr /* winnt.h:3354:31 */ 3903 3904 type _SYSTEM_AUDIT_ACE = struct { 3905 Header ACE_HEADER 3906 Mask ACCESS_MASK 3907 SidStart DWORD 3908 } /* winnt.h:3356:13 */ 3909 3910 type SYSTEM_AUDIT_ACE = _SYSTEM_AUDIT_ACE /* winnt.h:3360:7 */ 3911 type PSYSTEM_AUDIT_ACE = uintptr /* winnt.h:3361:30 */ 3912 3913 type _SYSTEM_ALARM_ACE = struct { 3914 Header ACE_HEADER 3915 Mask ACCESS_MASK 3916 SidStart DWORD 3917 } /* winnt.h:3363:13 */ 3918 3919 type SYSTEM_ALARM_ACE = _SYSTEM_ALARM_ACE /* winnt.h:3367:7 */ 3920 type PSYSTEM_ALARM_ACE = uintptr /* winnt.h:3368:30 */ 3921 3922 type _SYSTEM_RESOURCE_ATTRIBUTE_ACE = struct { 3923 Header ACE_HEADER 3924 Mask ACCESS_MASK 3925 SidStart DWORD 3926 } /* winnt.h:3370:13 */ 3927 3928 type SYSTEM_RESOURCE_ATTRIBUTE_ACE = _SYSTEM_RESOURCE_ATTRIBUTE_ACE /* winnt.h:3374:7 */ 3929 type PSYSTEM_RESOURCE_ATTRIBUTE_ACE = uintptr /* winnt.h:3374:37 */ 3930 3931 type _SYSTEM_SCOPED_POLICY_ID_ACE = struct { 3932 Header ACE_HEADER 3933 Mask ACCESS_MASK 3934 SidStart DWORD 3935 } /* winnt.h:3376:13 */ 3936 3937 type SYSTEM_SCOPED_POLICY_ID_ACE = _SYSTEM_SCOPED_POLICY_ID_ACE /* winnt.h:3380:7 */ 3938 type PSYSTEM_SCOPED_POLICY_ID_ACE = uintptr /* winnt.h:3380:35 */ 3939 3940 type _SYSTEM_MANDATORY_LABEL_ACE = struct { 3941 Header ACE_HEADER 3942 Mask ACCESS_MASK 3943 SidStart DWORD 3944 } /* winnt.h:3382:13 */ 3945 3946 type SYSTEM_MANDATORY_LABEL_ACE = _SYSTEM_MANDATORY_LABEL_ACE /* winnt.h:3386:7 */ 3947 type PSYSTEM_MANDATORY_LABEL_ACE = uintptr /* winnt.h:3386:35 */ 3948 3949 type _ACCESS_ALLOWED_OBJECT_ACE = struct { 3950 Header ACE_HEADER 3951 Mask ACCESS_MASK 3952 Flags DWORD 3953 ObjectType GUID 3954 InheritedObjectType GUID 3955 SidStart DWORD 3956 } /* winnt.h:3394:13 */ 3957 3958 type ACCESS_ALLOWED_OBJECT_ACE = _ACCESS_ALLOWED_OBJECT_ACE /* winnt.h:3401:7 */ 3959 type PACCESS_ALLOWED_OBJECT_ACE = uintptr /* winnt.h:3401:33 */ 3960 3961 type _ACCESS_DENIED_OBJECT_ACE = struct { 3962 Header ACE_HEADER 3963 Mask ACCESS_MASK 3964 Flags DWORD 3965 ObjectType GUID 3966 InheritedObjectType GUID 3967 SidStart DWORD 3968 } /* winnt.h:3403:13 */ 3969 3970 type ACCESS_DENIED_OBJECT_ACE = _ACCESS_DENIED_OBJECT_ACE /* winnt.h:3410:7 */ 3971 type PACCESS_DENIED_OBJECT_ACE = uintptr /* winnt.h:3410:32 */ 3972 3973 type _SYSTEM_AUDIT_OBJECT_ACE = struct { 3974 Header ACE_HEADER 3975 Mask ACCESS_MASK 3976 Flags DWORD 3977 ObjectType GUID 3978 InheritedObjectType GUID 3979 SidStart DWORD 3980 } /* winnt.h:3412:13 */ 3981 3982 type SYSTEM_AUDIT_OBJECT_ACE = _SYSTEM_AUDIT_OBJECT_ACE /* winnt.h:3419:7 */ 3983 type PSYSTEM_AUDIT_OBJECT_ACE = uintptr /* winnt.h:3419:31 */ 3984 3985 type _SYSTEM_ALARM_OBJECT_ACE = struct { 3986 Header ACE_HEADER 3987 Mask ACCESS_MASK 3988 Flags DWORD 3989 ObjectType GUID 3990 InheritedObjectType GUID 3991 SidStart DWORD 3992 } /* winnt.h:3421:13 */ 3993 3994 type SYSTEM_ALARM_OBJECT_ACE = _SYSTEM_ALARM_OBJECT_ACE /* winnt.h:3428:7 */ 3995 type PSYSTEM_ALARM_OBJECT_ACE = uintptr /* winnt.h:3428:31 */ 3996 3997 type _ACCESS_ALLOWED_CALLBACK_ACE = struct { 3998 Header ACE_HEADER 3999 Mask ACCESS_MASK 4000 SidStart DWORD 4001 } /* winnt.h:3430:13 */ 4002 4003 type ACCESS_ALLOWED_CALLBACK_ACE = _ACCESS_ALLOWED_CALLBACK_ACE /* winnt.h:3434:7 */ 4004 type PACCESS_ALLOWED_CALLBACK_ACE = uintptr /* winnt.h:3434:35 */ 4005 4006 type _ACCESS_DENIED_CALLBACK_ACE = struct { 4007 Header ACE_HEADER 4008 Mask ACCESS_MASK 4009 SidStart DWORD 4010 } /* winnt.h:3436:13 */ 4011 4012 type ACCESS_DENIED_CALLBACK_ACE = _ACCESS_DENIED_CALLBACK_ACE /* winnt.h:3440:7 */ 4013 type PACCESS_DENIED_CALLBACK_ACE = uintptr /* winnt.h:3440:34 */ 4014 4015 type _SYSTEM_AUDIT_CALLBACK_ACE = struct { 4016 Header ACE_HEADER 4017 Mask ACCESS_MASK 4018 SidStart DWORD 4019 } /* winnt.h:3442:13 */ 4020 4021 type SYSTEM_AUDIT_CALLBACK_ACE = _SYSTEM_AUDIT_CALLBACK_ACE /* winnt.h:3446:7 */ 4022 type PSYSTEM_AUDIT_CALLBACK_ACE = uintptr /* winnt.h:3446:33 */ 4023 4024 type _SYSTEM_ALARM_CALLBACK_ACE = struct { 4025 Header ACE_HEADER 4026 Mask ACCESS_MASK 4027 SidStart DWORD 4028 } /* winnt.h:3448:13 */ 4029 4030 type SYSTEM_ALARM_CALLBACK_ACE = _SYSTEM_ALARM_CALLBACK_ACE /* winnt.h:3452:7 */ 4031 type PSYSTEM_ALARM_CALLBACK_ACE = uintptr /* winnt.h:3452:33 */ 4032 4033 type _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE = struct { 4034 Header ACE_HEADER 4035 Mask ACCESS_MASK 4036 Flags DWORD 4037 ObjectType GUID 4038 InheritedObjectType GUID 4039 SidStart DWORD 4040 } /* winnt.h:3454:13 */ 4041 4042 type ACCESS_ALLOWED_CALLBACK_OBJECT_ACE = _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE /* winnt.h:3462:7 */ 4043 type PACCESS_ALLOWED_CALLBACK_OBJECT_ACE = uintptr /* winnt.h:3462:42 */ 4044 4045 type _ACCESS_DENIED_CALLBACK_OBJECT_ACE = struct { 4046 Header ACE_HEADER 4047 Mask ACCESS_MASK 4048 Flags DWORD 4049 ObjectType GUID 4050 InheritedObjectType GUID 4051 SidStart DWORD 4052 } /* winnt.h:3464:13 */ 4053 4054 type ACCESS_DENIED_CALLBACK_OBJECT_ACE = _ACCESS_DENIED_CALLBACK_OBJECT_ACE /* winnt.h:3471:7 */ 4055 type PACCESS_DENIED_CALLBACK_OBJECT_ACE = uintptr /* winnt.h:3471:41 */ 4056 4057 type _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE = struct { 4058 Header ACE_HEADER 4059 Mask ACCESS_MASK 4060 Flags DWORD 4061 ObjectType GUID 4062 InheritedObjectType GUID 4063 SidStart DWORD 4064 } /* winnt.h:3473:13 */ 4065 4066 type SYSTEM_AUDIT_CALLBACK_OBJECT_ACE = _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE /* winnt.h:3480:7 */ 4067 type PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE = uintptr /* winnt.h:3480:40 */ 4068 4069 type _SYSTEM_ALARM_CALLBACK_OBJECT_ACE = struct { 4070 Header ACE_HEADER 4071 Mask ACCESS_MASK 4072 Flags DWORD 4073 ObjectType GUID 4074 InheritedObjectType GUID 4075 SidStart DWORD 4076 } /* winnt.h:3482:13 */ 4077 4078 type SYSTEM_ALARM_CALLBACK_OBJECT_ACE = _SYSTEM_ALARM_CALLBACK_OBJECT_ACE /* winnt.h:3490:7 */ 4079 type PSYSTEM_ALARM_CALLBACK_OBJECT_ACE = uintptr /* winnt.h:3490:40 */ 4080 4081 type ACL_INFORMATION_CLASS = uint32 /* winnt.h:3497:7 */ 4082 4083 type _ACL_REVISION_INFORMATION = struct{ AclRevision DWORD } /* winnt.h:3499:13 */ 4084 4085 type ACL_REVISION_INFORMATION = _ACL_REVISION_INFORMATION /* winnt.h:3501:7 */ 4086 type PACL_REVISION_INFORMATION = uintptr /* winnt.h:3502:38 */ 4087 4088 type _ACL_SIZE_INFORMATION = struct { 4089 AceCount DWORD 4090 AclBytesInUse DWORD 4091 AclBytesFree DWORD 4092 } /* winnt.h:3504:13 */ 4093 4094 type ACL_SIZE_INFORMATION = _ACL_SIZE_INFORMATION /* winnt.h:3508:7 */ 4095 type PACL_SIZE_INFORMATION = uintptr /* winnt.h:3509:34 */ 4096 4097 type SECURITY_DESCRIPTOR_CONTROL = WORD /* winnt.h:3516:18 */ 4098 type PSECURITY_DESCRIPTOR_CONTROL = uintptr /* winnt.h:3516:46 */ 4099 4100 type _SECURITY_DESCRIPTOR_RELATIVE = struct { 4101 Revision BYTE 4102 Sbz1 BYTE 4103 Control SECURITY_DESCRIPTOR_CONTROL 4104 Owner DWORD 4105 Group DWORD 4106 Sacl DWORD 4107 Dacl DWORD 4108 } /* winnt.h:3533:13 */ 4109 4110 type SECURITY_DESCRIPTOR_RELATIVE = _SECURITY_DESCRIPTOR_RELATIVE /* winnt.h:3541:7 */ 4111 type PISECURITY_DESCRIPTOR_RELATIVE = uintptr /* winnt.h:3541:36 */ 4112 4113 type _SECURITY_DESCRIPTOR = struct { 4114 Revision BYTE 4115 Sbz1 BYTE 4116 Control SECURITY_DESCRIPTOR_CONTROL 4117 Owner PSID 4118 Group PSID 4119 Sacl PACL 4120 Dacl PACL 4121 } /* winnt.h:3543:13 */ 4122 4123 type SECURITY_DESCRIPTOR = _SECURITY_DESCRIPTOR /* winnt.h:3551:7 */ 4124 type PISECURITY_DESCRIPTOR = uintptr /* winnt.h:3551:27 */ 4125 4126 type _OBJECT_TYPE_LIST = struct { 4127 Level WORD 4128 Sbz WORD 4129 ObjectType uintptr 4130 } /* winnt.h:3553:13 */ 4131 4132 type OBJECT_TYPE_LIST = _OBJECT_TYPE_LIST /* winnt.h:3557:7 */ 4133 type POBJECT_TYPE_LIST = uintptr /* winnt.h:3557:24 */ 4134 4135 type AUDIT_EVENT_TYPE = uint32 /* winnt.h:3567:7 */ 4136 type PAUDIT_EVENT_TYPE = uintptr /* winnt.h:3567:24 */ 4137 4138 type _PRIVILEGE_SET = struct { 4139 PrivilegeCount DWORD 4140 Control DWORD 4141 Privilege [1]LUID_AND_ATTRIBUTES 4142 } /* winnt.h:3585:13 */ 4143 4144 type PRIVILEGE_SET = _PRIVILEGE_SET /* winnt.h:3589:7 */ 4145 type PPRIVILEGE_SET = uintptr /* winnt.h:3589:21 */ 4146 4147 type ACCESS_REASON_TYPE = uint32 /* winnt.h:3614:7 */ 4148 type ACCESS_REASON = DWORD /* winnt.h:3615:19 */ 4149 4150 type _ACCESS_REASONS = struct{ Data [32]ACCESS_REASON } /* winnt.h:3617:13 */ 4151 4152 type ACCESS_REASONS = _ACCESS_REASONS /* winnt.h:3619:7 */ 4153 type PACCESS_REASONS = uintptr /* winnt.h:3619:22 */ 4154 4155 type _SE_SECURITY_DESCRIPTOR = struct { 4156 Size DWORD 4157 Flags DWORD 4158 SecurityDescriptor PSECURITY_DESCRIPTOR 4159 } /* winnt.h:3625:13 */ 4160 4161 type SE_SECURITY_DESCRIPTOR = _SE_SECURITY_DESCRIPTOR /* winnt.h:3629:7 */ 4162 type PSE_SECURITY_DESCRIPTOR = uintptr /* winnt.h:3629:30 */ 4163 4164 type _SE_ACCESS_REQUEST = struct { 4165 Size DWORD 4166 SeSecurityDescriptor PSE_SECURITY_DESCRIPTOR 4167 DesiredAccess ACCESS_MASK 4168 PreviouslyGrantedAccess ACCESS_MASK 4169 PrincipalSelfSid PSID 4170 GenericMapping PGENERIC_MAPPING 4171 ObjectTypeListCount DWORD 4172 ObjectTypeList POBJECT_TYPE_LIST 4173 } /* winnt.h:3631:13 */ 4174 4175 type SE_ACCESS_REQUEST = _SE_ACCESS_REQUEST /* winnt.h:3640:7 */ 4176 type PSE_ACCESS_REQUEST = uintptr /* winnt.h:3640:25 */ 4177 4178 type _SE_ACCESS_REPLY = struct { 4179 Size DWORD 4180 ResultListCount DWORD 4181 GrantedAccess PACCESS_MASK 4182 AccessStatus PDWORD 4183 AccessReason PACCESS_REASONS 4184 Privileges uintptr 4185 } /* winnt.h:3642:13 */ 4186 4187 type SE_ACCESS_REPLY = _SE_ACCESS_REPLY /* winnt.h:3649:7 */ 4188 type PSE_ACCESS_REPLY = uintptr /* winnt.h:3649:23 */ 4189 4190 type SECURITY_IMPERSONATION_LEVEL = uint32 /* winnt.h:3689:7 */ 4191 type PSECURITY_IMPERSONATION_LEVEL = uintptr /* winnt.h:3689:36 */ 4192 4193 type TOKEN_TYPE = uint32 /* winnt.h:3716:7 */ 4194 type PTOKEN_TYPE = uintptr /* winnt.h:3717:24 */ 4195 4196 type TOKEN_ELEVATION_TYPE = uint32 /* winnt.h:3723:7 */ 4197 type PTOKEN_ELEVATION_TYPE = uintptr /* winnt.h:3723:29 */ 4198 4199 type TOKEN_INFORMATION_CLASS = uint32 /* winnt.h:3767:7 */ 4200 type PTOKEN_INFORMATION_CLASS = uintptr /* winnt.h:3767:31 */ 4201 4202 type _TOKEN_USER = struct{ User SID_AND_ATTRIBUTES } /* winnt.h:3769:13 */ 4203 4204 type TOKEN_USER = _TOKEN_USER /* winnt.h:3771:7 */ 4205 type PTOKEN_USER = uintptr /* winnt.h:3771:18 */ 4206 4207 type _TOKEN_GROUPS = struct { 4208 GroupCount DWORD 4209 Groups [1]SID_AND_ATTRIBUTES 4210 } /* winnt.h:3773:13 */ 4211 4212 type TOKEN_GROUPS = _TOKEN_GROUPS /* winnt.h:3780:7 */ 4213 type PTOKEN_GROUPS = uintptr /* winnt.h:3780:20 */ 4214 4215 type _TOKEN_PRIVILEGES = struct { 4216 PrivilegeCount DWORD 4217 Privileges [1]LUID_AND_ATTRIBUTES 4218 } /* winnt.h:3782:13 */ 4219 4220 type TOKEN_PRIVILEGES = _TOKEN_PRIVILEGES /* winnt.h:3785:7 */ 4221 type PTOKEN_PRIVILEGES = uintptr /* winnt.h:3785:24 */ 4222 4223 type _TOKEN_OWNER = struct{ Owner PSID } /* winnt.h:3787:13 */ 4224 4225 type TOKEN_OWNER = _TOKEN_OWNER /* winnt.h:3789:7 */ 4226 type PTOKEN_OWNER = uintptr /* winnt.h:3789:19 */ 4227 4228 type _TOKEN_PRIMARY_GROUP = struct{ PrimaryGroup PSID } /* winnt.h:3791:13 */ 4229 4230 type TOKEN_PRIMARY_GROUP = _TOKEN_PRIMARY_GROUP /* winnt.h:3793:7 */ 4231 type PTOKEN_PRIMARY_GROUP = uintptr /* winnt.h:3793:27 */ 4232 4233 type _TOKEN_DEFAULT_DACL = struct{ DefaultDacl PACL } /* winnt.h:3795:13 */ 4234 4235 type TOKEN_DEFAULT_DACL = _TOKEN_DEFAULT_DACL /* winnt.h:3797:7 */ 4236 type PTOKEN_DEFAULT_DACL = uintptr /* winnt.h:3797:26 */ 4237 4238 type _TOKEN_USER_CLAIMS = struct{ UserClaims PCLAIMS_BLOB } /* winnt.h:3799:13 */ 4239 4240 type TOKEN_USER_CLAIMS = _TOKEN_USER_CLAIMS /* winnt.h:3801:7 */ 4241 type PTOKEN_USER_CLAIMS = uintptr /* winnt.h:3801:25 */ 4242 4243 type _TOKEN_DEVICE_CLAIMS = struct{ DeviceClaims PCLAIMS_BLOB } /* winnt.h:3803:13 */ 4244 4245 type TOKEN_DEVICE_CLAIMS = _TOKEN_DEVICE_CLAIMS /* winnt.h:3805:7 */ 4246 type PTOKEN_DEVICE_CLAIMS = uintptr /* winnt.h:3805:27 */ 4247 4248 type _TOKEN_GROUPS_AND_PRIVILEGES = struct { 4249 SidCount DWORD 4250 SidLength DWORD 4251 Sids PSID_AND_ATTRIBUTES 4252 RestrictedSidCount DWORD 4253 RestrictedSidLength DWORD 4254 RestrictedSids PSID_AND_ATTRIBUTES 4255 PrivilegeCount DWORD 4256 PrivilegeLength DWORD 4257 Privileges PLUID_AND_ATTRIBUTES 4258 AuthenticationId LUID 4259 } /* winnt.h:3807:13 */ 4260 4261 type TOKEN_GROUPS_AND_PRIVILEGES = _TOKEN_GROUPS_AND_PRIVILEGES /* winnt.h:3818:7 */ 4262 type PTOKEN_GROUPS_AND_PRIVILEGES = uintptr /* winnt.h:3818:35 */ 4263 4264 type _TOKEN_LINKED_TOKEN = struct{ LinkedToken HANDLE } /* winnt.h:3820:13 */ 4265 4266 type TOKEN_LINKED_TOKEN = _TOKEN_LINKED_TOKEN /* winnt.h:3822:7 */ 4267 type PTOKEN_LINKED_TOKEN = uintptr /* winnt.h:3822:26 */ 4268 4269 type _TOKEN_ELEVATION = struct{ TokenIsElevated DWORD } /* winnt.h:3824:13 */ 4270 4271 type TOKEN_ELEVATION = _TOKEN_ELEVATION /* winnt.h:3826:7 */ 4272 type PTOKEN_ELEVATION = uintptr /* winnt.h:3826:23 */ 4273 4274 type _TOKEN_MANDATORY_LABEL = struct{ Label SID_AND_ATTRIBUTES } /* winnt.h:3828:13 */ 4275 4276 type TOKEN_MANDATORY_LABEL = _TOKEN_MANDATORY_LABEL /* winnt.h:3830:7 */ 4277 type PTOKEN_MANDATORY_LABEL = uintptr /* winnt.h:3830:29 */ 4278 4279 type _TOKEN_MANDATORY_POLICY = struct{ Policy DWORD } /* winnt.h:3838:13 */ 4280 4281 type TOKEN_MANDATORY_POLICY = _TOKEN_MANDATORY_POLICY /* winnt.h:3840:7 */ 4282 type PTOKEN_MANDATORY_POLICY = uintptr /* winnt.h:3840:30 */ 4283 4284 type _TOKEN_ACCESS_INFORMATION = struct { 4285 SidHash PSID_AND_ATTRIBUTES_HASH 4286 RestrictedSidHash PSID_AND_ATTRIBUTES_HASH 4287 Privileges PTOKEN_PRIVILEGES 4288 AuthenticationId LUID 4289 TokenType TOKEN_TYPE 4290 ImpersonationLevel SECURITY_IMPERSONATION_LEVEL 4291 MandatoryPolicy TOKEN_MANDATORY_POLICY 4292 Flags DWORD 4293 AppContainerNumber DWORD 4294 PackageSid PSID 4295 CapabilitiesHash PSID_AND_ATTRIBUTES_HASH 4296 } /* winnt.h:3842:13 */ 4297 4298 type TOKEN_ACCESS_INFORMATION = _TOKEN_ACCESS_INFORMATION /* winnt.h:3854:7 */ 4299 type PTOKEN_ACCESS_INFORMATION = uintptr /* winnt.h:3854:32 */ 4300 4301 type _TOKEN_AUDIT_POLICY = struct{ PerUserPolicy [29]UCHAR } /* winnt.h:3858:13 */ 4302 4303 type TOKEN_AUDIT_POLICY = _TOKEN_AUDIT_POLICY /* winnt.h:3860:7 */ 4304 type PTOKEN_AUDIT_POLICY = uintptr /* winnt.h:3860:27 */ 4305 4306 type _TOKEN_SOURCE = struct { 4307 SourceName [8]CHAR 4308 SourceIdentifier LUID 4309 } /* winnt.h:3864:13 */ 4310 4311 type TOKEN_SOURCE = _TOKEN_SOURCE /* winnt.h:3867:7 */ 4312 type PTOKEN_SOURCE = uintptr /* winnt.h:3867:20 */ 4313 4314 type _TOKEN_STATISTICS = struct { 4315 TokenId LUID 4316 AuthenticationId LUID 4317 ExpirationTime LARGE_INTEGER 4318 TokenType TOKEN_TYPE 4319 ImpersonationLevel SECURITY_IMPERSONATION_LEVEL 4320 DynamicCharged DWORD 4321 DynamicAvailable DWORD 4322 GroupCount DWORD 4323 PrivilegeCount DWORD 4324 ModifiedId LUID 4325 } /* winnt.h:3869:13 */ 4326 4327 type TOKEN_STATISTICS = _TOKEN_STATISTICS /* winnt.h:3880:7 */ 4328 type PTOKEN_STATISTICS = uintptr /* winnt.h:3880:24 */ 4329 4330 type _TOKEN_CONTROL = struct { 4331 TokenId LUID 4332 AuthenticationId LUID 4333 ModifiedId LUID 4334 TokenSource TOKEN_SOURCE 4335 } /* winnt.h:3882:13 */ 4336 4337 type TOKEN_CONTROL = _TOKEN_CONTROL /* winnt.h:3887:7 */ 4338 type PTOKEN_CONTROL = uintptr /* winnt.h:3887:21 */ 4339 4340 type _TOKEN_ORIGIN = struct{ OriginatingLogonSession LUID } /* winnt.h:3889:13 */ 4341 4342 type TOKEN_ORIGIN = _TOKEN_ORIGIN /* winnt.h:3891:7 */ 4343 type PTOKEN_ORIGIN = uintptr /* winnt.h:3891:20 */ 4344 4345 type MANDATORY_LEVEL = uint32 /* winnt.h:3901:7 */ 4346 type PMANDATORY_LEVEL = uintptr /* winnt.h:3901:23 */ 4347 4348 type _TOKEN_APPCONTAINER_INFORMATION = struct{ TokenAppContainer PSID } /* winnt.h:3903:13 */ 4349 4350 type TOKEN_APPCONTAINER_INFORMATION = _TOKEN_APPCONTAINER_INFORMATION /* winnt.h:3905:7 */ 4351 type PTOKEN_APPCONTAINER_INFORMATION = uintptr /* winnt.h:3905:38 */ 4352 4353 type _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = struct { 4354 Version DWORD64 4355 Name PWSTR 4356 _ [4]byte 4357 } /* winnt.h:3915:13 */ 4358 4359 type CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE /* winnt.h:3918:7 */ 4360 type PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = uintptr /* winnt.h:3918:43 */ 4361 4362 type _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = struct { 4363 pValue PVOID 4364 ValueLength DWORD 4365 } /* winnt.h:3920:13 */ 4366 4367 type CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE /* winnt.h:3923:7 */ 4368 type PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = uintptr /* winnt.h:3923:52 */ 4369 4370 type _CLAIM_SECURITY_ATTRIBUTE_V1 = struct { 4371 Name PWSTR 4372 ValueType WORD 4373 Reserved WORD 4374 Flags DWORD 4375 ValueCount DWORD 4376 Values struct{ pInt64 PLONG64 } 4377 } /* winnt.h:3936:13 */ 4378 4379 type CLAIM_SECURITY_ATTRIBUTE_V1 = _CLAIM_SECURITY_ATTRIBUTE_V1 /* winnt.h:3949:7 */ 4380 type PCLAIM_SECURITY_ATTRIBUTE_V1 = uintptr /* winnt.h:3949:35 */ 4381 4382 type _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = struct { 4383 Name DWORD 4384 ValueType WORD 4385 Reserved WORD 4386 Flags DWORD 4387 ValueCount DWORD 4388 Values struct{ pInt64 [1]DWORD } 4389 } /* winnt.h:3951:13 */ 4390 4391 type CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 /* winnt.h:3964:7 */ 4392 type PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = uintptr /* winnt.h:3964:44 */ 4393 4394 type _CLAIM_SECURITY_ATTRIBUTES_INFORMATION = struct { 4395 Version WORD 4396 Reserved WORD 4397 AttributeCount DWORD 4398 Attribute struct{ pAttributeV1 PCLAIM_SECURITY_ATTRIBUTE_V1 } 4399 } /* winnt.h:3970:13 */ 4400 4401 type CLAIM_SECURITY_ATTRIBUTES_INFORMATION = _CLAIM_SECURITY_ATTRIBUTES_INFORMATION /* winnt.h:3977:7 */ 4402 type PCLAIM_SECURITY_ATTRIBUTES_INFORMATION = uintptr /* winnt.h:3977:45 */ 4403 4404 type SECURITY_CONTEXT_TRACKING_MODE = BOOLEAN /* winnt.h:3982:21 */ 4405 type PSECURITY_CONTEXT_TRACKING_MODE = uintptr /* winnt.h:3982:52 */ 4406 4407 type _SECURITY_QUALITY_OF_SERVICE = struct { 4408 Length DWORD 4409 ImpersonationLevel SECURITY_IMPERSONATION_LEVEL 4410 ContextTrackingMode SECURITY_CONTEXT_TRACKING_MODE 4411 EffectiveOnly BOOLEAN 4412 _ [2]byte 4413 } /* winnt.h:3984:13 */ 4414 4415 type SECURITY_QUALITY_OF_SERVICE = _SECURITY_QUALITY_OF_SERVICE /* winnt.h:3989:7 */ 4416 type PSECURITY_QUALITY_OF_SERVICE = uintptr /* winnt.h:3989:35 */ 4417 4418 type _SE_IMPERSONATION_STATE = struct { 4419 Token PACCESS_TOKEN 4420 CopyOnOpen BOOLEAN 4421 EffectiveOnly BOOLEAN 4422 _ [2]byte 4423 Level SECURITY_IMPERSONATION_LEVEL 4424 } /* winnt.h:3991:13 */ 4425 4426 type SE_IMPERSONATION_STATE = _SE_IMPERSONATION_STATE /* winnt.h:3996:7 */ 4427 type PSE_IMPERSONATION_STATE = uintptr /* winnt.h:3996:30 */ 4428 4429 type SECURITY_INFORMATION = DWORD /* winnt.h:4003:19 */ 4430 type PSECURITY_INFORMATION = uintptr /* winnt.h:4003:40 */ 4431 4432 type SE_LEARNING_MODE_DATA_TYPE = uint32 /* winnt.h:4023:7 */ 4433 4434 type _SECURITY_CAPABILITIES = struct { 4435 AppContainerSid PSID 4436 Capabilities PSID_AND_ATTRIBUTES 4437 CapabilityCount DWORD 4438 Reserved DWORD 4439 } /* winnt.h:4027:13 */ 4440 4441 type SECURITY_CAPABILITIES = _SECURITY_CAPABILITIES /* winnt.h:4032:7 */ 4442 type PSECURITY_CAPABILITIES = uintptr /* winnt.h:4032:29 */ 4443 type LPSECURITY_CAPABILITIES = uintptr /* winnt.h:4032:53 */ 4444 4445 type _JOB_SET_ARRAY = struct { 4446 JobHandle HANDLE 4447 MemberLevel DWORD 4448 Flags DWORD 4449 } /* winnt.h:4087:13 */ 4450 4451 type JOB_SET_ARRAY = _JOB_SET_ARRAY /* winnt.h:4091:7 */ 4452 type PJOB_SET_ARRAY = uintptr /* winnt.h:4091:21 */ 4453 4454 type _EXCEPTION_REGISTRATION_RECORD = struct { 4455 __0 struct{ Next uintptr } 4456 __4 struct{ Handler PEXCEPTION_ROUTINE } 4457 } /* winnt.h:4097:13 */ 4458 4459 type EXCEPTION_REGISTRATION_RECORD = _EXCEPTION_REGISTRATION_RECORD /* winnt.h:4106:7 */ 4460 4461 type PEXCEPTION_REGISTRATION_RECORD = uintptr /* winnt.h:4108:43 */ 4462 4463 type EXCEPTION_REGISTRATION = EXCEPTION_REGISTRATION_RECORD /* winnt.h:4110:43 */ 4464 type PEXCEPTION_REGISTRATION = PEXCEPTION_REGISTRATION_RECORD /* winnt.h:4111:44 */ 4465 4466 type _NT_TIB = struct { 4467 ExceptionList uintptr 4468 StackBase PVOID 4469 StackLimit PVOID 4470 SubSystemTib PVOID 4471 __16 struct{ FiberData PVOID } 4472 ArbitraryUserPointer PVOID 4473 Self uintptr 4474 } /* winnt.h:4116:28 */ 4475 4476 type NT_TIB = _NT_TIB /* winnt.h:4127:7 */ 4477 type PNT_TIB = uintptr /* winnt.h:4128:20 */ 4478 4479 type _NT_TIB32 = struct { 4480 ExceptionList DWORD 4481 StackBase DWORD 4482 StackLimit DWORD 4483 SubSystemTib DWORD 4484 __16 struct{ FiberData DWORD } 4485 ArbitraryUserPointer DWORD 4486 Self DWORD 4487 } /* winnt.h:4131:28 */ 4488 4489 type NT_TIB32 = _NT_TIB32 /* winnt.h:4142:7 */ 4490 type PNT_TIB32 = uintptr /* winnt.h:4142:16 */ 4491 4492 type _NT_TIB64 = struct { 4493 ExceptionList DWORD64 4494 StackBase DWORD64 4495 StackLimit DWORD64 4496 SubSystemTib DWORD64 4497 __32 struct{ FiberData DWORD64 } 4498 ArbitraryUserPointer DWORD64 4499 Self DWORD64 4500 } /* winnt.h:4144:28 */ 4501 4502 type NT_TIB64 = _NT_TIB64 /* winnt.h:4155:7 */ 4503 type PNT_TIB64 = uintptr /* winnt.h:4155:16 */ 4504 4505 type _UMS_CREATE_THREAD_ATTRIBUTES = struct { 4506 UmsVersion DWORD 4507 UmsContext PVOID 4508 UmsCompletionList PVOID 4509 } /* winnt.h:4166:13 */ 4510 4511 type UMS_CREATE_THREAD_ATTRIBUTES = _UMS_CREATE_THREAD_ATTRIBUTES /* winnt.h:4170:7 */ 4512 type PUMS_CREATE_THREAD_ATTRIBUTES = uintptr /* winnt.h:4170:36 */ 4513 4514 type _QUOTA_LIMITS = struct { 4515 PagedPoolLimit SIZE_T 4516 NonPagedPoolLimit SIZE_T 4517 MinimumWorkingSetSize SIZE_T 4518 MaximumWorkingSetSize SIZE_T 4519 PagefileLimit SIZE_T 4520 _ [4]byte 4521 TimeLimit LARGE_INTEGER 4522 } /* winnt.h:4172:13 */ 4523 4524 type QUOTA_LIMITS = _QUOTA_LIMITS /* winnt.h:4179:7 */ 4525 type PQUOTA_LIMITS = uintptr /* winnt.h:4179:20 */ 4526 4527 type _RATE_QUOTA_LIMIT = struct{ RateData DWORD } /* winnt.h:4187:13 */ 4528 4529 type RATE_QUOTA_LIMIT = _RATE_QUOTA_LIMIT /* winnt.h:4193:7 */ 4530 type PRATE_QUOTA_LIMIT = uintptr /* winnt.h:4193:25 */ 4531 4532 type _QUOTA_LIMITS_EX = struct { 4533 PagedPoolLimit SIZE_T 4534 NonPagedPoolLimit SIZE_T 4535 MinimumWorkingSetSize SIZE_T 4536 MaximumWorkingSetSize SIZE_T 4537 PagefileLimit SIZE_T 4538 _ [4]byte 4539 TimeLimit LARGE_INTEGER 4540 WorkingSetLimit SIZE_T 4541 Reserved2 SIZE_T 4542 Reserved3 SIZE_T 4543 Reserved4 SIZE_T 4544 Flags DWORD 4545 CpuRateLimit RATE_QUOTA_LIMIT 4546 } /* winnt.h:4195:13 */ 4547 4548 type QUOTA_LIMITS_EX = _QUOTA_LIMITS_EX /* winnt.h:4208:7 */ 4549 type PQUOTA_LIMITS_EX = uintptr /* winnt.h:4208:23 */ 4550 4551 type _IO_COUNTERS = struct { 4552 ReadOperationCount ULONGLONG 4553 WriteOperationCount ULONGLONG 4554 OtherOperationCount ULONGLONG 4555 ReadTransferCount ULONGLONG 4556 WriteTransferCount ULONGLONG 4557 OtherTransferCount ULONGLONG 4558 } /* winnt.h:4210:13 */ 4559 4560 type IO_COUNTERS = _IO_COUNTERS /* winnt.h:4217:7 */ 4561 type PIO_COUNTERS = uintptr /* winnt.h:4218:25 */ 4562 4563 type HARDWARE_COUNTER_TYPE = uint32 /* winnt.h:4226:7 */ 4564 type PHARDWARE_COUNTER_TYPE = uintptr /* winnt.h:4226:30 */ 4565 4566 type PROCESS_MITIGATION_POLICY = uint32 /* winnt.h:4241:7 */ 4567 type PPROCESS_MITIGATION_POLICY = uintptr /* winnt.h:4241:33 */ 4568 4569 type _PROCESS_MITIGATION_ASLR_POLICY = struct{ __0 struct{ Flags DWORD } } /* winnt.h:4243:13 */ 4570 4571 type PROCESS_MITIGATION_ASLR_POLICY = _PROCESS_MITIGATION_ASLR_POLICY /* winnt.h:4254:7 */ 4572 type PPROCESS_MITIGATION_ASLR_POLICY = uintptr /* winnt.h:4254:38 */ 4573 4574 type _PROCESS_MITIGATION_DEP_POLICY = struct { 4575 __0 struct{ Flags DWORD } 4576 Permanent BOOLEAN 4577 _ [3]byte 4578 } /* winnt.h:4256:13 */ 4579 4580 type PROCESS_MITIGATION_DEP_POLICY = _PROCESS_MITIGATION_DEP_POLICY /* winnt.h:4266:7 */ 4581 type PPROCESS_MITIGATION_DEP_POLICY = uintptr /* winnt.h:4266:37 */ 4582 4583 type _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = struct{ __0 struct{ Flags DWORD } } /* winnt.h:4268:13 */ 4584 4585 type PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY /* winnt.h:4277:7 */ 4586 type PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = uintptr /* winnt.h:4277:53 */ 4587 4588 type _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = struct{ __0 struct{ Flags DWORD } } /* winnt.h:4279:13 */ 4589 4590 type PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY /* winnt.h:4287:7 */ 4591 type PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = uintptr /* winnt.h:4287:53 */ 4592 4593 type _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = struct{ __0 struct{ Flags DWORD } } /* winnt.h:4289:13 */ 4594 4595 type PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY /* winnt.h:4297:7 */ 4596 type PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = uintptr /* winnt.h:4297:57 */ 4597 4598 type _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = struct{ __0 struct{ Flags DWORD } } /* winnt.h:4299:13 */ 4599 4600 type PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY /* winnt.h:4309:7 */ 4601 type PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = uintptr /* winnt.h:4309:53 */ 4602 4603 type _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = struct{ __0 struct{ Flags DWORD } } /* winnt.h:4311:13 */ 4604 4605 type PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY /* winnt.h:4321:7 */ 4606 type PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = uintptr /* winnt.h:4321:51 */ 4607 4608 type _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY = struct { 4609 __0 struct { 4610 Flags DWORD 4611 _ [4]byte 4612 } 4613 } /* winnt.h:4323:13 */ 4614 4615 type PROCESS_MITIGATION_DYNAMIC_CODE_POLICY = _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY /* winnt.h:4333:7 */ 4616 type PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY = uintptr /* winnt.h:4333:47 */ 4617 4618 type _PROCESS_MITIGATION_FONT_DISABLE_POLICY = struct{ __0 struct{ Flags DWORD } } /* winnt.h:4335:13 */ 4619 4620 type PROCESS_MITIGATION_FONT_DISABLE_POLICY = _PROCESS_MITIGATION_FONT_DISABLE_POLICY /* winnt.h:4344:7 */ 4621 type PPROCESS_MITIGATION_FONT_DISABLE_POLICY = uintptr /* winnt.h:4344:47 */ 4622 4623 type _PROCESS_MITIGATION_IMAGE_LOAD_POLICY = struct{ __0 struct{ Flags DWORD } } /* winnt.h:4346:13 */ 4624 4625 type PROCESS_MITIGATION_IMAGE_LOAD_POLICY = _PROCESS_MITIGATION_IMAGE_LOAD_POLICY /* winnt.h:4356:7 */ 4626 type PPROCESS_MITIGATION_IMAGE_LOAD_POLICY = uintptr /* winnt.h:4356:45 */ 4627 4628 type _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION = struct { 4629 TotalUserTime LARGE_INTEGER 4630 TotalKernelTime LARGE_INTEGER 4631 ThisPeriodTotalUserTime LARGE_INTEGER 4632 ThisPeriodTotalKernelTime LARGE_INTEGER 4633 TotalPageFaultCount DWORD 4634 TotalProcesses DWORD 4635 ActiveProcesses DWORD 4636 TotalTerminatedProcesses DWORD 4637 } /* winnt.h:4358:13 */ 4638 4639 type JOBOBJECT_BASIC_ACCOUNTING_INFORMATION = _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION /* winnt.h:4367:7 */ 4640 type PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION = uintptr /* winnt.h:4367:46 */ 4641 4642 type _JOBOBJECT_BASIC_LIMIT_INFORMATION = struct { 4643 PerProcessUserTimeLimit LARGE_INTEGER 4644 PerJobUserTimeLimit LARGE_INTEGER 4645 LimitFlags DWORD 4646 MinimumWorkingSetSize SIZE_T 4647 MaximumWorkingSetSize SIZE_T 4648 ActiveProcessLimit DWORD 4649 Affinity ULONG_PTR 4650 PriorityClass DWORD 4651 SchedulingClass DWORD 4652 _ [4]byte 4653 } /* winnt.h:4369:13 */ 4654 4655 type JOBOBJECT_BASIC_LIMIT_INFORMATION = _JOBOBJECT_BASIC_LIMIT_INFORMATION /* winnt.h:4379:7 */ 4656 type PJOBOBJECT_BASIC_LIMIT_INFORMATION = uintptr /* winnt.h:4379:41 */ 4657 4658 type _JOBOBJECT_EXTENDED_LIMIT_INFORMATION = struct { 4659 BasicLimitInformation JOBOBJECT_BASIC_LIMIT_INFORMATION 4660 IoInfo IO_COUNTERS 4661 ProcessMemoryLimit SIZE_T 4662 JobMemoryLimit SIZE_T 4663 PeakProcessMemoryUsed SIZE_T 4664 PeakJobMemoryUsed SIZE_T 4665 } /* winnt.h:4381:13 */ 4666 4667 type JOBOBJECT_EXTENDED_LIMIT_INFORMATION = _JOBOBJECT_EXTENDED_LIMIT_INFORMATION /* winnt.h:4388:7 */ 4668 type PJOBOBJECT_EXTENDED_LIMIT_INFORMATION = uintptr /* winnt.h:4388:44 */ 4669 4670 type _JOBOBJECT_BASIC_PROCESS_ID_LIST = struct { 4671 NumberOfAssignedProcesses DWORD 4672 NumberOfProcessIdsInList DWORD 4673 ProcessIdList [1]ULONG_PTR 4674 } /* winnt.h:4390:13 */ 4675 4676 type JOBOBJECT_BASIC_PROCESS_ID_LIST = _JOBOBJECT_BASIC_PROCESS_ID_LIST /* winnt.h:4394:7 */ 4677 type PJOBOBJECT_BASIC_PROCESS_ID_LIST = uintptr /* winnt.h:4394:39 */ 4678 4679 type _JOBOBJECT_BASIC_UI_RESTRICTIONS = struct{ UIRestrictionsClass DWORD } /* winnt.h:4396:13 */ 4680 4681 type JOBOBJECT_BASIC_UI_RESTRICTIONS = _JOBOBJECT_BASIC_UI_RESTRICTIONS /* winnt.h:4398:7 */ 4682 type PJOBOBJECT_BASIC_UI_RESTRICTIONS = uintptr /* winnt.h:4398:39 */ 4683 4684 type _JOBOBJECT_SECURITY_LIMIT_INFORMATION = struct { 4685 SecurityLimitFlags DWORD 4686 JobToken HANDLE 4687 SidsToDisable PTOKEN_GROUPS 4688 PrivilegesToDelete PTOKEN_PRIVILEGES 4689 RestrictedSids PTOKEN_GROUPS 4690 } /* winnt.h:4400:13 */ 4691 4692 type JOBOBJECT_SECURITY_LIMIT_INFORMATION = _JOBOBJECT_SECURITY_LIMIT_INFORMATION /* winnt.h:4406:7 */ 4693 type PJOBOBJECT_SECURITY_LIMIT_INFORMATION = uintptr /* winnt.h:4406:44 */ 4694 4695 type _JOBOBJECT_END_OF_JOB_TIME_INFORMATION = struct{ EndOfJobTimeAction DWORD } /* winnt.h:4408:13 */ 4696 4697 type JOBOBJECT_END_OF_JOB_TIME_INFORMATION = _JOBOBJECT_END_OF_JOB_TIME_INFORMATION /* winnt.h:4410:7 */ 4698 type PJOBOBJECT_END_OF_JOB_TIME_INFORMATION = uintptr /* winnt.h:4410:45 */ 4699 4700 type _JOBOBJECT_ASSOCIATE_COMPLETION_PORT = struct { 4701 CompletionKey PVOID 4702 CompletionPort HANDLE 4703 } /* winnt.h:4412:13 */ 4704 4705 type JOBOBJECT_ASSOCIATE_COMPLETION_PORT = _JOBOBJECT_ASSOCIATE_COMPLETION_PORT /* winnt.h:4415:7 */ 4706 type PJOBOBJECT_ASSOCIATE_COMPLETION_PORT = uintptr /* winnt.h:4415:43 */ 4707 4708 type _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION = struct { 4709 BasicInfo JOBOBJECT_BASIC_ACCOUNTING_INFORMATION 4710 IoInfo IO_COUNTERS 4711 } /* winnt.h:4417:13 */ 4712 4713 type JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION = _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION /* winnt.h:4420:7 */ 4714 type PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION = uintptr /* winnt.h:4420:53 */ 4715 4716 type _JOBOBJECT_JOBSET_INFORMATION = struct{ MemberLevel DWORD } /* winnt.h:4422:13 */ 4717 4718 type JOBOBJECT_JOBSET_INFORMATION = _JOBOBJECT_JOBSET_INFORMATION /* winnt.h:4424:7 */ 4719 type PJOBOBJECT_JOBSET_INFORMATION = uintptr /* winnt.h:4424:36 */ 4720 4721 type JOBOBJECT_RATE_CONTROL_TOLERANCE = uint32 /* winnt.h:4430:7 */ 4722 4723 type JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = uint32 /* winnt.h:4436:7 */ 4724 4725 type _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION = struct { 4726 IoReadBytesLimit DWORD64 4727 IoWriteBytesLimit DWORD64 4728 PerJobUserTimeLimit LARGE_INTEGER 4729 JobMemoryLimit DWORD64 4730 RateControlTolerance JOBOBJECT_RATE_CONTROL_TOLERANCE 4731 RateControlToleranceInterval JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL 4732 LimitFlags DWORD 4733 _ [4]byte 4734 } /* winnt.h:4438:13 */ 4735 4736 type JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION = _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION /* winnt.h:4446:7 */ 4737 type PJOBOBJECT_NOTIFICATION_LIMIT_INFORMATION = uintptr /* winnt.h:4446:48 */ 4738 4739 type _JOBOBJECT_LIMIT_VIOLATION_INFORMATION = struct { 4740 LimitFlags DWORD 4741 ViolationLimitFlags DWORD 4742 IoReadBytes DWORD64 4743 IoReadBytesLimit DWORD64 4744 IoWriteBytes DWORD64 4745 IoWriteBytesLimit DWORD64 4746 PerJobUserTime LARGE_INTEGER 4747 PerJobUserTimeLimit LARGE_INTEGER 4748 JobMemory DWORD64 4749 JobMemoryLimit DWORD64 4750 RateControlTolerance JOBOBJECT_RATE_CONTROL_TOLERANCE 4751 RateControlToleranceLimit JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL 4752 } /* winnt.h:4448:13 */ 4753 4754 type JOBOBJECT_LIMIT_VIOLATION_INFORMATION = _JOBOBJECT_LIMIT_VIOLATION_INFORMATION /* winnt.h:4461:7 */ 4755 type PJOBOBJECT_LIMIT_VIOLATION_INFORMATION = uintptr /* winnt.h:4461:45 */ 4756 4757 type _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION = struct { 4758 ControlFlags DWORD 4759 __4 struct{ CpuRate DWORD } 4760 } /* winnt.h:4463:13 */ 4761 4762 type JOBOBJECT_CPU_RATE_CONTROL_INFORMATION = _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION /* winnt.h:4469:7 */ 4763 type PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION = uintptr /* winnt.h:4469:46 */ 4764 4765 type JOBOBJECTINFOCLASS = uint32 /* winnt.h:4573:7 */ 4766 4767 type FIRMWARE_TYPE = uint32 /* winnt.h:4580:7 */ 4768 type PFIRMWARE_TYPE = uintptr /* winnt.h:4580:21 */ 4769 4770 type LOGICAL_PROCESSOR_RELATIONSHIP = uint32 /* winnt.h:4603:7 */ 4771 4772 type PROCESSOR_CACHE_TYPE = uint32 /* winnt.h:4609:7 */ 4773 4774 type _CACHE_DESCRIPTOR = struct { 4775 Level BYTE 4776 Associativity BYTE 4777 LineSize WORD 4778 Size DWORD 4779 Type PROCESSOR_CACHE_TYPE 4780 } /* winnt.h:4613:13 */ 4781 4782 type CACHE_DESCRIPTOR = _CACHE_DESCRIPTOR /* winnt.h:4619:7 */ 4783 type PCACHE_DESCRIPTOR = uintptr /* winnt.h:4619:24 */ 4784 4785 type _SYSTEM_LOGICAL_PROCESSOR_INFORMATION = struct { 4786 ProcessorMask ULONG_PTR 4787 Relationship LOGICAL_PROCESSOR_RELATIONSHIP 4788 u struct { 4789 _ [0]uint64 4790 ProcessorCore struct{ Flags BYTE } 4791 _ [15]byte 4792 } 4793 } /* winnt.h:4621:13 */ 4794 4795 type SYSTEM_LOGICAL_PROCESSOR_INFORMATION = _SYSTEM_LOGICAL_PROCESSOR_INFORMATION /* winnt.h:4634:7 */ 4796 type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION = uintptr /* winnt.h:4634:44 */ 4797 4798 type _PROCESSOR_RELATIONSHIP = struct { 4799 Flags BYTE 4800 Reserved [21]BYTE 4801 GroupCount WORD 4802 GroupMask [1]GROUP_AFFINITY 4803 } /* winnt.h:4636:13 */ 4804 4805 type PROCESSOR_RELATIONSHIP = _PROCESSOR_RELATIONSHIP /* winnt.h:4641:7 */ 4806 type PPROCESSOR_RELATIONSHIP = uintptr /* winnt.h:4641:30 */ 4807 4808 type _NUMA_NODE_RELATIONSHIP = struct { 4809 NodeNumber DWORD 4810 Reserved [20]BYTE 4811 GroupMask GROUP_AFFINITY 4812 } /* winnt.h:4643:13 */ 4813 4814 type NUMA_NODE_RELATIONSHIP = _NUMA_NODE_RELATIONSHIP /* winnt.h:4647:7 */ 4815 type PNUMA_NODE_RELATIONSHIP = uintptr /* winnt.h:4647:30 */ 4816 4817 type _CACHE_RELATIONSHIP = struct { 4818 Level BYTE 4819 Associativity BYTE 4820 LineSize WORD 4821 CacheSize DWORD 4822 Type PROCESSOR_CACHE_TYPE 4823 Reserved [20]BYTE 4824 GroupMask GROUP_AFFINITY 4825 } /* winnt.h:4649:13 */ 4826 4827 type CACHE_RELATIONSHIP = _CACHE_RELATIONSHIP /* winnt.h:4657:7 */ 4828 type PCACHE_RELATIONSHIP = uintptr /* winnt.h:4657:26 */ 4829 4830 type _PROCESSOR_GROUP_INFO = struct { 4831 MaximumProcessorCount BYTE 4832 ActiveProcessorCount BYTE 4833 Reserved [38]BYTE 4834 ActiveProcessorMask KAFFINITY 4835 } /* winnt.h:4659:13 */ 4836 4837 type PROCESSOR_GROUP_INFO = _PROCESSOR_GROUP_INFO /* winnt.h:4664:7 */ 4838 type PPROCESSOR_GROUP_INFO = uintptr /* winnt.h:4664:28 */ 4839 4840 type _GROUP_RELATIONSHIP = struct { 4841 MaximumGroupCount WORD 4842 ActiveGroupCount WORD 4843 Reserved [20]BYTE 4844 GroupInfo [1]PROCESSOR_GROUP_INFO 4845 } /* winnt.h:4666:13 */ 4846 4847 type GROUP_RELATIONSHIP = _GROUP_RELATIONSHIP /* winnt.h:4671:7 */ 4848 type PGROUP_RELATIONSHIP = uintptr /* winnt.h:4671:26 */ 4849 4850 type _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX = struct { 4851 Relationship LOGICAL_PROCESSOR_RELATIONSHIP 4852 Size DWORD 4853 u struct { 4854 Processor PROCESSOR_RELATIONSHIP 4855 _ [32]byte 4856 } 4857 } /* winnt.h:4673:5 */ 4858 4859 type SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX = _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX /* winnt.h:4684:61 */ 4860 type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX = uintptr /* winnt.h:4684:101 */ 4861 4862 type _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = struct{ CycleTime DWORD64 } /* winnt.h:4686:13 */ 4863 4864 type SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION /* winnt.h:4688:7 */ 4865 type PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = uintptr /* winnt.h:4688:47 */ 4866 4867 type _XSTATE_FEATURE = struct { 4868 Offset DWORD 4869 Size DWORD 4870 } /* winnt.h:4771:13 */ 4871 4872 type XSTATE_FEATURE = _XSTATE_FEATURE /* winnt.h:4774:7 */ 4873 type PXSTATE_FEATURE = uintptr /* winnt.h:4774:22 */ 4874 4875 type _XSTATE_CONFIGURATION = struct { 4876 EnabledFeatures DWORD64 4877 EnabledVolatileFeatures DWORD64 4878 Size DWORD 4879 OptimizedSave uint8 /* DWORD OptimizedSave: 1 */ 4880 _ [3]byte 4881 Features [64]XSTATE_FEATURE 4882 } /* winnt.h:4776:13 */ 4883 4884 type XSTATE_CONFIGURATION = _XSTATE_CONFIGURATION /* winnt.h:4782:7 */ 4885 type PXSTATE_CONFIGURATION = uintptr /* winnt.h:4782:28 */ 4886 4887 type _MEMORY_BASIC_INFORMATION = struct { 4888 BaseAddress PVOID 4889 AllocationBase PVOID 4890 AllocationProtect DWORD 4891 RegionSize SIZE_T 4892 State DWORD 4893 Protect DWORD 4894 Type DWORD 4895 } /* winnt.h:4784:13 */ 4896 4897 type MEMORY_BASIC_INFORMATION = _MEMORY_BASIC_INFORMATION /* winnt.h:4792:7 */ 4898 type PMEMORY_BASIC_INFORMATION = uintptr /* winnt.h:4792:32 */ 4899 4900 type _MEMORY_BASIC_INFORMATION32 = struct { 4901 BaseAddress DWORD 4902 AllocationBase DWORD 4903 AllocationProtect DWORD 4904 RegionSize DWORD 4905 State DWORD 4906 Protect DWORD 4907 Type DWORD 4908 } /* winnt.h:4794:13 */ 4909 4910 type MEMORY_BASIC_INFORMATION32 = _MEMORY_BASIC_INFORMATION32 /* winnt.h:4802:7 */ 4911 type PMEMORY_BASIC_INFORMATION32 = uintptr /* winnt.h:4802:34 */ 4912 4913 type _MEMORY_BASIC_INFORMATION64 = struct { 4914 BaseAddress ULONGLONG 4915 AllocationBase ULONGLONG 4916 AllocationProtect DWORD 4917 __alignment1 DWORD 4918 RegionSize ULONGLONG 4919 State DWORD 4920 Protect DWORD 4921 Type DWORD 4922 __alignment2 DWORD 4923 } /* winnt.h:4804:13 */ 4924 4925 type MEMORY_BASIC_INFORMATION64 = _MEMORY_BASIC_INFORMATION64 /* winnt.h:4814:7 */ 4926 type PMEMORY_BASIC_INFORMATION64 = uintptr /* winnt.h:4814:34 */ 4927 4928 type FILE_ID_1281 = struct { 4929 LowPart ULONGLONG 4930 HighPart ULONGLONG 4931 } /* winnt.h:4981:13 */ 4932 4933 type FILE_ID_128 = FILE_ID_1281 /* winnt.h:4984:7 */ 4934 type PFILE_ID_128 = uintptr /* winnt.h:4984:20 */ 4935 4936 type _FILE_NOTIFY_INFORMATION = struct { 4937 NextEntryOffset DWORD 4938 Action DWORD 4939 FileNameLength DWORD 4940 FileName [1]WCHAR 4941 _ [2]byte 4942 } /* winnt.h:4986:13 */ 4943 4944 type FILE_NOTIFY_INFORMATION = _FILE_NOTIFY_INFORMATION /* winnt.h:4991:7 */ 4945 type PFILE_NOTIFY_INFORMATION = uintptr /* winnt.h:4991:31 */ 4946 4947 type _FILE_SEGMENT_ELEMENT = struct { 4948 _ [0]uint64 4949 Buffer PVOID64 4950 _ [4]byte 4951 } /* winnt.h:4993:13 */ 4952 4953 type FILE_SEGMENT_ELEMENT = _FILE_SEGMENT_ELEMENT /* winnt.h:4996:7 */ 4954 type PFILE_SEGMENT_ELEMENT = uintptr /* winnt.h:4996:28 */ 4955 4956 type _REPARSE_GUID_DATA_BUFFER = struct { 4957 ReparseTag DWORD 4958 ReparseDataLength WORD 4959 Reserved WORD 4960 ReparseGuid GUID 4961 GenericReparseBuffer struct{ DataBuffer [1]BYTE } 4962 _ [3]byte 4963 } /* winnt.h:4998:13 */ 4964 4965 type REPARSE_GUID_DATA_BUFFER = _REPARSE_GUID_DATA_BUFFER /* winnt.h:5006:7 */ 4966 type PREPARSE_GUID_DATA_BUFFER = uintptr /* winnt.h:5006:32 */ 4967 4968 type SYSTEM_POWER_STATE = uint32 /* winnt.h:5231:5 */ 4969 type PSYSTEM_POWER_STATE = uintptr /* winnt.h:5231:24 */ 4970 4971 type POWER_ACTION = uint32 /* winnt.h:5239:5 */ 4972 type PPOWER_ACTION = uintptr /* winnt.h:5239:18 */ 4973 4974 type DEVICE_POWER_STATE = uint32 /* winnt.h:5244:5 */ 4975 type PDEVICE_POWER_STATE = uintptr /* winnt.h:5244:24 */ 4976 4977 type MONITOR_DISPLAY_STATE = uint32 /* winnt.h:5248:5 */ 4978 type PMONITOR_DISPLAY_STATE = uintptr /* winnt.h:5248:28 */ 4979 4980 type USER_ACTIVITY_PRESENCE = uint32 /* winnt.h:5256:5 */ 4981 type PUSER_ACTIVITY_PRESENCE = uintptr /* winnt.h:5256:28 */ 4982 4983 type EXECUTION_STATE = DWORD /* winnt.h:5264:17 */ 4984 type PEXECUTION_STATE = uintptr /* winnt.h:5264:34 */ 4985 4986 type LATENCY_TIME = uint32 /* winnt.h:5268:5 */ 4987 4988 type POWER_REQUEST_TYPE = uint32 /* winnt.h:5286:5 */ 4989 type PPOWER_REQUEST_TYPE = uintptr /* winnt.h:5286:24 */ 4990 4991 type CM_Power_Data_s = struct { 4992 PD_Size DWORD 4993 PD_MostRecentPowerState DEVICE_POWER_STATE 4994 PD_Capabilities DWORD 4995 PD_D1Latency DWORD 4996 PD_D2Latency DWORD 4997 PD_D3Latency DWORD 4998 PD_PowerStateMapping [7]DEVICE_POWER_STATE 4999 PD_DeepestSystemWake SYSTEM_POWER_STATE 5000 } /* winnt.h:5298:13 */ 5001 5002 type CM_POWER_DATA = CM_Power_Data_s /* winnt.h:5307:7 */ 5003 type PCM_POWER_DATA = uintptr /* winnt.h:5307:21 */ 5004 5005 type POWER_INFORMATION_LEVEL = uint32 /* winnt.h:5391:7 */ 5006 5007 type POWER_USER_PRESENCE_TYPE = uint32 /* winnt.h:5397:7 */ 5008 type PPOWER_USER_PRESENCE_TYPE = uintptr /* winnt.h:5397:32 */ 5009 5010 type _POWER_USER_PRESENCE = struct{ UserPresence POWER_USER_PRESENCE_TYPE } /* winnt.h:5399:13 */ 5011 5012 type POWER_USER_PRESENCE = _POWER_USER_PRESENCE /* winnt.h:5401:7 */ 5013 type PPOWER_USER_PRESENCE = uintptr /* winnt.h:5401:27 */ 5014 5015 type _POWER_SESSION_CONNECT = struct { 5016 Connected BOOLEAN 5017 Console BOOLEAN 5018 } /* winnt.h:5403:13 */ 5019 5020 type POWER_SESSION_CONNECT = _POWER_SESSION_CONNECT /* winnt.h:5406:7 */ 5021 type PPOWER_SESSION_CONNECT = uintptr /* winnt.h:5406:29 */ 5022 5023 type _POWER_SESSION_TIMEOUTS = struct { 5024 InputTimeout DWORD 5025 DisplayTimeout DWORD 5026 } /* winnt.h:5408:13 */ 5027 5028 type POWER_SESSION_TIMEOUTS = _POWER_SESSION_TIMEOUTS /* winnt.h:5411:7 */ 5029 type PPOWER_SESSION_TIMEOUTS = uintptr /* winnt.h:5411:30 */ 5030 5031 type _POWER_SESSION_RIT_STATE = struct { 5032 Active BOOLEAN 5033 _ [3]byte 5034 LastInputTime DWORD 5035 } /* winnt.h:5413:13 */ 5036 5037 type POWER_SESSION_RIT_STATE = _POWER_SESSION_RIT_STATE /* winnt.h:5416:7 */ 5038 type PPOWER_SESSION_RIT_STATE = uintptr /* winnt.h:5416:31 */ 5039 5040 type _POWER_SESSION_WINLOGON = struct { 5041 SessionId DWORD 5042 Console BOOLEAN 5043 Locked BOOLEAN 5044 _ [2]byte 5045 } /* winnt.h:5418:13 */ 5046 5047 type POWER_SESSION_WINLOGON = _POWER_SESSION_WINLOGON /* winnt.h:5422:7 */ 5048 type PPOWER_SESSION_WINLOGON = uintptr /* winnt.h:5422:30 */ 5049 5050 type _POWER_IDLE_RESILIENCY = struct { 5051 CoalescingTimeout DWORD 5052 IdleResiliencyPeriod DWORD 5053 } /* winnt.h:5424:13 */ 5054 5055 type POWER_IDLE_RESILIENCY = _POWER_IDLE_RESILIENCY /* winnt.h:5427:7 */ 5056 type PPOWER_IDLE_RESILIENCY = uintptr /* winnt.h:5427:29 */ 5057 5058 type POWER_MONITOR_REQUEST_REASON = uint32 /* winnt.h:5445:7 */ 5059 5060 type _POWER_MONITOR_INVOCATION = struct { 5061 On BOOLEAN 5062 Console BOOLEAN 5063 _ [2]byte 5064 RequestReason POWER_MONITOR_REQUEST_REASON 5065 } /* winnt.h:5447:13 */ 5066 5067 type POWER_MONITOR_INVOCATION = _POWER_MONITOR_INVOCATION /* winnt.h:5451:7 */ 5068 type PPOWER_MONITOR_INVOCATION = uintptr /* winnt.h:5451:32 */ 5069 5070 type _RESUME_PERFORMANCE = struct { 5071 PostTimeMs DWORD 5072 _ [4]byte 5073 TotalResumeTimeMs ULONGLONG 5074 ResumeCompleteTimestamp ULONGLONG 5075 } /* winnt.h:5453:13 */ 5076 5077 type RESUME_PERFORMANCE = _RESUME_PERFORMANCE /* winnt.h:5457:7 */ 5078 type PRESUME_PERFORMANCE = uintptr /* winnt.h:5457:26 */ 5079 5080 type SYSTEM_POWER_CONDITION = uint32 /* winnt.h:5464:7 */ 5081 5082 type SET_POWER_SETTING_VALUE = struct { 5083 Version DWORD 5084 Guid GUID 5085 PowerCondition SYSTEM_POWER_CONDITION 5086 DataLength DWORD 5087 Data [1]BYTE 5088 _ [3]byte 5089 } /* winnt.h:5472:7 */ 5090 type PSET_POWER_SETTING_VALUE = uintptr /* winnt.h:5472:31 */ 5091 5092 type NOTIFY_USER_POWER_SETTING = struct{ Guid GUID } /* winnt.h:5478:7 */ 5093 type PNOTIFY_USER_POWER_SETTING = uintptr /* winnt.h:5478:33 */ 5094 5095 type _APPLICATIONLAUNCH_SETTING_VALUE = struct { 5096 ActivationTime LARGE_INTEGER 5097 Flags DWORD 5098 ButtonInstanceID DWORD 5099 } /* winnt.h:5480:13 */ 5100 5101 type APPLICATIONLAUNCH_SETTING_VALUE = _APPLICATIONLAUNCH_SETTING_VALUE /* winnt.h:5484:7 */ 5102 type PAPPLICATIONLAUNCH_SETTING_VALUE = uintptr /* winnt.h:5484:39 */ 5103 5104 type POWER_PLATFORM_ROLE = uint32 /* winnt.h:5497:7 */ 5105 type PPOWER_PLATFORM_ROLE = uintptr /* winnt.h:5497:27 */ 5106 5107 type _POWER_PLATFORM_INFORMATION = struct{ AoAc BOOLEAN } /* winnt.h:5499:13 */ 5108 5109 type POWER_PLATFORM_INFORMATION = _POWER_PLATFORM_INFORMATION /* winnt.h:5501:7 */ 5110 type PPOWER_PLATFORM_INFORMATION = uintptr /* winnt.h:5501:34 */ 5111 5112 type BATTERY_REPORTING_SCALE = struct { 5113 Granularity DWORD 5114 Capacity DWORD 5115 } /* winnt.h:5520:7 */ 5116 type PBATTERY_REPORTING_SCALE = uintptr /* winnt.h:5520:31 */ 5117 5118 type PPM_WMI_LEGACY_PERFSTATE = struct { 5119 Frequency DWORD 5120 Flags DWORD 5121 PercentFrequency DWORD 5122 } /* winnt.h:5526:7 */ 5123 type PPPM_WMI_LEGACY_PERFSTATE = uintptr /* winnt.h:5526:32 */ 5124 5125 type PPM_WMI_IDLE_STATE = struct { 5126 Latency DWORD 5127 Power DWORD 5128 TimeCheck DWORD 5129 PromotePercent BYTE 5130 DemotePercent BYTE 5131 StateType BYTE 5132 Reserved BYTE 5133 StateFlags DWORD 5134 Context DWORD 5135 IdleHandler DWORD 5136 Reserved1 DWORD 5137 } /* winnt.h:5540:7 */ 5138 type PPPM_WMI_IDLE_STATE = uintptr /* winnt.h:5540:26 */ 5139 5140 type PPM_WMI_IDLE_STATES = struct { 5141 Type DWORD 5142 Count DWORD 5143 TargetState DWORD 5144 OldState DWORD 5145 TargetProcessors DWORD64 5146 State [1]PPM_WMI_IDLE_STATE 5147 } /* winnt.h:5549:7 */ 5148 type PPPM_WMI_IDLE_STATES = uintptr /* winnt.h:5549:27 */ 5149 5150 type PPM_WMI_IDLE_STATES_EX = struct { 5151 Type DWORD 5152 Count DWORD 5153 TargetState DWORD 5154 OldState DWORD 5155 TargetProcessors PVOID 5156 State [1]PPM_WMI_IDLE_STATE 5157 } /* winnt.h:5558:7 */ 5158 type PPPM_WMI_IDLE_STATES_EX = uintptr /* winnt.h:5558:30 */ 5159 5160 type PPM_WMI_PERF_STATE = struct { 5161 Frequency DWORD 5162 Power DWORD 5163 PercentFrequency BYTE 5164 IncreaseLevel BYTE 5165 DecreaseLevel BYTE 5166 Type BYTE 5167 IncreaseTime DWORD 5168 DecreaseTime DWORD 5169 _ [4]byte 5170 Control DWORD64 5171 Status DWORD64 5172 HitCount DWORD 5173 Reserved1 DWORD 5174 Reserved2 DWORD64 5175 Reserved3 DWORD64 5176 } /* winnt.h:5575:7 */ 5177 type PPPM_WMI_PERF_STATE = uintptr /* winnt.h:5575:26 */ 5178 5179 type PPM_WMI_PERF_STATES = struct { 5180 Count DWORD 5181 MaxFrequency DWORD 5182 CurrentState DWORD 5183 MaxPerfState DWORD 5184 MinPerfState DWORD 5185 LowestPerfState DWORD 5186 ThermalConstraint DWORD 5187 BusyAdjThreshold BYTE 5188 PolicyType BYTE 5189 Type BYTE 5190 Reserved BYTE 5191 TimerInterval DWORD 5192 _ [4]byte 5193 TargetProcessors DWORD64 5194 PStateHandler DWORD 5195 PStateContext DWORD 5196 TStateHandler DWORD 5197 TStateContext DWORD 5198 FeedbackHandler DWORD 5199 Reserved1 DWORD 5200 Reserved2 DWORD64 5201 State [1]PPM_WMI_PERF_STATE 5202 } /* winnt.h:5599:7 */ 5203 type PPPM_WMI_PERF_STATES = uintptr /* winnt.h:5599:27 */ 5204 5205 type PPM_WMI_PERF_STATES_EX = struct { 5206 Count DWORD 5207 MaxFrequency DWORD 5208 CurrentState DWORD 5209 MaxPerfState DWORD 5210 MinPerfState DWORD 5211 LowestPerfState DWORD 5212 ThermalConstraint DWORD 5213 BusyAdjThreshold BYTE 5214 PolicyType BYTE 5215 Type BYTE 5216 Reserved BYTE 5217 TimerInterval DWORD 5218 TargetProcessors PVOID 5219 PStateHandler DWORD 5220 PStateContext DWORD 5221 TStateHandler DWORD 5222 TStateContext DWORD 5223 FeedbackHandler DWORD 5224 Reserved1 DWORD 5225 Reserved2 DWORD64 5226 State [1]PPM_WMI_PERF_STATE 5227 } /* winnt.h:5623:7 */ 5228 type PPPM_WMI_PERF_STATES_EX = uintptr /* winnt.h:5623:30 */ 5229 5230 type PPM_IDLE_STATE_ACCOUNTING = struct { 5231 IdleTransitions DWORD 5232 FailedTransitions DWORD 5233 InvalidBucketIndex DWORD 5234 _ [4]byte 5235 TotalTime DWORD64 5236 IdleTimeBuckets [6]DWORD 5237 } /* winnt.h:5634:7 */ 5238 type PPPM_IDLE_STATE_ACCOUNTING = uintptr /* winnt.h:5634:33 */ 5239 5240 type PPM_IDLE_ACCOUNTING = struct { 5241 StateCount DWORD 5242 TotalTransitions DWORD 5243 ResetCount DWORD 5244 _ [4]byte 5245 StartTime DWORD64 5246 State [1]PPM_IDLE_STATE_ACCOUNTING 5247 } /* winnt.h:5642:7 */ 5248 type PPPM_IDLE_ACCOUNTING = uintptr /* winnt.h:5642:27 */ 5249 5250 type PPM_IDLE_STATE_BUCKET_EX = struct { 5251 TotalTimeUs DWORD64 5252 MinTimeUs DWORD 5253 MaxTimeUs DWORD 5254 Count DWORD 5255 _ [4]byte 5256 } /* winnt.h:5649:7 */ 5257 type PPPM_IDLE_STATE_BUCKET_EX = uintptr /* winnt.h:5649:32 */ 5258 5259 type PPM_IDLE_STATE_ACCOUNTING_EX = struct { 5260 TotalTime DWORD64 5261 IdleTransitions DWORD 5262 FailedTransitions DWORD 5263 InvalidBucketIndex DWORD 5264 MinTimeUs DWORD 5265 MaxTimeUs DWORD 5266 CancelledTransitions DWORD 5267 IdleTimeBuckets [16]PPM_IDLE_STATE_BUCKET_EX 5268 } /* winnt.h:5660:7 */ 5269 type PPPM_IDLE_STATE_ACCOUNTING_EX = uintptr /* winnt.h:5660:36 */ 5270 5271 type PPM_IDLE_ACCOUNTING_EX = struct { 5272 StateCount DWORD 5273 TotalTransitions DWORD 5274 ResetCount DWORD 5275 AbortCount DWORD 5276 StartTime DWORD64 5277 State [1]PPM_IDLE_STATE_ACCOUNTING_EX 5278 } /* winnt.h:5669:7 */ 5279 type PPPM_IDLE_ACCOUNTING_EX = uintptr /* winnt.h:5669:30 */ 5280 5281 type PPM_PERFSTATE_EVENT = struct { 5282 State DWORD 5283 Status DWORD 5284 Latency DWORD 5285 Speed DWORD 5286 Processor DWORD 5287 } /* winnt.h:5713:7 */ 5288 type PPPM_PERFSTATE_EVENT = uintptr /* winnt.h:5713:27 */ 5289 5290 type PPM_PERFSTATE_DOMAIN_EVENT = struct { 5291 State DWORD 5292 Latency DWORD 5293 Speed DWORD 5294 _ [4]byte 5295 Processors DWORD64 5296 } /* winnt.h:5720:7 */ 5297 type PPPM_PERFSTATE_DOMAIN_EVENT = uintptr /* winnt.h:5720:34 */ 5298 5299 type PPM_IDLESTATE_EVENT = struct { 5300 NewState DWORD 5301 OldState DWORD 5302 Processors DWORD64 5303 } /* winnt.h:5726:7 */ 5304 type PPPM_IDLESTATE_EVENT = uintptr /* winnt.h:5726:27 */ 5305 5306 type PPM_THERMALCHANGE_EVENT = struct { 5307 ThermalConstraint DWORD 5308 _ [4]byte 5309 Processors DWORD64 5310 } /* winnt.h:5731:7 */ 5311 type PPPM_THERMALCHANGE_EVENT = uintptr /* winnt.h:5731:31 */ 5312 type PPM_THERMAL_POLICY_EVENT = struct { 5313 Mode BYTE 5314 _ [7]byte 5315 Processors DWORD64 5316 } /* winnt.h:5735:7 */ 5317 type PPPM_THERMAL_POLICY_EVENT = uintptr /* winnt.h:5735:32 */ 5318 5319 type POWER_ACTION_POLICY = struct { 5320 Action POWER_ACTION 5321 Flags DWORD 5322 EventCode DWORD 5323 } /* winnt.h:5752:7 */ 5324 type PPOWER_ACTION_POLICY = uintptr /* winnt.h:5752:27 */ 5325 5326 type PROCESSOR_IDLESTATE_INFO = struct { 5327 TimeCheck DWORD 5328 DemotePercent BYTE 5329 PromotePercent BYTE 5330 Spare [2]BYTE 5331 } /* winnt.h:5787:7 */ 5332 type PPROCESSOR_IDLESTATE_INFO = uintptr /* winnt.h:5787:32 */ 5333 5334 type SYSTEM_POWER_LEVEL = struct { 5335 Enable BOOLEAN 5336 Spare [3]BYTE 5337 BatteryLevel DWORD 5338 PowerPolicy POWER_ACTION_POLICY 5339 MinSystemState SYSTEM_POWER_STATE 5340 } /* winnt.h:5795:7 */ 5341 type PSYSTEM_POWER_LEVEL = uintptr /* winnt.h:5795:26 */ 5342 5343 type _SYSTEM_POWER_POLICY = struct { 5344 Revision DWORD 5345 PowerButton POWER_ACTION_POLICY 5346 SleepButton POWER_ACTION_POLICY 5347 LidClose POWER_ACTION_POLICY 5348 LidOpenWake SYSTEM_POWER_STATE 5349 Reserved DWORD 5350 Idle POWER_ACTION_POLICY 5351 IdleTimeout DWORD 5352 IdleSensitivity BYTE 5353 DynamicThrottle BYTE 5354 Spare2 [2]BYTE 5355 MinSleep SYSTEM_POWER_STATE 5356 MaxSleep SYSTEM_POWER_STATE 5357 ReducedLatencySleep SYSTEM_POWER_STATE 5358 WinLogonFlags DWORD 5359 Spare3 DWORD 5360 DozeS4Timeout DWORD 5361 BroadcastCapacityResolution DWORD 5362 DischargePolicy [4]SYSTEM_POWER_LEVEL 5363 VideoTimeout DWORD 5364 VideoDimDisplay BOOLEAN 5365 _ [3]byte 5366 VideoReserved [3]DWORD 5367 SpindownTimeout DWORD 5368 OptimizeForPower BOOLEAN 5369 FanThrottleTolerance BYTE 5370 ForcedThrottle BYTE 5371 MinThrottle BYTE 5372 OverThrottled POWER_ACTION_POLICY 5373 } /* winnt.h:5797:13 */ 5374 5375 type SYSTEM_POWER_POLICY = _SYSTEM_POWER_POLICY /* winnt.h:5826:7 */ 5376 type PSYSTEM_POWER_POLICY = uintptr /* winnt.h:5826:27 */ 5377 5378 type PROCESSOR_IDLESTATE_POLICY = struct { 5379 Revision WORD 5380 Flags struct{ AsWORD WORD } 5381 PolicyCount DWORD 5382 Policy [3]PROCESSOR_IDLESTATE_INFO 5383 } /* winnt.h:5846:7 */ 5384 type PPROCESSOR_IDLESTATE_POLICY = uintptr /* winnt.h:5846:34 */ 5385 5386 type _PROCESSOR_POWER_POLICY_INFO = struct { 5387 TimeCheck DWORD 5388 DemoteLimit DWORD 5389 PromoteLimit DWORD 5390 DemotePercent BYTE 5391 PromotePercent BYTE 5392 Spare [2]BYTE 5393 AllowDemotion uint32 /* DWORD AllowDemotion: 1, DWORD AllowPromotion: 1, DWORD Reserved: 30 */ 5394 } /* winnt.h:5848:13 */ 5395 5396 type PROCESSOR_POWER_POLICY_INFO = _PROCESSOR_POWER_POLICY_INFO /* winnt.h:5858:7 */ 5397 type PPROCESSOR_POWER_POLICY_INFO = uintptr /* winnt.h:5858:35 */ 5398 5399 type _PROCESSOR_POWER_POLICY = struct { 5400 Revision DWORD 5401 DynamicThrottle BYTE 5402 Spare [3]BYTE 5403 DisableCStates uint32 /* DWORD DisableCStates: 1, DWORD Reserved: 31 */ 5404 PolicyCount DWORD 5405 Policy [3]PROCESSOR_POWER_POLICY_INFO 5406 } /* winnt.h:5860:13 */ 5407 5408 type PROCESSOR_POWER_POLICY = _PROCESSOR_POWER_POLICY /* winnt.h:5868:7 */ 5409 type PPROCESSOR_POWER_POLICY = uintptr /* winnt.h:5868:30 */ 5410 5411 type PROCESSOR_PERFSTATE_POLICY = struct { 5412 Revision DWORD 5413 MaxThrottle BYTE 5414 MinThrottle BYTE 5415 BusyAdjThreshold BYTE 5416 u struct{ Spare BYTE } 5417 TimeCheck DWORD 5418 IncreaseTime DWORD 5419 DecreaseTime DWORD 5420 IncreasePercent DWORD 5421 DecreasePercent DWORD 5422 } /* winnt.h:5892:7 */ 5423 type PPROCESSOR_PERFSTATE_POLICY = uintptr /* winnt.h:5892:34 */ 5424 5425 type _ADMINISTRATOR_POWER_POLICY = struct { 5426 MinSleep SYSTEM_POWER_STATE 5427 MaxSleep SYSTEM_POWER_STATE 5428 MinVideoTimeout DWORD 5429 MaxVideoTimeout DWORD 5430 MinSpindownTimeout DWORD 5431 MaxSpindownTimeout DWORD 5432 } /* winnt.h:5894:13 */ 5433 5434 type ADMINISTRATOR_POWER_POLICY = _ADMINISTRATOR_POWER_POLICY /* winnt.h:5901:7 */ 5435 type PADMINISTRATOR_POWER_POLICY = uintptr /* winnt.h:5901:34 */ 5436 5437 type SYSTEM_POWER_CAPABILITIES = struct { 5438 PowerButtonPresent BOOLEAN 5439 SleepButtonPresent BOOLEAN 5440 LidPresent BOOLEAN 5441 SystemS1 BOOLEAN 5442 SystemS2 BOOLEAN 5443 SystemS3 BOOLEAN 5444 SystemS4 BOOLEAN 5445 SystemS5 BOOLEAN 5446 HiberFilePresent BOOLEAN 5447 FullWake BOOLEAN 5448 VideoDimPresent BOOLEAN 5449 ApmPresent BOOLEAN 5450 UpsPresent BOOLEAN 5451 ThermalControl BOOLEAN 5452 ProcessorThrottle BOOLEAN 5453 ProcessorMinThrottle BYTE 5454 ProcessorMaxThrottle BYTE 5455 FastSystemS4 BOOLEAN 5456 spare2 [3]BYTE 5457 DiskSpinDown BOOLEAN 5458 spare3 [8]BYTE 5459 SystemBatteriesPresent BOOLEAN 5460 BatteriesAreShortTerm BOOLEAN 5461 BatteryScale [3]BATTERY_REPORTING_SCALE 5462 AcOnLineWake SYSTEM_POWER_STATE 5463 SoftLidWake SYSTEM_POWER_STATE 5464 RtcWake SYSTEM_POWER_STATE 5465 MinDeviceWakeState SYSTEM_POWER_STATE 5466 DefaultLowLatencyWake SYSTEM_POWER_STATE 5467 } /* winnt.h:5933:7 */ 5468 type PSYSTEM_POWER_CAPABILITIES = uintptr /* winnt.h:5933:33 */ 5469 5470 type SYSTEM_BATTERY_STATE = struct { 5471 AcOnLine BOOLEAN 5472 BatteryPresent BOOLEAN 5473 Charging BOOLEAN 5474 Discharging BOOLEAN 5475 Spare1 [4]BOOLEAN 5476 MaxCapacity DWORD 5477 RemainingCapacity DWORD 5478 Rate DWORD 5479 EstimatedTime DWORD 5480 DefaultAlert1 DWORD 5481 DefaultAlert2 DWORD 5482 } /* winnt.h:5947:7 */ 5483 type PSYSTEM_BATTERY_STATE = uintptr /* winnt.h:5947:28 */ 5484 5485 // * 5486 // This file has no copyright assigned and is placed in the Public Domain. 5487 // This file is part of the mingw-w64 runtime package. 5488 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5489 5490 // * 5491 // This file has no copyright assigned and is placed in the Public Domain. 5492 // This file is part of the mingw-w64 runtime package. 5493 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5494 5495 type _IMAGE_DOS_HEADER = struct { 5496 e_magic WORD 5497 e_cblp WORD 5498 e_cp WORD 5499 e_crlc WORD 5500 e_cparhdr WORD 5501 e_minalloc WORD 5502 e_maxalloc WORD 5503 e_ss WORD 5504 e_sp WORD 5505 e_csum WORD 5506 e_ip WORD 5507 e_cs WORD 5508 e_lfarlc WORD 5509 e_ovno WORD 5510 e_res [4]WORD 5511 e_oemid WORD 5512 e_oeminfo WORD 5513 e_res2 [10]WORD 5514 e_lfanew LONG 5515 } /* winnt.h:5959:13 */ 5516 5517 // * 5518 // This file has no copyright assigned and is placed in the Public Domain. 5519 // This file is part of the mingw-w64 runtime package. 5520 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5521 5522 // * 5523 // This file has no copyright assigned and is placed in the Public Domain. 5524 // This file is part of the mingw-w64 runtime package. 5525 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5526 5527 type IMAGE_DOS_HEADER = _IMAGE_DOS_HEADER /* winnt.h:5979:7 */ 5528 type PIMAGE_DOS_HEADER = uintptr /* winnt.h:5979:24 */ 5529 5530 type _IMAGE_OS2_HEADER = struct { 5531 ne_magic WORD 5532 ne_ver CHAR 5533 ne_rev CHAR 5534 ne_enttab WORD 5535 ne_cbenttab WORD 5536 ne_crc LONG 5537 ne_flags WORD 5538 ne_autodata WORD 5539 ne_heap WORD 5540 ne_stack WORD 5541 ne_csip LONG 5542 ne_sssp LONG 5543 ne_cseg WORD 5544 ne_cmod WORD 5545 ne_cbnrestab WORD 5546 ne_segtab WORD 5547 ne_rsrctab WORD 5548 ne_restab WORD 5549 ne_modtab WORD 5550 ne_imptab WORD 5551 ne_nrestab LONG 5552 ne_cmovent WORD 5553 ne_align WORD 5554 ne_cres WORD 5555 ne_exetyp BYTE 5556 ne_flagsothers BYTE 5557 ne_pretthunks WORD 5558 ne_psegrefbytes WORD 5559 ne_swaparea WORD 5560 ne_expver WORD 5561 } /* winnt.h:5981:13 */ 5562 5563 type IMAGE_OS2_HEADER = _IMAGE_OS2_HEADER /* winnt.h:6012:7 */ 5564 type PIMAGE_OS2_HEADER = uintptr /* winnt.h:6012:24 */ 5565 5566 type _IMAGE_VXD_HEADER = struct { 5567 e32_magic WORD 5568 e32_border BYTE 5569 e32_worder BYTE 5570 e32_level DWORD 5571 e32_cpu WORD 5572 e32_os WORD 5573 e32_ver DWORD 5574 e32_mflags DWORD 5575 e32_mpages DWORD 5576 e32_startobj DWORD 5577 e32_eip DWORD 5578 e32_stackobj DWORD 5579 e32_esp DWORD 5580 e32_pagesize DWORD 5581 e32_lastpagesize DWORD 5582 e32_fixupsize DWORD 5583 e32_fixupsum DWORD 5584 e32_ldrsize DWORD 5585 e32_ldrsum DWORD 5586 e32_objtab DWORD 5587 e32_objcnt DWORD 5588 e32_objmap DWORD 5589 e32_itermap DWORD 5590 e32_rsrctab DWORD 5591 e32_rsrccnt DWORD 5592 e32_restab DWORD 5593 e32_enttab DWORD 5594 e32_dirtab DWORD 5595 e32_dircnt DWORD 5596 e32_fpagetab DWORD 5597 e32_frectab DWORD 5598 e32_impmod DWORD 5599 e32_impmodcnt DWORD 5600 e32_impproc DWORD 5601 e32_pagesum DWORD 5602 e32_datapage DWORD 5603 e32_preload DWORD 5604 e32_nrestab DWORD 5605 e32_cbnrestab DWORD 5606 e32_nressum DWORD 5607 e32_autodata DWORD 5608 e32_debuginfo DWORD 5609 e32_debuglen DWORD 5610 e32_instpreload DWORD 5611 e32_instdemand DWORD 5612 e32_heapsize DWORD 5613 e32_res3 [12]BYTE 5614 e32_winresoff DWORD 5615 e32_winreslen DWORD 5616 e32_devid WORD 5617 e32_ddkver WORD 5618 } /* winnt.h:6014:13 */ 5619 5620 type IMAGE_VXD_HEADER = _IMAGE_VXD_HEADER /* winnt.h:6066:7 */ 5621 type PIMAGE_VXD_HEADER = uintptr /* winnt.h:6066:24 */ 5622 5623 // * 5624 // This file has no copyright assigned and is placed in the Public Domain. 5625 // This file is part of the mingw-w64 runtime package. 5626 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5627 5628 type _IMAGE_FILE_HEADER = struct { 5629 Machine WORD 5630 NumberOfSections WORD 5631 TimeDateStamp DWORD 5632 PointerToSymbolTable DWORD 5633 NumberOfSymbols DWORD 5634 SizeOfOptionalHeader WORD 5635 Characteristics WORD 5636 } /* winnt.h:6070:13 */ 5637 5638 // * 5639 // This file has no copyright assigned and is placed in the Public Domain. 5640 // This file is part of the mingw-w64 runtime package. 5641 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5642 5643 type IMAGE_FILE_HEADER = _IMAGE_FILE_HEADER /* winnt.h:6078:7 */ 5644 type PIMAGE_FILE_HEADER = uintptr /* winnt.h:6078:25 */ 5645 5646 type _IMAGE_DATA_DIRECTORY = struct { 5647 VirtualAddress DWORD 5648 Size DWORD 5649 } /* winnt.h:6131:13 */ 5650 5651 type IMAGE_DATA_DIRECTORY = _IMAGE_DATA_DIRECTORY /* winnt.h:6134:7 */ 5652 type PIMAGE_DATA_DIRECTORY = uintptr /* winnt.h:6134:28 */ 5653 5654 type _IMAGE_OPTIONAL_HEADER = struct { 5655 Magic WORD 5656 MajorLinkerVersion BYTE 5657 MinorLinkerVersion BYTE 5658 SizeOfCode DWORD 5659 SizeOfInitializedData DWORD 5660 SizeOfUninitializedData DWORD 5661 AddressOfEntryPoint DWORD 5662 BaseOfCode DWORD 5663 BaseOfData DWORD 5664 ImageBase DWORD 5665 SectionAlignment DWORD 5666 FileAlignment DWORD 5667 MajorOperatingSystemVersion WORD 5668 MinorOperatingSystemVersion WORD 5669 MajorImageVersion WORD 5670 MinorImageVersion WORD 5671 MajorSubsystemVersion WORD 5672 MinorSubsystemVersion WORD 5673 Win32VersionValue DWORD 5674 SizeOfImage DWORD 5675 SizeOfHeaders DWORD 5676 CheckSum DWORD 5677 Subsystem WORD 5678 DllCharacteristics WORD 5679 SizeOfStackReserve DWORD 5680 SizeOfStackCommit DWORD 5681 SizeOfHeapReserve DWORD 5682 SizeOfHeapCommit DWORD 5683 LoaderFlags DWORD 5684 NumberOfRvaAndSizes DWORD 5685 DataDirectory [16]IMAGE_DATA_DIRECTORY 5686 } /* winnt.h:6138:13 */ 5687 5688 type IMAGE_OPTIONAL_HEADER32 = _IMAGE_OPTIONAL_HEADER /* winnt.h:6171:7 */ 5689 type PIMAGE_OPTIONAL_HEADER32 = uintptr /* winnt.h:6171:31 */ 5690 5691 type _IMAGE_ROM_OPTIONAL_HEADER = struct { 5692 Magic WORD 5693 MajorLinkerVersion BYTE 5694 MinorLinkerVersion BYTE 5695 SizeOfCode DWORD 5696 SizeOfInitializedData DWORD 5697 SizeOfUninitializedData DWORD 5698 AddressOfEntryPoint DWORD 5699 BaseOfCode DWORD 5700 BaseOfData DWORD 5701 BaseOfBss DWORD 5702 GprMask DWORD 5703 CprMask [4]DWORD 5704 GpValue DWORD 5705 } /* winnt.h:6173:13 */ 5706 5707 type IMAGE_ROM_OPTIONAL_HEADER = _IMAGE_ROM_OPTIONAL_HEADER /* winnt.h:6187:7 */ 5708 type PIMAGE_ROM_OPTIONAL_HEADER = uintptr /* winnt.h:6187:33 */ 5709 5710 type _IMAGE_OPTIONAL_HEADER64 = struct { 5711 Magic WORD 5712 MajorLinkerVersion BYTE 5713 MinorLinkerVersion BYTE 5714 SizeOfCode DWORD 5715 SizeOfInitializedData DWORD 5716 SizeOfUninitializedData DWORD 5717 AddressOfEntryPoint DWORD 5718 BaseOfCode DWORD 5719 ImageBase ULONGLONG 5720 SectionAlignment DWORD 5721 FileAlignment DWORD 5722 MajorOperatingSystemVersion WORD 5723 MinorOperatingSystemVersion WORD 5724 MajorImageVersion WORD 5725 MinorImageVersion WORD 5726 MajorSubsystemVersion WORD 5727 MinorSubsystemVersion WORD 5728 Win32VersionValue DWORD 5729 SizeOfImage DWORD 5730 SizeOfHeaders DWORD 5731 CheckSum DWORD 5732 Subsystem WORD 5733 DllCharacteristics WORD 5734 SizeOfStackReserve ULONGLONG 5735 SizeOfStackCommit ULONGLONG 5736 SizeOfHeapReserve ULONGLONG 5737 SizeOfHeapCommit ULONGLONG 5738 LoaderFlags DWORD 5739 NumberOfRvaAndSizes DWORD 5740 DataDirectory [16]IMAGE_DATA_DIRECTORY 5741 } /* winnt.h:6189:13 */ 5742 5743 type IMAGE_OPTIONAL_HEADER64 = _IMAGE_OPTIONAL_HEADER64 /* winnt.h:6220:7 */ 5744 type PIMAGE_OPTIONAL_HEADER64 = uintptr /* winnt.h:6220:31 */ 5745 5746 type IMAGE_OPTIONAL_HEADER = IMAGE_OPTIONAL_HEADER32 /* winnt.h:6237:37 */ 5747 type PIMAGE_OPTIONAL_HEADER = PIMAGE_OPTIONAL_HEADER32 /* winnt.h:6238:38 */ 5748 5749 type _IMAGE_NT_HEADERS64 = struct { 5750 Signature DWORD 5751 FileHeader IMAGE_FILE_HEADER 5752 OptionalHeader IMAGE_OPTIONAL_HEADER64 5753 } /* winnt.h:6243:13 */ 5754 5755 type IMAGE_NT_HEADERS64 = _IMAGE_NT_HEADERS64 /* winnt.h:6247:7 */ 5756 type PIMAGE_NT_HEADERS64 = uintptr /* winnt.h:6247:26 */ 5757 5758 type _IMAGE_NT_HEADERS = struct { 5759 Signature DWORD 5760 FileHeader IMAGE_FILE_HEADER 5761 OptionalHeader IMAGE_OPTIONAL_HEADER32 5762 } /* winnt.h:6249:13 */ 5763 5764 type IMAGE_NT_HEADERS32 = _IMAGE_NT_HEADERS /* winnt.h:6253:7 */ 5765 type PIMAGE_NT_HEADERS32 = uintptr /* winnt.h:6253:26 */ 5766 5767 type _IMAGE_ROM_HEADERS = struct { 5768 FileHeader IMAGE_FILE_HEADER 5769 OptionalHeader IMAGE_ROM_OPTIONAL_HEADER 5770 } /* winnt.h:6255:13 */ 5771 5772 type IMAGE_ROM_HEADERS = _IMAGE_ROM_HEADERS /* winnt.h:6258:7 */ 5773 type PIMAGE_ROM_HEADERS = uintptr /* winnt.h:6258:25 */ 5774 5775 type IMAGE_NT_HEADERS = IMAGE_NT_HEADERS32 /* winnt.h:6264:32 */ 5776 type PIMAGE_NT_HEADERS = PIMAGE_NT_HEADERS32 /* winnt.h:6265:33 */ 5777 5778 type ANON_OBJECT_HEADER1 = struct { 5779 Sig1 WORD 5780 Sig2 WORD 5781 Version WORD 5782 Machine WORD 5783 TimeDateStamp DWORD 5784 ClassID CLSID 5785 SizeOfData DWORD 5786 } /* winnt.h:6313:13 */ 5787 5788 type ANON_OBJECT_HEADER = ANON_OBJECT_HEADER1 /* winnt.h:6321:7 */ 5789 5790 type ANON_OBJECT_HEADER_V21 = struct { 5791 Sig1 WORD 5792 Sig2 WORD 5793 Version WORD 5794 Machine WORD 5795 TimeDateStamp DWORD 5796 ClassID CLSID 5797 SizeOfData DWORD 5798 Flags DWORD 5799 MetaDataSize DWORD 5800 MetaDataOffset DWORD 5801 } /* winnt.h:6323:13 */ 5802 5803 type ANON_OBJECT_HEADER_V2 = ANON_OBJECT_HEADER_V21 /* winnt.h:6334:7 */ 5804 5805 type ANON_OBJECT_HEADER_BIGOBJ1 = struct { 5806 Sig1 WORD 5807 Sig2 WORD 5808 Version WORD 5809 Machine WORD 5810 TimeDateStamp DWORD 5811 ClassID CLSID 5812 SizeOfData DWORD 5813 Flags DWORD 5814 MetaDataSize DWORD 5815 MetaDataOffset DWORD 5816 NumberOfSections DWORD 5817 PointerToSymbolTable DWORD 5818 NumberOfSymbols DWORD 5819 } /* winnt.h:6336:13 */ 5820 5821 type ANON_OBJECT_HEADER_BIGOBJ = ANON_OBJECT_HEADER_BIGOBJ1 /* winnt.h:6350:7 */ 5822 5823 type _IMAGE_SECTION_HEADER = struct { 5824 Name [8]BYTE 5825 Misc struct{ PhysicalAddress DWORD } 5826 VirtualAddress DWORD 5827 SizeOfRawData DWORD 5828 PointerToRawData DWORD 5829 PointerToRelocations DWORD 5830 PointerToLinenumbers DWORD 5831 NumberOfRelocations WORD 5832 NumberOfLinenumbers WORD 5833 Characteristics DWORD 5834 } /* winnt.h:6354:13 */ 5835 5836 type IMAGE_SECTION_HEADER = _IMAGE_SECTION_HEADER /* winnt.h:6368:7 */ 5837 type PIMAGE_SECTION_HEADER = uintptr /* winnt.h:6368:28 */ 5838 5839 // * 5840 // This file has no copyright assigned and is placed in the Public Domain. 5841 // This file is part of the mingw-w64 runtime package. 5842 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5843 type _IMAGE_SYMBOL = struct { 5844 N struct { 5845 _ [0]uint32 5846 ShortName [8]BYTE 5847 } 5848 Value DWORD 5849 SectionNumber SHORT 5850 Type WORD 5851 StorageClass BYTE 5852 NumberOfAuxSymbols BYTE 5853 _ [2]byte 5854 } /* winnt.h:6418:13 */ 5855 5856 // * 5857 // This file has no copyright assigned and is placed in the Public Domain. 5858 // This file is part of the mingw-w64 runtime package. 5859 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5860 type IMAGE_SYMBOL = _IMAGE_SYMBOL /* winnt.h:6432:7 */ 5861 type PIMAGE_SYMBOL = uintptr /* winnt.h:6433:36 */ 5862 5863 type _IMAGE_SYMBOL_EX = struct { 5864 N struct { 5865 _ [0]uint32 5866 ShortName [8]BYTE 5867 } 5868 Value DWORD 5869 SectionNumber LONG 5870 Type WORD 5871 StorageClass BYTE 5872 NumberOfAuxSymbols BYTE 5873 } /* winnt.h:6437:13 */ 5874 5875 type IMAGE_SYMBOL_EX = _IMAGE_SYMBOL_EX /* winnt.h:6451:7 */ 5876 type PIMAGE_SYMBOL_EX = uintptr /* winnt.h:6451:33 */ 5877 5878 // * 5879 // This file has no copyright assigned and is placed in the Public Domain. 5880 // This file is part of the mingw-w64 runtime package. 5881 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5882 type IMAGE_AUX_SYMBOL_TOKEN_DEF1 = struct { 5883 bAuxType BYTE 5884 bReserved BYTE 5885 _ [2]byte 5886 SymbolTableIndex DWORD 5887 rgbReserved [12]BYTE 5888 } /* winnt.h:6544:13 */ 5889 5890 // * 5891 // This file has no copyright assigned and is placed in the Public Domain. 5892 // This file is part of the mingw-w64 runtime package. 5893 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5894 type IMAGE_AUX_SYMBOL_TOKEN_DEF = IMAGE_AUX_SYMBOL_TOKEN_DEF1 /* winnt.h:6549:7 */ 5895 type PIMAGE_AUX_SYMBOL_TOKEN_DEF = uintptr /* winnt.h:6549:44 */ 5896 // * 5897 // This file has no copyright assigned and is placed in the Public Domain. 5898 // This file is part of the mingw-w64 runtime package. 5899 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5900 5901 type _IMAGE_AUX_SYMBOL = struct { 5902 Sym struct { 5903 TagIndex DWORD 5904 Misc struct { 5905 _ [0]uint32 5906 LnSz struct { 5907 Linenumber WORD 5908 Size WORD 5909 } 5910 } 5911 FcnAry struct { 5912 Function struct { 5913 PointerToLinenumber DWORD 5914 PointerToNextFunction DWORD 5915 } 5916 } 5917 TvIndex WORD 5918 _ [2]byte 5919 } 5920 } /* winnt.h:6552:13 */ 5921 5922 // * 5923 // This file has no copyright assigned and is placed in the Public Domain. 5924 // This file is part of the mingw-w64 runtime package. 5925 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5926 5927 type IMAGE_AUX_SYMBOL = _IMAGE_AUX_SYMBOL /* winnt.h:6589:7 */ 5928 type PIMAGE_AUX_SYMBOL = uintptr /* winnt.h:6589:34 */ 5929 5930 type _IMAGE_AUX_SYMBOL_EX = struct { 5931 Sym struct { 5932 WeakDefaultSymIndex DWORD 5933 WeakSearchType DWORD 5934 rgbReserved [12]BYTE 5935 } 5936 _ [4]byte 5937 } /* winnt.h:6591:13 */ 5938 5939 type IMAGE_AUX_SYMBOL_EX = _IMAGE_AUX_SYMBOL_EX /* winnt.h:6619:7 */ 5940 type PIMAGE_AUX_SYMBOL_EX = uintptr /* winnt.h:6619:37 */ 5941 5942 type IMAGE_AUX_SYMBOL_TYPE = uint32 /* winnt.h:6625:7 */ 5943 5944 type _IMAGE_RELOCATION = struct { 5945 u struct{ VirtualAddress DWORD } 5946 SymbolTableIndex DWORD 5947 Type WORD 5948 _ [2]byte 5949 } /* winnt.h:6639:13 */ 5950 5951 type IMAGE_RELOCATION = _IMAGE_RELOCATION /* winnt.h:6646:7 */ 5952 type PIMAGE_RELOCATION = uintptr /* winnt.h:6647:40 */ 5953 5954 type _IMAGE_LINENUMBER = struct { 5955 Type struct{ SymbolTableIndex DWORD } 5956 Linenumber WORD 5957 _ [2]byte 5958 } /* winnt.h:6977:13 */ 5959 5960 type IMAGE_LINENUMBER = _IMAGE_LINENUMBER /* winnt.h:6983:7 */ 5961 type PIMAGE_LINENUMBER = uintptr /* winnt.h:6984:40 */ 5962 5963 // * 5964 // This file has no copyright assigned and is placed in the Public Domain. 5965 // This file is part of the mingw-w64 runtime package. 5966 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5967 5968 type _IMAGE_BASE_RELOCATION = struct { 5969 VirtualAddress DWORD 5970 SizeOfBlock DWORD 5971 } /* winnt.h:6990:13 */ 5972 5973 // * 5974 // This file has no copyright assigned and is placed in the Public Domain. 5975 // This file is part of the mingw-w64 runtime package. 5976 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 5977 5978 type IMAGE_BASE_RELOCATION = _IMAGE_BASE_RELOCATION /* winnt.h:6993:7 */ 5979 type PIMAGE_BASE_RELOCATION = uintptr /* winnt.h:6994:45 */ 5980 5981 type _IMAGE_ARCHIVE_MEMBER_HEADER = struct { 5982 Name [16]BYTE 5983 Date [12]BYTE 5984 UserID [6]BYTE 5985 GroupID [6]BYTE 5986 Mode [8]BYTE 5987 Size [10]BYTE 5988 EndHeader [2]BYTE 5989 } /* winnt.h:7017:13 */ 5990 5991 type IMAGE_ARCHIVE_MEMBER_HEADER = _IMAGE_ARCHIVE_MEMBER_HEADER /* winnt.h:7025:7 */ 5992 type PIMAGE_ARCHIVE_MEMBER_HEADER = uintptr /* winnt.h:7025:35 */ 5993 5994 type _IMAGE_EXPORT_DIRECTORY = struct { 5995 Characteristics DWORD 5996 TimeDateStamp DWORD 5997 MajorVersion WORD 5998 MinorVersion WORD 5999 Name DWORD 6000 Base DWORD 6001 NumberOfFunctions DWORD 6002 NumberOfNames DWORD 6003 AddressOfFunctions DWORD 6004 AddressOfNames DWORD 6005 AddressOfNameOrdinals DWORD 6006 } /* winnt.h:7029:13 */ 6007 6008 type IMAGE_EXPORT_DIRECTORY = _IMAGE_EXPORT_DIRECTORY /* winnt.h:7041:7 */ 6009 type PIMAGE_EXPORT_DIRECTORY = uintptr /* winnt.h:7041:30 */ 6010 6011 type _IMAGE_IMPORT_BY_NAME = struct { 6012 Hint WORD 6013 Name [1]CHAR 6014 _ [1]byte 6015 } /* winnt.h:7043:13 */ 6016 6017 type IMAGE_IMPORT_BY_NAME = _IMAGE_IMPORT_BY_NAME /* winnt.h:7046:7 */ 6018 type PIMAGE_IMPORT_BY_NAME = uintptr /* winnt.h:7046:28 */ 6019 6020 // * 6021 // This file has no copyright assigned and is placed in the Public Domain. 6022 // This file is part of the mingw-w64 runtime package. 6023 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 6024 6025 type _IMAGE_THUNK_DATA64 = struct { 6026 u1 struct{ ForwarderString ULONGLONG } 6027 } /* winnt.h:7050:13 */ 6028 6029 // * 6030 // This file has no copyright assigned and is placed in the Public Domain. 6031 // This file is part of the mingw-w64 runtime package. 6032 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 6033 6034 type IMAGE_THUNK_DATA64 = _IMAGE_THUNK_DATA64 /* winnt.h:7057:7 */ 6035 type PIMAGE_THUNK_DATA64 = uintptr /* winnt.h:7058:32 */ 6036 6037 // * 6038 // This file has no copyright assigned and is placed in the Public Domain. 6039 // This file is part of the mingw-w64 runtime package. 6040 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 6041 6042 type _IMAGE_THUNK_DATA32 = struct { 6043 u1 struct{ ForwarderString DWORD } 6044 } /* winnt.h:7062:13 */ 6045 6046 // * 6047 // This file has no copyright assigned and is placed in the Public Domain. 6048 // This file is part of the mingw-w64 runtime package. 6049 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 6050 6051 type IMAGE_THUNK_DATA32 = _IMAGE_THUNK_DATA32 /* winnt.h:7069:7 */ 6052 type PIMAGE_THUNK_DATA32 = uintptr /* winnt.h:7070:32 */ 6053 6054 type PIMAGE_TLS_CALLBACK = uintptr /* winnt.h:7079:18 */ 6055 6056 type _IMAGE_TLS_DIRECTORY64 = struct { 6057 StartAddressOfRawData ULONGLONG 6058 EndAddressOfRawData ULONGLONG 6059 AddressOfIndex ULONGLONG 6060 AddressOfCallBacks ULONGLONG 6061 SizeOfZeroFill DWORD 6062 Characteristics DWORD 6063 } /* winnt.h:7081:13 */ 6064 6065 type IMAGE_TLS_DIRECTORY64 = _IMAGE_TLS_DIRECTORY64 /* winnt.h:7088:7 */ 6066 type PIMAGE_TLS_DIRECTORY64 = uintptr /* winnt.h:7089:35 */ 6067 6068 type _IMAGE_TLS_DIRECTORY32 = struct { 6069 StartAddressOfRawData DWORD 6070 EndAddressOfRawData DWORD 6071 AddressOfIndex DWORD 6072 AddressOfCallBacks DWORD 6073 SizeOfZeroFill DWORD 6074 Characteristics DWORD 6075 } /* winnt.h:7091:13 */ 6076 6077 type IMAGE_TLS_DIRECTORY32 = _IMAGE_TLS_DIRECTORY32 /* winnt.h:7098:7 */ 6078 type PIMAGE_TLS_DIRECTORY32 = uintptr /* winnt.h:7099:35 */ 6079 6080 type IMAGE_THUNK_DATA = IMAGE_THUNK_DATA32 /* winnt.h:7112:32 */ 6081 type PIMAGE_THUNK_DATA = PIMAGE_THUNK_DATA32 /* winnt.h:7113:33 */ 6082 type IMAGE_TLS_DIRECTORY = IMAGE_TLS_DIRECTORY32 /* winnt.h:7115:35 */ 6083 type PIMAGE_TLS_DIRECTORY = PIMAGE_TLS_DIRECTORY32 /* winnt.h:7116:36 */ 6084 6085 type _IMAGE_IMPORT_DESCRIPTOR = struct { 6086 u struct{ Characteristics DWORD } 6087 TimeDateStamp DWORD 6088 ForwarderChain DWORD 6089 Name DWORD 6090 FirstThunk DWORD 6091 } /* winnt.h:7119:13 */ 6092 6093 type IMAGE_IMPORT_DESCRIPTOR = _IMAGE_IMPORT_DESCRIPTOR /* winnt.h:7129:7 */ 6094 type PIMAGE_IMPORT_DESCRIPTOR = uintptr /* winnt.h:7130:47 */ 6095 6096 type _IMAGE_BOUND_IMPORT_DESCRIPTOR = struct { 6097 TimeDateStamp DWORD 6098 OffsetModuleName WORD 6099 NumberOfModuleForwarderRefs WORD 6100 } /* winnt.h:7132:13 */ 6101 6102 type IMAGE_BOUND_IMPORT_DESCRIPTOR = _IMAGE_BOUND_IMPORT_DESCRIPTOR /* winnt.h:7136:7 */ 6103 type PIMAGE_BOUND_IMPORT_DESCRIPTOR = uintptr /* winnt.h:7136:37 */ 6104 6105 type _IMAGE_BOUND_FORWARDER_REF = struct { 6106 TimeDateStamp DWORD 6107 OffsetModuleName WORD 6108 Reserved WORD 6109 } /* winnt.h:7138:13 */ 6110 6111 type IMAGE_BOUND_FORWARDER_REF = _IMAGE_BOUND_FORWARDER_REF /* winnt.h:7142:7 */ 6112 type PIMAGE_BOUND_FORWARDER_REF = uintptr /* winnt.h:7142:33 */ 6113 6114 type _IMAGE_DELAYLOAD_DESCRIPTOR = struct { 6115 Attributes struct{ AllAttributes DWORD } 6116 DllNameRVA DWORD 6117 ModuleHandleRVA DWORD 6118 ImportAddressTableRVA DWORD 6119 ImportNameTableRVA DWORD 6120 BoundImportAddressTableRVA DWORD 6121 UnloadInformationTableRVA DWORD 6122 TimeDateStamp DWORD 6123 } /* winnt.h:7144:13 */ 6124 6125 type IMAGE_DELAYLOAD_DESCRIPTOR = _IMAGE_DELAYLOAD_DESCRIPTOR /* winnt.h:7159:7 */ 6126 type PIMAGE_DELAYLOAD_DESCRIPTOR = uintptr /* winnt.h:7159:34 */ 6127 type PCIMAGE_DELAYLOAD_DESCRIPTOR = uintptr /* winnt.h:7160:46 */ 6128 6129 type _IMAGE_RESOURCE_DIRECTORY = struct { 6130 Characteristics DWORD 6131 TimeDateStamp DWORD 6132 MajorVersion WORD 6133 MinorVersion WORD 6134 NumberOfNamedEntries WORD 6135 NumberOfIdEntries WORD 6136 } /* winnt.h:7162:13 */ 6137 6138 type IMAGE_RESOURCE_DIRECTORY = _IMAGE_RESOURCE_DIRECTORY /* winnt.h:7169:7 */ 6139 type PIMAGE_RESOURCE_DIRECTORY = uintptr /* winnt.h:7169:32 */ 6140 6141 type _IMAGE_RESOURCE_DIRECTORY_ENTRY = struct { 6142 u struct { 6143 s struct { 6144 _ [0]uint32 6145 NameOffset uint32 /* DWORD NameOffset: 31, DWORD NameIsString: 1 */ 6146 } 6147 } 6148 u2 struct{ OffsetToData DWORD } 6149 } /* winnt.h:7174:13 */ 6150 6151 type IMAGE_RESOURCE_DIRECTORY_ENTRY = _IMAGE_RESOURCE_DIRECTORY_ENTRY /* winnt.h:7190:7 */ 6152 type PIMAGE_RESOURCE_DIRECTORY_ENTRY = uintptr /* winnt.h:7190:38 */ 6153 6154 type _IMAGE_RESOURCE_DIRECTORY_STRING = struct { 6155 Length WORD 6156 NameString [1]CHAR 6157 _ [1]byte 6158 } /* winnt.h:7192:13 */ 6159 6160 type IMAGE_RESOURCE_DIRECTORY_STRING = _IMAGE_RESOURCE_DIRECTORY_STRING /* winnt.h:7195:7 */ 6161 type PIMAGE_RESOURCE_DIRECTORY_STRING = uintptr /* winnt.h:7195:39 */ 6162 6163 type _IMAGE_RESOURCE_DIR_STRING_U = struct { 6164 Length WORD 6165 NameString [1]WCHAR 6166 } /* winnt.h:7197:13 */ 6167 6168 type IMAGE_RESOURCE_DIR_STRING_U = _IMAGE_RESOURCE_DIR_STRING_U /* winnt.h:7200:7 */ 6169 type PIMAGE_RESOURCE_DIR_STRING_U = uintptr /* winnt.h:7200:35 */ 6170 6171 type _IMAGE_RESOURCE_DATA_ENTRY = struct { 6172 OffsetToData DWORD 6173 Size DWORD 6174 CodePage DWORD 6175 Reserved DWORD 6176 } /* winnt.h:7202:13 */ 6177 6178 type IMAGE_RESOURCE_DATA_ENTRY = _IMAGE_RESOURCE_DATA_ENTRY /* winnt.h:7207:7 */ 6179 type PIMAGE_RESOURCE_DATA_ENTRY = uintptr /* winnt.h:7207:33 */ 6180 6181 type IMAGE_LOAD_CONFIG_DIRECTORY32 = struct { 6182 Size DWORD 6183 TimeDateStamp DWORD 6184 MajorVersion WORD 6185 MinorVersion WORD 6186 GlobalFlagsClear DWORD 6187 GlobalFlagsSet DWORD 6188 CriticalSectionDefaultTimeout DWORD 6189 DeCommitFreeBlockThreshold DWORD 6190 DeCommitTotalFreeThreshold DWORD 6191 LockPrefixTable DWORD 6192 MaximumAllocationSize DWORD 6193 VirtualMemoryThreshold DWORD 6194 ProcessHeapFlags DWORD 6195 ProcessAffinityMask DWORD 6196 CSDVersion WORD 6197 Reserved1 WORD 6198 EditList DWORD 6199 SecurityCookie DWORD 6200 SEHandlerTable DWORD 6201 SEHandlerCount DWORD 6202 } /* winnt.h:7230:7 */ 6203 type PIMAGE_LOAD_CONFIG_DIRECTORY32 = uintptr /* winnt.h:7230:37 */ 6204 6205 type IMAGE_LOAD_CONFIG_DIRECTORY64 = struct { 6206 Size DWORD 6207 TimeDateStamp DWORD 6208 MajorVersion WORD 6209 MinorVersion WORD 6210 GlobalFlagsClear DWORD 6211 GlobalFlagsSet DWORD 6212 CriticalSectionDefaultTimeout DWORD 6213 DeCommitFreeBlockThreshold ULONGLONG 6214 DeCommitTotalFreeThreshold ULONGLONG 6215 LockPrefixTable ULONGLONG 6216 MaximumAllocationSize ULONGLONG 6217 VirtualMemoryThreshold ULONGLONG 6218 ProcessAffinityMask ULONGLONG 6219 ProcessHeapFlags DWORD 6220 CSDVersion WORD 6221 Reserved1 WORD 6222 EditList ULONGLONG 6223 SecurityCookie ULONGLONG 6224 SEHandlerTable ULONGLONG 6225 SEHandlerCount ULONGLONG 6226 } /* winnt.h:7253:7 */ 6227 type PIMAGE_LOAD_CONFIG_DIRECTORY64 = uintptr /* winnt.h:7253:37 */ 6228 6229 type IMAGE_LOAD_CONFIG_DIRECTORY = IMAGE_LOAD_CONFIG_DIRECTORY32 /* winnt.h:7259:43 */ 6230 type PIMAGE_LOAD_CONFIG_DIRECTORY = PIMAGE_LOAD_CONFIG_DIRECTORY32 /* winnt.h:7260:44 */ 6231 6232 type _IMAGE_CE_RUNTIME_FUNCTION_ENTRY = struct { 6233 FuncStart DWORD 6234 PrologLen uint32 /* DWORD PrologLen: 8, DWORD FuncLen: 22, DWORD ThirtyTwoBit: 1, DWORD ExceptionFlag: 1 */ 6235 } /* winnt.h:7263:13 */ 6236 6237 type IMAGE_CE_RUNTIME_FUNCTION_ENTRY = _IMAGE_CE_RUNTIME_FUNCTION_ENTRY /* winnt.h:7269:7 */ 6238 type PIMAGE_CE_RUNTIME_FUNCTION_ENTRY = uintptr /* winnt.h:7269:39 */ 6239 6240 type _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY = struct { 6241 BeginAddress ULONGLONG 6242 EndAddress ULONGLONG 6243 ExceptionHandler ULONGLONG 6244 HandlerData ULONGLONG 6245 PrologEndAddress ULONGLONG 6246 } /* winnt.h:7271:13 */ 6247 6248 type IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY = _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY /* winnt.h:7277:7 */ 6249 type PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY = uintptr /* winnt.h:7277:44 */ 6250 6251 type _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY = struct { 6252 BeginAddress DWORD 6253 EndAddress DWORD 6254 ExceptionHandler DWORD 6255 HandlerData DWORD 6256 PrologEndAddress DWORD 6257 } /* winnt.h:7279:13 */ 6258 6259 type IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY = _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY /* winnt.h:7285:7 */ 6260 type PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY = uintptr /* winnt.h:7285:42 */ 6261 6262 type _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY = struct { 6263 BeginAddress DWORD 6264 u struct{ UnwindData DWORD } 6265 } /* winnt.h:7287:13 */ 6266 6267 type IMAGE_ARM_RUNTIME_FUNCTION_ENTRY = _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY /* winnt.h:7303:7 */ 6268 type PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY = uintptr /* winnt.h:7303:40 */ 6269 6270 type _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY = struct { 6271 BeginAddress DWORD 6272 u struct{ UnwindData DWORD } 6273 } /* winnt.h:7305:13 */ 6274 6275 type IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY = _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY /* winnt.h:7319:7 */ 6276 type PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY = uintptr /* winnt.h:7319:42 */ 6277 6278 type _IMAGE_RUNTIME_FUNCTION_ENTRY1 = struct { 6279 BeginAddress DWORD 6280 EndAddress DWORD 6281 u struct{ UnwindInfoAddress DWORD } 6282 } /* winnt.h:7321:13 */ 6283 6284 type _IMAGE_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY1 /* winnt.h:7328:7 */ 6285 type _PIMAGE_RUNTIME_FUNCTION_ENTRY = uintptr /* winnt.h:7328:37 */ 6286 6287 type IMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY /* winnt.h:7330:43 */ 6288 type PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY /* winnt.h:7331:44 */ 6289 6290 type IMAGE_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY /* winnt.h:7345:43 */ 6291 type PIMAGE_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY /* winnt.h:7346:44 */ 6292 6293 type _IMAGE_DEBUG_DIRECTORY = struct { 6294 Characteristics DWORD 6295 TimeDateStamp DWORD 6296 MajorVersion WORD 6297 MinorVersion WORD 6298 Type DWORD 6299 SizeOfData DWORD 6300 AddressOfRawData DWORD 6301 PointerToRawData DWORD 6302 } /* winnt.h:7349:13 */ 6303 6304 type IMAGE_DEBUG_DIRECTORY = _IMAGE_DEBUG_DIRECTORY /* winnt.h:7358:7 */ 6305 type PIMAGE_DEBUG_DIRECTORY = uintptr /* winnt.h:7358:29 */ 6306 6307 type _IMAGE_COFF_SYMBOLS_HEADER = struct { 6308 NumberOfSymbols DWORD 6309 LvaToFirstSymbol DWORD 6310 NumberOfLinenumbers DWORD 6311 LvaToFirstLinenumber DWORD 6312 RvaToFirstByteOfCode DWORD 6313 RvaToLastByteOfCode DWORD 6314 RvaToFirstByteOfData DWORD 6315 RvaToLastByteOfData DWORD 6316 } /* winnt.h:7373:13 */ 6317 6318 type IMAGE_COFF_SYMBOLS_HEADER = _IMAGE_COFF_SYMBOLS_HEADER /* winnt.h:7382:7 */ 6319 type PIMAGE_COFF_SYMBOLS_HEADER = uintptr /* winnt.h:7382:33 */ 6320 6321 type _FPO_DATA = struct { 6322 ulOffStart DWORD 6323 cbProcSize DWORD 6324 cdwLocals DWORD 6325 cdwParams WORD 6326 cbProlog uint16 /* WORD cbProlog: 8, WORD cbRegs: 3, WORD fHasSEH: 1, WORD fUseBP: 1, WORD reserved: 1, WORD cbFrame: 2 */ 6327 } /* winnt.h:7389:13 */ 6328 6329 type FPO_DATA = _FPO_DATA /* winnt.h:7400:7 */ 6330 type PFPO_DATA = uintptr /* winnt.h:7400:16 */ 6331 6332 type _IMAGE_DEBUG_MISC = struct { 6333 DataType DWORD 6334 Length DWORD 6335 Unicode BOOLEAN 6336 Reserved [3]BYTE 6337 Data [1]BYTE 6338 _ [3]byte 6339 } /* winnt.h:7405:13 */ 6340 6341 type IMAGE_DEBUG_MISC = _IMAGE_DEBUG_MISC /* winnt.h:7411:7 */ 6342 type PIMAGE_DEBUG_MISC = uintptr /* winnt.h:7411:24 */ 6343 6344 type _IMAGE_FUNCTION_ENTRY = struct { 6345 StartingAddress DWORD 6346 EndingAddress DWORD 6347 EndOfPrologue DWORD 6348 } /* winnt.h:7413:13 */ 6349 6350 type IMAGE_FUNCTION_ENTRY = _IMAGE_FUNCTION_ENTRY /* winnt.h:7417:7 */ 6351 type PIMAGE_FUNCTION_ENTRY = uintptr /* winnt.h:7417:28 */ 6352 6353 type _IMAGE_FUNCTION_ENTRY64 = struct { 6354 StartingAddress ULONGLONG 6355 EndingAddress ULONGLONG 6356 u struct{ EndOfPrologue ULONGLONG } 6357 } /* winnt.h:7419:13 */ 6358 6359 type IMAGE_FUNCTION_ENTRY64 = _IMAGE_FUNCTION_ENTRY64 /* winnt.h:7426:7 */ 6360 type PIMAGE_FUNCTION_ENTRY64 = uintptr /* winnt.h:7426:30 */ 6361 6362 type _IMAGE_SEPARATE_DEBUG_HEADER = struct { 6363 Signature WORD 6364 Flags WORD 6365 Machine WORD 6366 Characteristics WORD 6367 TimeDateStamp DWORD 6368 CheckSum DWORD 6369 ImageBase DWORD 6370 SizeOfImage DWORD 6371 NumberOfSections DWORD 6372 ExportedNamesSize DWORD 6373 DebugDirectorySize DWORD 6374 SectionAlignment DWORD 6375 Reserved [2]DWORD 6376 } /* winnt.h:7428:13 */ 6377 6378 type IMAGE_SEPARATE_DEBUG_HEADER = _IMAGE_SEPARATE_DEBUG_HEADER /* winnt.h:7442:7 */ 6379 type PIMAGE_SEPARATE_DEBUG_HEADER = uintptr /* winnt.h:7442:35 */ 6380 6381 type _NON_PAGED_DEBUG_INFO = struct { 6382 Signature WORD 6383 Flags WORD 6384 Size DWORD 6385 Machine WORD 6386 Characteristics WORD 6387 TimeDateStamp DWORD 6388 CheckSum DWORD 6389 SizeOfImage DWORD 6390 ImageBase ULONGLONG 6391 } /* winnt.h:7444:13 */ 6392 6393 type NON_PAGED_DEBUG_INFO = _NON_PAGED_DEBUG_INFO /* winnt.h:7454:7 */ 6394 type PNON_PAGED_DEBUG_INFO = uintptr /* winnt.h:7454:28 */ 6395 6396 type _ImageArchitectureHeader = struct { 6397 AmaskValue uint32 /* unsigned AmaskValue: 1, int Adummy1: 7, unsigned AmaskShift: 8, int Adummy2: 16 */ 6398 FirstEntryRVA DWORD 6399 } /* winnt.h:7462:13 */ 6400 6401 type IMAGE_ARCHITECTURE_HEADER = _ImageArchitectureHeader /* winnt.h:7468:7 */ 6402 type PIMAGE_ARCHITECTURE_HEADER = uintptr /* winnt.h:7468:33 */ 6403 6404 type _ImageArchitectureEntry = struct { 6405 FixupInstRVA DWORD 6406 NewInst DWORD 6407 } /* winnt.h:7470:13 */ 6408 6409 type IMAGE_ARCHITECTURE_ENTRY = _ImageArchitectureEntry /* winnt.h:7473:7 */ 6410 type PIMAGE_ARCHITECTURE_ENTRY = uintptr /* winnt.h:7473:32 */ 6411 // * 6412 // This file has no copyright assigned and is placed in the Public Domain. 6413 // This file is part of the mingw-w64 runtime package. 6414 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 6415 6416 type IMPORT_OBJECT_HEADER1 = struct { 6417 Sig1 WORD 6418 Sig2 WORD 6419 Version WORD 6420 Machine WORD 6421 TimeDateStamp DWORD 6422 SizeOfData DWORD 6423 __16 struct{ Ordinal WORD } 6424 Type uint16 /* WORD Type: 2, WORD NameType: 3, WORD Reserved: 11 */ 6425 } /* winnt.h:7478:13 */ 6426 6427 // * 6428 // This file has no copyright assigned and is placed in the Public Domain. 6429 // This file is part of the mingw-w64 runtime package. 6430 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 6431 6432 type IMPORT_OBJECT_HEADER = IMPORT_OBJECT_HEADER1 /* winnt.h:7492:7 */ 6433 6434 type IMPORT_OBJECT_TYPE = uint32 /* winnt.h:7496:7 */ 6435 6436 type IMPORT_OBJECT_NAME_TYPE = uint32 /* winnt.h:7500:7 */ 6437 6438 type ReplacesCorHdrNumericDefines = uint32 /* winnt.h:7511:7 */ 6439 6440 type IMAGE_COR20_HEADER1 = struct { 6441 cb DWORD 6442 MajorRuntimeVersion WORD 6443 MinorRuntimeVersion WORD 6444 MetaData IMAGE_DATA_DIRECTORY 6445 Flags DWORD 6446 u struct{ EntryPointToken DWORD } 6447 Resources IMAGE_DATA_DIRECTORY 6448 StrongNameSignature IMAGE_DATA_DIRECTORY 6449 CodeManagerTable IMAGE_DATA_DIRECTORY 6450 VTableFixups IMAGE_DATA_DIRECTORY 6451 ExportAddressTableJumps IMAGE_DATA_DIRECTORY 6452 ManagedNativeHeader IMAGE_DATA_DIRECTORY 6453 } /* winnt.h:7513:13 */ 6454 6455 type IMAGE_COR20_HEADER = IMAGE_COR20_HEADER1 /* winnt.h:7529:7 */ 6456 type PIMAGE_COR20_HEADER = uintptr /* winnt.h:7529:26 */ 6457 6458 // * 6459 // This file has no copyright assigned and is placed in the Public Domain. 6460 // This file is part of the mingw-w64 runtime package. 6461 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 6462 6463 type SLIST_ENTRY = _SINGLE_LIST_ENTRY /* winnt.h:7634:39 */ 6464 type PSLIST_ENTRY = uintptr /* winnt.h:7634:51 */ 6465 6466 type _SLIST_HEADER = struct{ Alignment ULONGLONG } /* winnt.h:7636:13 */ 6467 6468 type SLIST_HEADER = _SLIST_HEADER /* winnt.h:7643:7 */ 6469 type PSLIST_HEADER = uintptr /* winnt.h:7643:20 */ 6470 6471 type _RTL_RUN_ONCE = struct{ Ptr PVOID } /* winnt.h:7661:9 */ 6472 6473 type RTL_RUN_ONCE = _RTL_RUN_ONCE /* winnt.h:7661:45 */ 6474 type PRTL_RUN_ONCE = uintptr /* winnt.h:7661:59 */ 6475 type PRTL_RUN_ONCE_INIT_FN = uintptr /* winnt.h:7662:15 */ 6476 6477 type _RTL_BARRIER = struct { 6478 Reserved1 DWORD 6479 Reserved2 DWORD 6480 Reserved3 [2]ULONG_PTR 6481 Reserved4 DWORD 6482 Reserved5 DWORD 6483 } /* winnt.h:7671:11 */ 6484 6485 type RTL_BARRIER = _RTL_BARRIER /* winnt.h:7677:5 */ 6486 type PRTL_BARRIER = uintptr /* winnt.h:7677:17 */ 6487 6488 type _MESSAGE_RESOURCE_ENTRY = struct { 6489 Length WORD 6490 Flags WORD 6491 Text [1]BYTE 6492 _ [1]byte 6493 } /* winnt.h:7780:13 */ 6494 6495 type MESSAGE_RESOURCE_ENTRY = _MESSAGE_RESOURCE_ENTRY /* winnt.h:7784:7 */ 6496 type PMESSAGE_RESOURCE_ENTRY = uintptr /* winnt.h:7784:30 */ 6497 6498 type _MESSAGE_RESOURCE_BLOCK = struct { 6499 LowId DWORD 6500 HighId DWORD 6501 OffsetToEntries DWORD 6502 } /* winnt.h:7802:13 */ 6503 6504 type MESSAGE_RESOURCE_BLOCK = _MESSAGE_RESOURCE_BLOCK /* winnt.h:7806:7 */ 6505 type PMESSAGE_RESOURCE_BLOCK = uintptr /* winnt.h:7806:30 */ 6506 6507 type _MESSAGE_RESOURCE_DATA = struct { 6508 NumberOfBlocks DWORD 6509 Blocks [1]MESSAGE_RESOURCE_BLOCK 6510 } /* winnt.h:7808:13 */ 6511 6512 type MESSAGE_RESOURCE_DATA = _MESSAGE_RESOURCE_DATA /* winnt.h:7811:7 */ 6513 type PMESSAGE_RESOURCE_DATA = uintptr /* winnt.h:7811:29 */ 6514 6515 type _OSVERSIONINFOA = struct { 6516 dwOSVersionInfoSize DWORD 6517 dwMajorVersion DWORD 6518 dwMinorVersion DWORD 6519 dwBuildNumber DWORD 6520 dwPlatformId DWORD 6521 szCSDVersion [128]CHAR 6522 } /* winnt.h:7813:13 */ 6523 6524 type OSVERSIONINFOA = _OSVERSIONINFOA /* winnt.h:7820:7 */ 6525 type POSVERSIONINFOA = uintptr /* winnt.h:7820:22 */ 6526 type LPOSVERSIONINFOA = uintptr /* winnt.h:7820:39 */ 6527 6528 type _OSVERSIONINFOW = struct { 6529 dwOSVersionInfoSize DWORD 6530 dwMajorVersion DWORD 6531 dwMinorVersion DWORD 6532 dwBuildNumber DWORD 6533 dwPlatformId DWORD 6534 szCSDVersion [128]WCHAR 6535 } /* winnt.h:7822:13 */ 6536 6537 type OSVERSIONINFOW = _OSVERSIONINFOW /* winnt.h:7829:7 */ 6538 type POSVERSIONINFOW = uintptr /* winnt.h:7829:22 */ 6539 type LPOSVERSIONINFOW = uintptr /* winnt.h:7829:39 */ 6540 type RTL_OSVERSIONINFOW = _OSVERSIONINFOW /* winnt.h:7829:57 */ 6541 type PRTL_OSVERSIONINFOW = uintptr /* winnt.h:7829:76 */ 6542 6543 type OSVERSIONINFO = OSVERSIONINFOA /* winnt.h:7831:5 */ 6544 type POSVERSIONINFO = POSVERSIONINFOA /* winnt.h:7832:5 */ 6545 type LPOSVERSIONINFO = LPOSVERSIONINFOA /* winnt.h:7833:5 */ 6546 6547 type _OSVERSIONINFOEXA = struct { 6548 dwOSVersionInfoSize DWORD 6549 dwMajorVersion DWORD 6550 dwMinorVersion DWORD 6551 dwBuildNumber DWORD 6552 dwPlatformId DWORD 6553 szCSDVersion [128]CHAR 6554 wServicePackMajor WORD 6555 wServicePackMinor WORD 6556 wSuiteMask WORD 6557 wProductType BYTE 6558 wReserved BYTE 6559 } /* winnt.h:7835:13 */ 6560 6561 type OSVERSIONINFOEXA = _OSVERSIONINFOEXA /* winnt.h:7847:7 */ 6562 type POSVERSIONINFOEXA = uintptr /* winnt.h:7847:24 */ 6563 type LPOSVERSIONINFOEXA = uintptr /* winnt.h:7847:43 */ 6564 6565 type _OSVERSIONINFOEXW = struct { 6566 dwOSVersionInfoSize DWORD 6567 dwMajorVersion DWORD 6568 dwMinorVersion DWORD 6569 dwBuildNumber DWORD 6570 dwPlatformId DWORD 6571 szCSDVersion [128]WCHAR 6572 wServicePackMajor WORD 6573 wServicePackMinor WORD 6574 wSuiteMask WORD 6575 wProductType BYTE 6576 wReserved BYTE 6577 } /* winnt.h:7849:13 */ 6578 6579 type OSVERSIONINFOEXW = _OSVERSIONINFOEXW /* winnt.h:7861:7 */ 6580 type POSVERSIONINFOEXW = uintptr /* winnt.h:7861:24 */ 6581 type LPOSVERSIONINFOEXW = uintptr /* winnt.h:7861:43 */ 6582 type RTL_OSVERSIONINFOEXW = _OSVERSIONINFOEXW /* winnt.h:7861:63 */ 6583 type PRTL_OSVERSIONINFOEXW = uintptr /* winnt.h:7861:84 */ 6584 6585 type OSVERSIONINFOEX = OSVERSIONINFOEXA /* winnt.h:7863:5 */ 6586 type POSVERSIONINFOEX = POSVERSIONINFOEXA /* winnt.h:7864:5 */ 6587 type LPOSVERSIONINFOEX = LPOSVERSIONINFOEXA /* winnt.h:7865:5 */ 6588 6589 type RTL_UMS_THREAD_INFO_CLASS = uint32 /* winnt.h:7918:7 */ 6590 type PRTL_UMS_THREAD_INFO_CLASS = uintptr /* winnt.h:7918:33 */ 6591 6592 type RTL_UMS_SCHEDULER_REASON = uint32 /* winnt.h:7924:7 */ 6593 type PRTL_UMS_SCHEDULER_REASON = uintptr /* winnt.h:7924:32 */ 6594 type PRTL_UMS_SCHEDULER_ENTRY_POINT = uintptr /* winnt.h:7927:43 */ 6595 6596 type _RTL_CRITICAL_SECTION_DEBUG = struct { 6597 Type WORD 6598 CreatorBackTraceIndex WORD 6599 CriticalSection uintptr 6600 ProcessLocksList LIST_ENTRY 6601 EntryCount DWORD 6602 ContentionCount DWORD 6603 Flags DWORD 6604 CreatorBackTraceIndexHigh WORD 6605 SpareWORD WORD 6606 } /* winnt.h:7947:13 */ 6607 6608 type _RTL_CRITICAL_SECTION = struct { 6609 DebugInfo PRTL_CRITICAL_SECTION_DEBUG 6610 LockCount LONG 6611 RecursionCount LONG 6612 OwningThread HANDLE 6613 LockSemaphore HANDLE 6614 SpinCount ULONG_PTR 6615 } /* winnt.h:7947:13 */ 6616 6617 type RTL_CRITICAL_SECTION_DEBUG = _RTL_CRITICAL_SECTION_DEBUG /* winnt.h:7957:7 */ 6618 type PRTL_CRITICAL_SECTION_DEBUG = uintptr /* winnt.h:7957:34 */ 6619 type RTL_RESOURCE_DEBUG = _RTL_CRITICAL_SECTION_DEBUG /* winnt.h:7957:63 */ 6620 type PRTL_RESOURCE_DEBUG = uintptr /* winnt.h:7957:82 */ 6621 6622 // * 6623 // This file has no copyright assigned and is placed in the Public Domain. 6624 // This file is part of the mingw-w64 runtime package. 6625 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 6626 type RTL_CRITICAL_SECTION = _RTL_CRITICAL_SECTION /* winnt.h:7981:7 */ 6627 type PRTL_CRITICAL_SECTION = uintptr /* winnt.h:7981:28 */ 6628 // * 6629 // This file has no copyright assigned and is placed in the Public Domain. 6630 // This file is part of the mingw-w64 runtime package. 6631 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 6632 6633 type _RTL_SRWLOCK = struct{ Ptr PVOID } /* winnt.h:7984:13 */ 6634 6635 // * 6636 // This file has no copyright assigned and is placed in the Public Domain. 6637 // This file is part of the mingw-w64 runtime package. 6638 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 6639 6640 type RTL_SRWLOCK = _RTL_SRWLOCK /* winnt.h:7984:48 */ 6641 type PRTL_SRWLOCK = uintptr /* winnt.h:7984:60 */ 6642 type _RTL_CONDITION_VARIABLE = struct{ Ptr PVOID } /* winnt.h:7985:13 */ 6643 6644 type RTL_CONDITION_VARIABLE = _RTL_CONDITION_VARIABLE /* winnt.h:7985:59 */ 6645 type PRTL_CONDITION_VARIABLE = uintptr /* winnt.h:7985:82 */ 6646 6647 type PAPCFUNC = uintptr /* winnt.h:7992:18 */ 6648 type PVECTORED_EXCEPTION_HANDLER = uintptr /* winnt.h:7993:18 */ 6649 6650 type HEAP_INFORMATION_CLASS = uint32 /* winnt.h:7998:7 */ 6651 6652 type WORKERCALLBACKFUNC = uintptr /* winnt.h:8000:18 */ 6653 type APC_CALLBACK_FUNCTION = uintptr /* winnt.h:8001:18 */ 6654 type WAITORTIMERCALLBACKFUNC = uintptr /* winnt.h:8002:18 */ 6655 type WAITORTIMERCALLBACK = WAITORTIMERCALLBACKFUNC /* winnt.h:8003:37 */ 6656 type PFLS_CALLBACK_FUNCTION = uintptr /* winnt.h:8004:18 */ 6657 type PSECURE_MEMORY_CACHE_CALLBACK = uintptr /* winnt.h:8005:21 */ 6658 6659 type ACTIVATION_CONTEXT_INFO_CLASS = uint32 /* winnt.h:8034:7 */ 6660 6661 type ACTCTX_REQUESTED_RUN_LEVEL = uint32 /* winnt.h:8042:7 */ 6662 6663 type ACTCTX_COMPATIBILITY_ELEMENT_TYPE = uint32 /* winnt.h:8048:7 */ 6664 6665 type _ACTIVATION_CONTEXT_QUERY_INDEX = struct { 6666 ulAssemblyIndex DWORD 6667 ulFileIndexInAssembly DWORD 6668 } /* winnt.h:8050:13 */ 6669 6670 type ACTIVATION_CONTEXT_QUERY_INDEX = _ACTIVATION_CONTEXT_QUERY_INDEX /* winnt.h:8053:7 */ 6671 type PACTIVATION_CONTEXT_QUERY_INDEX = uintptr /* winnt.h:8053:38 */ 6672 6673 type _ASSEMBLY_FILE_DETAILED_INFORMATION = struct { 6674 ulFlags DWORD 6675 ulFilenameLength DWORD 6676 ulPathLength DWORD 6677 lpFileName PCWSTR 6678 lpFilePath PCWSTR 6679 } /* winnt.h:8055:13 */ 6680 6681 type ASSEMBLY_FILE_DETAILED_INFORMATION = _ASSEMBLY_FILE_DETAILED_INFORMATION /* winnt.h:8061:7 */ 6682 type PASSEMBLY_FILE_DETAILED_INFORMATION = uintptr /* winnt.h:8061:42 */ 6683 6684 type _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = struct { 6685 ulFlags DWORD 6686 ulEncodedAssemblyIdentityLength DWORD 6687 ulManifestPathType DWORD 6688 ulManifestPathLength DWORD 6689 liManifestLastWriteTime LARGE_INTEGER 6690 ulPolicyPathType DWORD 6691 ulPolicyPathLength DWORD 6692 liPolicyLastWriteTime LARGE_INTEGER 6693 ulMetadataSatelliteRosterIndex DWORD 6694 ulManifestVersionMajor DWORD 6695 ulManifestVersionMinor DWORD 6696 ulPolicyVersionMajor DWORD 6697 ulPolicyVersionMinor DWORD 6698 ulAssemblyDirectoryNameLength DWORD 6699 lpAssemblyEncodedAssemblyIdentity PCWSTR 6700 lpAssemblyManifestPath PCWSTR 6701 lpAssemblyPolicyPath PCWSTR 6702 lpAssemblyDirectoryName PCWSTR 6703 ulFileCount DWORD 6704 _ [4]byte 6705 } /* winnt.h:8063:13 */ 6706 6707 type ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION /* winnt.h:8083:7 */ 6708 type PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = uintptr /* winnt.h:8083:56 */ 6709 6710 type _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = struct { 6711 ulFlags DWORD 6712 RunLevel ACTCTX_REQUESTED_RUN_LEVEL 6713 UiAccess DWORD 6714 } /* winnt.h:8085:13 */ 6715 6716 type ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION /* winnt.h:8089:7 */ 6717 type PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = uintptr /* winnt.h:8089:48 */ 6718 6719 type _COMPATIBILITY_CONTEXT_ELEMENT = struct { 6720 Id GUID 6721 Type ACTCTX_COMPATIBILITY_ELEMENT_TYPE 6722 } /* winnt.h:8091:13 */ 6723 6724 type COMPATIBILITY_CONTEXT_ELEMENT = _COMPATIBILITY_CONTEXT_ELEMENT /* winnt.h:8094:7 */ 6725 type PCOMPATIBILITY_CONTEXT_ELEMENT = uintptr /* winnt.h:8094:37 */ 6726 6727 //Vista: {e2011457-1546-43c5-a5fe-008deee3d3f0} 6728 //Seven: {35138b9a-5d96-4fbd-8e2d-a2440225f93a} 6729 type _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = struct { 6730 _ [0]uint32 6731 ElementCount DWORD 6732 } /* winnt.h:8098:13 */ 6733 6734 //Vista: {e2011457-1546-43c5-a5fe-008deee3d3f0} 6735 //Seven: {35138b9a-5d96-4fbd-8e2d-a2440225f93a} 6736 type ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION /* winnt.h:8101:7 */ 6737 type PACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = uintptr /* winnt.h:8101:52 */ 6738 6739 type _SUPPORTED_OS_INFO = struct { 6740 OsCount WORD 6741 MitigationExist WORD 6742 OsList [4]WORD 6743 } /* winnt.h:8105:13 */ 6744 6745 type SUPPORTED_OS_INFO = _SUPPORTED_OS_INFO /* winnt.h:8109:7 */ 6746 type PSUPPORTED_OS_INFO = uintptr /* winnt.h:8109:25 */ 6747 6748 type _ACTIVATION_CONTEXT_DETAILED_INFORMATION = struct { 6749 dwFlags DWORD 6750 ulFormatVersion DWORD 6751 ulAssemblyCount DWORD 6752 ulRootManifestPathType DWORD 6753 ulRootManifestPathChars DWORD 6754 ulRootConfigurationPathType DWORD 6755 ulRootConfigurationPathChars DWORD 6756 ulAppDirPathType DWORD 6757 ulAppDirPathChars DWORD 6758 lpRootManifestPath PCWSTR 6759 lpRootConfigurationPath PCWSTR 6760 lpAppDirPath PCWSTR 6761 } /* winnt.h:8111:13 */ 6762 6763 type ACTIVATION_CONTEXT_DETAILED_INFORMATION = _ACTIVATION_CONTEXT_DETAILED_INFORMATION /* winnt.h:8124:7 */ 6764 type PACTIVATION_CONTEXT_DETAILED_INFORMATION = uintptr /* winnt.h:8124:47 */ 6765 6766 type PCACTIVATION_CONTEXT_QUERY_INDEX = uintptr /* winnt.h:8126:58 */ 6767 type PCASSEMBLY_FILE_DETAILED_INFORMATION = uintptr /* winnt.h:8127:54 */ 6768 type PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = uintptr /* winnt.h:8128:76 */ 6769 type PCACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = uintptr /* winnt.h:8129:68 */ 6770 type PCCOMPATIBILITY_CONTEXT_ELEMENT = uintptr /* winnt.h:8130:57 */ 6771 type PCACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = uintptr /* winnt.h:8131:72 */ 6772 type PCACTIVATION_CONTEXT_DETAILED_INFORMATION = uintptr /* winnt.h:8132:67 */ 6773 6774 type RTL_VERIFIER_DLL_LOAD_CALLBACK = uintptr /* winnt.h:8149:18 */ 6775 type RTL_VERIFIER_DLL_UNLOAD_CALLBACK = uintptr /* winnt.h:8150:18 */ 6776 type RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK = uintptr /* winnt.h:8151:18 */ 6777 6778 type _RTL_VERIFIER_THUNK_DESCRIPTOR = struct { 6779 ThunkName PCHAR 6780 ThunkOldAddress PVOID 6781 ThunkNewAddress PVOID 6782 } /* winnt.h:8153:13 */ 6783 6784 type RTL_VERIFIER_THUNK_DESCRIPTOR = _RTL_VERIFIER_THUNK_DESCRIPTOR /* winnt.h:8157:7 */ 6785 type PRTL_VERIFIER_THUNK_DESCRIPTOR = uintptr /* winnt.h:8157:37 */ 6786 6787 type _RTL_VERIFIER_DLL_DESCRIPTOR = struct { 6788 DllName PWCHAR 6789 DllFlags DWORD 6790 DllAddress PVOID 6791 DllThunks PRTL_VERIFIER_THUNK_DESCRIPTOR 6792 } /* winnt.h:8159:13 */ 6793 6794 type RTL_VERIFIER_DLL_DESCRIPTOR = _RTL_VERIFIER_DLL_DESCRIPTOR /* winnt.h:8164:7 */ 6795 type PRTL_VERIFIER_DLL_DESCRIPTOR = uintptr /* winnt.h:8164:35 */ 6796 6797 type _RTL_VERIFIER_PROVIDER_DESCRIPTOR = struct { 6798 Length DWORD 6799 ProviderDlls PRTL_VERIFIER_DLL_DESCRIPTOR 6800 ProviderDllLoadCallback RTL_VERIFIER_DLL_LOAD_CALLBACK 6801 ProviderDllUnloadCallback RTL_VERIFIER_DLL_UNLOAD_CALLBACK 6802 VerifierImage PWSTR 6803 VerifierFlags DWORD 6804 VerifierDebug DWORD 6805 RtlpGetStackTraceAddress PVOID 6806 RtlpDebugPageHeapCreate PVOID 6807 RtlpDebugPageHeapDestroy PVOID 6808 ProviderNtdllHeapFreeCallback RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK 6809 } /* winnt.h:8166:13 */ 6810 6811 type RTL_VERIFIER_PROVIDER_DESCRIPTOR = _RTL_VERIFIER_PROVIDER_DESCRIPTOR /* winnt.h:8178:7 */ 6812 type PRTL_VERIFIER_PROVIDER_DESCRIPTOR = uintptr /* winnt.h:8178:40 */ 6813 6814 type _HARDWARE_COUNTER_DATA = struct { 6815 Type HARDWARE_COUNTER_TYPE 6816 Reserved DWORD 6817 Value DWORD64 6818 } /* winnt.h:8291:13 */ 6819 6820 type HARDWARE_COUNTER_DATA = _HARDWARE_COUNTER_DATA /* winnt.h:8295:7 */ 6821 type PHARDWARE_COUNTER_DATA = uintptr /* winnt.h:8295:29 */ 6822 6823 type _PERFORMANCE_DATA = struct { 6824 Size WORD 6825 Version BYTE 6826 HwCountersCount BYTE 6827 ContextSwitchCount DWORD 6828 WaitReasonBitMap DWORD64 6829 CycleTime DWORD64 6830 RetryCount DWORD 6831 Reserved DWORD 6832 HwCounters [16]HARDWARE_COUNTER_DATA 6833 } /* winnt.h:8297:13 */ 6834 6835 type PERFORMANCE_DATA = _PERFORMANCE_DATA /* winnt.h:8307:7 */ 6836 type PPERFORMANCE_DATA = uintptr /* winnt.h:8307:24 */ 6837 6838 type _EVENTLOGRECORD = struct { 6839 Length DWORD 6840 Reserved DWORD 6841 RecordNumber DWORD 6842 TimeGenerated DWORD 6843 TimeWritten DWORD 6844 EventID DWORD 6845 EventType WORD 6846 NumStrings WORD 6847 EventCategory WORD 6848 ReservedFlags WORD 6849 ClosingRecordNumber DWORD 6850 StringOffset DWORD 6851 UserSidLength DWORD 6852 UserSidOffset DWORD 6853 DataLength DWORD 6854 DataOffset DWORD 6855 } /* winnt.h:8338:13 */ 6856 6857 type EVENTLOGRECORD = _EVENTLOGRECORD /* winnt.h:8355:7 */ 6858 type PEVENTLOGRECORD = uintptr /* winnt.h:8355:22 */ 6859 6860 type _EVENTSFORLOGFILE = struct { 6861 _ [0]uint32 6862 ulSize DWORD 6863 szLogicalLogFile [256]WCHAR 6864 ulNumRecords DWORD 6865 } /* winnt.h:8359:13 */ 6866 6867 type EVENTSFORLOGFILE = _EVENTSFORLOGFILE /* winnt.h:8364:7 */ 6868 type PEVENTSFORLOGFILE = uintptr /* winnt.h:8364:24 */ 6869 6870 type _PACKEDEVENTINFO = struct { 6871 _ [0]uint32 6872 ulSize DWORD 6873 ulNumEventsForLogFile DWORD 6874 } /* winnt.h:8366:13 */ 6875 6876 type PACKEDEVENTINFO = _PACKEDEVENTINFO /* winnt.h:8370:7 */ 6877 type PPACKEDEVENTINFO = uintptr /* winnt.h:8370:23 */ 6878 6879 type SERVICE_NODE_TYPE = uint32 /* winnt.h:8468:7 */ 6880 6881 type SERVICE_LOAD_TYPE = uint32 /* winnt.h:8473:7 */ 6882 6883 type SERVICE_ERROR_TYPE = uint32 /* winnt.h:8477:7 */ 6884 6885 type _TAPE_ERASE = struct { 6886 Type DWORD 6887 Immediate BOOLEAN 6888 _ [3]byte 6889 } /* winnt.h:8496:13 */ 6890 6891 type TAPE_ERASE = _TAPE_ERASE /* winnt.h:8499:7 */ 6892 type PTAPE_ERASE = uintptr /* winnt.h:8499:18 */ 6893 6894 type _TAPE_PREPARE = struct { 6895 Operation DWORD 6896 Immediate BOOLEAN 6897 _ [3]byte 6898 } /* winnt.h:8508:13 */ 6899 6900 type TAPE_PREPARE = _TAPE_PREPARE /* winnt.h:8511:7 */ 6901 type PTAPE_PREPARE = uintptr /* winnt.h:8511:20 */ 6902 6903 type _TAPE_WRITE_MARKS = struct { 6904 Type DWORD 6905 Count DWORD 6906 Immediate BOOLEAN 6907 _ [3]byte 6908 } /* winnt.h:8518:13 */ 6909 6910 type TAPE_WRITE_MARKS = _TAPE_WRITE_MARKS /* winnt.h:8522:7 */ 6911 type PTAPE_WRITE_MARKS = uintptr /* winnt.h:8522:24 */ 6912 6913 type _TAPE_GET_POSITION = struct { 6914 Type DWORD 6915 Partition DWORD 6916 Offset LARGE_INTEGER 6917 } /* winnt.h:8528:13 */ 6918 6919 type TAPE_GET_POSITION = _TAPE_GET_POSITION /* winnt.h:8532:7 */ 6920 type PTAPE_GET_POSITION = uintptr /* winnt.h:8532:25 */ 6921 6922 type _TAPE_SET_POSITION = struct { 6923 Method DWORD 6924 Partition DWORD 6925 Offset LARGE_INTEGER 6926 Immediate BOOLEAN 6927 _ [7]byte 6928 } /* winnt.h:8545:13 */ 6929 6930 type TAPE_SET_POSITION = _TAPE_SET_POSITION /* winnt.h:8550:7 */ 6931 type PTAPE_SET_POSITION = uintptr /* winnt.h:8550:25 */ 6932 6933 type _TAPE_GET_DRIVE_PARAMETERS = struct { 6934 ECC BOOLEAN 6935 Compression BOOLEAN 6936 DataPadding BOOLEAN 6937 ReportSetmarks BOOLEAN 6938 DefaultBlockSize DWORD 6939 MaximumBlockSize DWORD 6940 MinimumBlockSize DWORD 6941 MaximumPartitionCount DWORD 6942 FeaturesLow DWORD 6943 FeaturesHigh DWORD 6944 EOTWarningZoneSize DWORD 6945 } /* winnt.h:8619:13 */ 6946 6947 type TAPE_GET_DRIVE_PARAMETERS = _TAPE_GET_DRIVE_PARAMETERS /* winnt.h:8631:7 */ 6948 type PTAPE_GET_DRIVE_PARAMETERS = uintptr /* winnt.h:8631:33 */ 6949 6950 type _TAPE_SET_DRIVE_PARAMETERS = struct { 6951 ECC BOOLEAN 6952 Compression BOOLEAN 6953 DataPadding BOOLEAN 6954 ReportSetmarks BOOLEAN 6955 EOTWarningZoneSize DWORD 6956 } /* winnt.h:8633:13 */ 6957 6958 type TAPE_SET_DRIVE_PARAMETERS = _TAPE_SET_DRIVE_PARAMETERS /* winnt.h:8639:7 */ 6959 type PTAPE_SET_DRIVE_PARAMETERS = uintptr /* winnt.h:8639:33 */ 6960 6961 type _TAPE_GET_MEDIA_PARAMETERS = struct { 6962 Capacity LARGE_INTEGER 6963 Remaining LARGE_INTEGER 6964 BlockSize DWORD 6965 PartitionCount DWORD 6966 WriteProtected BOOLEAN 6967 _ [7]byte 6968 } /* winnt.h:8641:13 */ 6969 6970 type TAPE_GET_MEDIA_PARAMETERS = _TAPE_GET_MEDIA_PARAMETERS /* winnt.h:8647:7 */ 6971 type PTAPE_GET_MEDIA_PARAMETERS = uintptr /* winnt.h:8647:33 */ 6972 6973 type _TAPE_SET_MEDIA_PARAMETERS = struct{ BlockSize DWORD } /* winnt.h:8649:13 */ 6974 6975 type TAPE_SET_MEDIA_PARAMETERS = _TAPE_SET_MEDIA_PARAMETERS /* winnt.h:8651:7 */ 6976 type PTAPE_SET_MEDIA_PARAMETERS = uintptr /* winnt.h:8651:33 */ 6977 6978 type _TAPE_CREATE_PARTITION = struct { 6979 Method DWORD 6980 Count DWORD 6981 Size DWORD 6982 } /* winnt.h:8657:13 */ 6983 6984 type TAPE_CREATE_PARTITION = _TAPE_CREATE_PARTITION /* winnt.h:8661:7 */ 6985 type PTAPE_CREATE_PARTITION = uintptr /* winnt.h:8661:29 */ 6986 6987 type _TAPE_WMI_OPERATIONS = struct { 6988 Method DWORD 6989 DataBufferSize DWORD 6990 DataBuffer PVOID 6991 } /* winnt.h:8669:13 */ 6992 6993 type TAPE_WMI_OPERATIONS = _TAPE_WMI_OPERATIONS /* winnt.h:8673:7 */ 6994 type PTAPE_WMI_OPERATIONS = uintptr /* winnt.h:8673:27 */ 6995 6996 type TAPE_DRIVE_PROBLEM_TYPE = uint32 /* winnt.h:8677:7 */ 6997 6998 type TP_VERSION = DWORD /* winnt.h:8680:17 */ 6999 type PTP_VERSION = uintptr /* winnt.h:8680:28 */ 7000 type PTP_CALLBACK_INSTANCE = uintptr /* winnt.h:8681:61 */ 7001 type PTP_SIMPLE_CALLBACK = uintptr /* winnt.h:8682:16 */ 7002 type PTP_POOL = uintptr /* winnt.h:8683:35 */ 7003 7004 type TP_CALLBACK_PRIORITY = uint32 /* winnt.h:8691:5 */ 7005 7006 type _TP_POOL_STACK_INFORMATION = struct { 7007 StackReserve SIZE_T 7008 StackCommit SIZE_T 7009 } /* winnt.h:8693:11 */ 7010 7011 type TP_POOL_STACK_INFORMATION = _TP_POOL_STACK_INFORMATION /* winnt.h:8696:5 */ 7012 type PTP_POOL_STACK_INFORMATION = uintptr /* winnt.h:8696:32 */ 7013 type PTP_CLEANUP_GROUP = uintptr /* winnt.h:8698:53 */ 7014 type PTP_CLEANUP_GROUP_CANCEL_CALLBACK = uintptr /* winnt.h:8699:16 */ 7015 7016 type _TP_CALLBACK_ENVIRON_V1 = struct { 7017 Version TP_VERSION 7018 Pool PTP_POOL 7019 CleanupGroup PTP_CLEANUP_GROUP 7020 CleanupGroupCancelCallback PTP_CLEANUP_GROUP_CANCEL_CALLBACK 7021 RaceDll PVOID 7022 ActivationContext uintptr 7023 FinalizationCallback PTP_SIMPLE_CALLBACK 7024 u struct{ Flags DWORD } 7025 } /* winnt.h:8723:11 */ 7026 7027 type TP_CALLBACK_ENVIRON_V1 = _TP_CALLBACK_ENVIRON_V1 /* winnt.h:8739:5 */ 7028 type TP_CALLBACK_ENVIRON = TP_CALLBACK_ENVIRON_V1 /* winnt.h:8740:34 */ 7029 type PTP_CALLBACK_ENVIRON = uintptr /* winnt.h:8740:54 */ 7030 type PTP_WORK = uintptr /* winnt.h:8743:35 */ 7031 type PTP_WORK_CALLBACK = uintptr /* winnt.h:8744:16 */ 7032 type PTP_TIMER = uintptr /* winnt.h:8745:37 */ 7033 type PTP_TIMER_CALLBACK = uintptr /* winnt.h:8746:16 */ 7034 type TP_WAIT_RESULT = DWORD /* winnt.h:8747:17 */ 7035 type PTP_WAIT = uintptr /* winnt.h:8748:35 */ 7036 type PTP_WAIT_CALLBACK = uintptr /* winnt.h:8749:16 */ 7037 type PTP_IO = uintptr /* winnt.h:8750:31 */ 7038 7039 // * 7040 // This file is part of the mingw-w64 runtime package. 7041 // No warranty is given; refer to the file DISCLAIMER within this package. 7042 7043 type CRM_PROTOCOL_ID = GUID /* ktmtypes.h:13:16 */ 7044 type PCRM_PROTOCOL_ID = uintptr /* ktmtypes.h:13:32 */ 7045 7046 type NOTIFICATION_MASK = ULONG /* ktmtypes.h:38:17 */ 7047 7048 type _TRANSACTION_NOTIFICATION = struct { 7049 TransactionKey PVOID 7050 TransactionNotification ULONG 7051 TmVirtualClock LARGE_INTEGER 7052 ArgumentLength ULONG 7053 _ [4]byte 7054 } /* ktmtypes.h:78:11 */ 7055 7056 type TRANSACTION_NOTIFICATION = _TRANSACTION_NOTIFICATION /* ktmtypes.h:83:5 */ 7057 type PTRANSACTION_NOTIFICATION = uintptr /* ktmtypes.h:83:30 */ 7058 7059 type _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT = struct { 7060 EnlistmentId GUID 7061 UOW GUID 7062 } /* ktmtypes.h:85:11 */ 7063 7064 type TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT = _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT /* ktmtypes.h:88:5 */ 7065 type PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT = uintptr /* ktmtypes.h:88:48 */ 7066 7067 type _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT = struct { 7068 TmIdentity GUID 7069 Flags ULONG 7070 } /* ktmtypes.h:92:11 */ 7071 7072 type TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT = _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT /* ktmtypes.h:95:5 */ 7073 type PTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT = uintptr /* ktmtypes.h:95:49 */ 7074 7075 type SAVEPOINT_ID = ULONG /* ktmtypes.h:97:17 */ 7076 type PSAVEPOINT_ID = uintptr /* ktmtypes.h:97:30 */ 7077 7078 type _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT = struct{ SavepointId SAVEPOINT_ID } /* ktmtypes.h:99:11 */ 7079 7080 type TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT = _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT /* ktmtypes.h:101:5 */ 7081 type PTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT = uintptr /* ktmtypes.h:101:49 */ 7082 7083 type _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT = struct { 7084 PropagationCookie ULONG 7085 UOW GUID 7086 TmIdentity GUID 7087 BufferLength ULONG 7088 } /* ktmtypes.h:103:11 */ 7089 7090 type TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT = _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT /* ktmtypes.h:108:5 */ 7091 type PTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT = uintptr /* ktmtypes.h:108:49 */ 7092 7093 type _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT = struct { 7094 MarshalCookie ULONG 7095 UOW GUID 7096 } /* ktmtypes.h:110:11 */ 7097 7098 type TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT = _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT /* ktmtypes.h:113:5 */ 7099 type PTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT = uintptr /* ktmtypes.h:113:47 */ 7100 7101 type TRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT = TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT /* ktmtypes.h:115:55 */ 7102 type PTRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT = uintptr /* ktmtypes.h:115:97 */ 7103 7104 type _KCRM_MARSHAL_HEADER = struct { 7105 VersionMajor ULONG 7106 VersionMinor ULONG 7107 NumProtocols ULONG 7108 Unused ULONG 7109 } /* ktmtypes.h:123:11 */ 7110 7111 type KCRM_MARSHAL_HEADER = _KCRM_MARSHAL_HEADER /* ktmtypes.h:128:5 */ 7112 type PKCRM_MARSHAL_HEADER = uintptr /* ktmtypes.h:128:25 */ 7113 type PRKCRM_MARSHAL_HEADER = uintptr /* ktmtypes.h:128:47 */ 7114 7115 type _KCRM_TRANSACTION_BLOB = struct { 7116 UOW GUID 7117 TmIdentity GUID 7118 IsolationLevel ULONG 7119 IsolationFlags ULONG 7120 Timeout ULONG 7121 Description [64]WCHAR 7122 } /* ktmtypes.h:130:11 */ 7123 7124 type KCRM_TRANSACTION_BLOB = _KCRM_TRANSACTION_BLOB /* ktmtypes.h:137:5 */ 7125 type PKCRM_TRANSACTION_BLOB = uintptr /* ktmtypes.h:137:27 */ 7126 type PRKCRM_TRANSACTION_BLOB = uintptr /* ktmtypes.h:137:51 */ 7127 7128 type _KCRM_PROTOCOL_BLOB = struct { 7129 ProtocolId CRM_PROTOCOL_ID 7130 StaticInfoLength ULONG 7131 TransactionIdInfoLength ULONG 7132 Unused1 ULONG 7133 Unused2 ULONG 7134 } /* ktmtypes.h:139:11 */ 7135 7136 type KCRM_PROTOCOL_BLOB = _KCRM_PROTOCOL_BLOB /* ktmtypes.h:145:5 */ 7137 type PKCRM_PROTOCOL_BLOB = uintptr /* ktmtypes.h:145:24 */ 7138 type PRKCRM_PROTOCOL_BLOB = uintptr /* ktmtypes.h:145:45 */ 7139 7140 type TRANSACTION_OUTCOME = uint32 /* winnt.h:8882:9 */ 7141 7142 type TRANSACTION_STATE = uint32 /* winnt.h:8888:9 */ 7143 7144 type _TRANSACTION_BASIC_INFORMATION = struct { 7145 TransactionId GUID 7146 State DWORD 7147 Outcome DWORD 7148 } /* winnt.h:8890:15 */ 7149 7150 type TRANSACTION_BASIC_INFORMATION = _TRANSACTION_BASIC_INFORMATION /* winnt.h:8894:9 */ 7151 type PTRANSACTION_BASIC_INFORMATION = uintptr /* winnt.h:8894:39 */ 7152 7153 type _TRANSACTIONMANAGER_BASIC_INFORMATION = struct { 7154 TmIdentity GUID 7155 VirtualClock LARGE_INTEGER 7156 } /* winnt.h:8896:15 */ 7157 7158 type TRANSACTIONMANAGER_BASIC_INFORMATION = _TRANSACTIONMANAGER_BASIC_INFORMATION /* winnt.h:8899:9 */ 7159 type PTRANSACTIONMANAGER_BASIC_INFORMATION = uintptr /* winnt.h:8899:46 */ 7160 7161 type _TRANSACTIONMANAGER_LOG_INFORMATION = struct{ LogIdentity GUID } /* winnt.h:8901:15 */ 7162 7163 type TRANSACTIONMANAGER_LOG_INFORMATION = _TRANSACTIONMANAGER_LOG_INFORMATION /* winnt.h:8903:9 */ 7164 type PTRANSACTIONMANAGER_LOG_INFORMATION = uintptr /* winnt.h:8903:44 */ 7165 7166 type _TRANSACTIONMANAGER_LOGPATH_INFORMATION = struct { 7167 LogPathLength DWORD 7168 LogPath [1]WCHAR 7169 _ [2]byte 7170 } /* winnt.h:8905:15 */ 7171 7172 type TRANSACTIONMANAGER_LOGPATH_INFORMATION = _TRANSACTIONMANAGER_LOGPATH_INFORMATION /* winnt.h:8908:9 */ 7173 type PTRANSACTIONMANAGER_LOGPATH_INFORMATION = uintptr /* winnt.h:8908:48 */ 7174 7175 type _TRANSACTIONMANAGER_RECOVERY_INFORMATION = struct{ LastRecoveredLsn ULONGLONG } /* winnt.h:8910:15 */ 7176 7177 type TRANSACTIONMANAGER_RECOVERY_INFORMATION = _TRANSACTIONMANAGER_RECOVERY_INFORMATION /* winnt.h:8912:9 */ 7178 type PTRANSACTIONMANAGER_RECOVERY_INFORMATION = uintptr /* winnt.h:8912:49 */ 7179 7180 type _TRANSACTIONMANAGER_OLDEST_INFORMATION = struct{ OldestTransactionGuid GUID } /* winnt.h:8914:15 */ 7181 7182 type TRANSACTIONMANAGER_OLDEST_INFORMATION = _TRANSACTIONMANAGER_OLDEST_INFORMATION /* winnt.h:8916:9 */ 7183 type PTRANSACTIONMANAGER_OLDEST_INFORMATION = uintptr /* winnt.h:8916:47 */ 7184 7185 type _TRANSACTION_PROPERTIES_INFORMATION = struct { 7186 IsolationLevel DWORD 7187 IsolationFlags DWORD 7188 Timeout LARGE_INTEGER 7189 Outcome DWORD 7190 DescriptionLength DWORD 7191 Description [1]WCHAR 7192 _ [6]byte 7193 } /* winnt.h:8918:15 */ 7194 7195 type TRANSACTION_PROPERTIES_INFORMATION = _TRANSACTION_PROPERTIES_INFORMATION /* winnt.h:8925:9 */ 7196 type PTRANSACTION_PROPERTIES_INFORMATION = uintptr /* winnt.h:8925:44 */ 7197 7198 type _TRANSACTION_BIND_INFORMATION = struct{ TmHandle HANDLE } /* winnt.h:8927:15 */ 7199 7200 type TRANSACTION_BIND_INFORMATION = _TRANSACTION_BIND_INFORMATION /* winnt.h:8929:9 */ 7201 type PTRANSACTION_BIND_INFORMATION = uintptr /* winnt.h:8929:38 */ 7202 7203 type _TRANSACTION_ENLISTMENT_PAIR = struct { 7204 EnlistmentId GUID 7205 ResourceManagerId GUID 7206 } /* winnt.h:8931:15 */ 7207 7208 type TRANSACTION_ENLISTMENT_PAIR = _TRANSACTION_ENLISTMENT_PAIR /* winnt.h:8934:9 */ 7209 type PTRANSACTION_ENLISTMENT_PAIR = uintptr /* winnt.h:8934:37 */ 7210 7211 type _TRANSACTION_ENLISTMENTS_INFORMATION = struct { 7212 NumberOfEnlistments DWORD 7213 EnlistmentPair [1]TRANSACTION_ENLISTMENT_PAIR 7214 } /* winnt.h:8936:15 */ 7215 7216 type TRANSACTION_ENLISTMENTS_INFORMATION = _TRANSACTION_ENLISTMENTS_INFORMATION /* winnt.h:8939:9 */ 7217 type PTRANSACTION_ENLISTMENTS_INFORMATION = uintptr /* winnt.h:8939:45 */ 7218 7219 type _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION = struct{ SuperiorEnlistmentPair TRANSACTION_ENLISTMENT_PAIR } /* winnt.h:8941:15 */ 7220 7221 type TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION = _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION /* winnt.h:8943:9 */ 7222 type PTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION = uintptr /* winnt.h:8943:53 */ 7223 7224 type _RESOURCEMANAGER_BASIC_INFORMATION = struct { 7225 ResourceManagerId GUID 7226 DescriptionLength DWORD 7227 Description [1]WCHAR 7228 _ [2]byte 7229 } /* winnt.h:8945:15 */ 7230 7231 type RESOURCEMANAGER_BASIC_INFORMATION = _RESOURCEMANAGER_BASIC_INFORMATION /* winnt.h:8949:9 */ 7232 type PRESOURCEMANAGER_BASIC_INFORMATION = uintptr /* winnt.h:8949:43 */ 7233 7234 type _RESOURCEMANAGER_COMPLETION_INFORMATION = struct { 7235 IoCompletionPortHandle HANDLE 7236 CompletionKey ULONG_PTR 7237 } /* winnt.h:8951:15 */ 7238 7239 type RESOURCEMANAGER_COMPLETION_INFORMATION = _RESOURCEMANAGER_COMPLETION_INFORMATION /* winnt.h:8954:9 */ 7240 type PRESOURCEMANAGER_COMPLETION_INFORMATION = uintptr /* winnt.h:8954:48 */ 7241 7242 type TRANSACTION_INFORMATION_CLASS = uint32 /* winnt.h:8963:9 */ 7243 7244 type TRANSACTIONMANAGER_INFORMATION_CLASS = uint32 /* winnt.h:8972:9 */ 7245 7246 type RESOURCEMANAGER_INFORMATION_CLASS = uint32 /* winnt.h:8977:9 */ 7247 7248 type _ENLISTMENT_BASIC_INFORMATION = struct { 7249 EnlistmentId GUID 7250 TransactionId GUID 7251 ResourceManagerId GUID 7252 } /* winnt.h:8979:15 */ 7253 7254 type ENLISTMENT_BASIC_INFORMATION = _ENLISTMENT_BASIC_INFORMATION /* winnt.h:8983:9 */ 7255 type PENLISTMENT_BASIC_INFORMATION = uintptr /* winnt.h:8983:38 */ 7256 7257 type _ENLISTMENT_CRM_INFORMATION = struct { 7258 CrmTransactionManagerId GUID 7259 CrmResourceManagerId GUID 7260 CrmEnlistmentId GUID 7261 } /* winnt.h:8985:15 */ 7262 7263 type ENLISTMENT_CRM_INFORMATION = _ENLISTMENT_CRM_INFORMATION /* winnt.h:8989:9 */ 7264 type PENLISTMENT_CRM_INFORMATION = uintptr /* winnt.h:8989:36 */ 7265 7266 type ENLISTMENT_INFORMATION_CLASS = uint32 /* winnt.h:8995:9 */ 7267 7268 type _TRANSACTION_LIST_ENTRY = struct{ UOW GUID } /* winnt.h:8997:15 */ 7269 7270 type TRANSACTION_LIST_ENTRY = _TRANSACTION_LIST_ENTRY /* winnt.h:8999:9 */ 7271 type PTRANSACTION_LIST_ENTRY = uintptr /* winnt.h:8999:32 */ 7272 7273 type _TRANSACTION_LIST_INFORMATION = struct { 7274 NumberOfTransactions DWORD 7275 TransactionInformation [1]TRANSACTION_LIST_ENTRY 7276 } /* winnt.h:9001:15 */ 7277 7278 type TRANSACTION_LIST_INFORMATION = _TRANSACTION_LIST_INFORMATION /* winnt.h:9004:9 */ 7279 type PTRANSACTION_LIST_INFORMATION = uintptr /* winnt.h:9004:38 */ 7280 7281 type KTMOBJECT_TYPE = uint32 /* winnt.h:9012:9 */ 7282 type PKTMOBJECT_TYPE = uintptr /* winnt.h:9012:24 */ 7283 7284 type _KTMOBJECT_CURSOR = struct { 7285 LastQuery GUID 7286 ObjectIdCount DWORD 7287 ObjectIds [1]GUID 7288 } /* winnt.h:9014:15 */ 7289 7290 type KTMOBJECT_CURSOR = _KTMOBJECT_CURSOR /* winnt.h:9018:9 */ 7291 type PKTMOBJECT_CURSOR = uintptr /* winnt.h:9018:26 */ 7292 7293 // Field Names From (See _fields_ section) 7294 // FIXME: Verify these against documentation 7295 // -- These documentation describes Win32 Constants and Structures in Python -- 7296 // Constants - http://packages.python.org/winappdbg/winappdbg.win32.context_i386-pysrc.html 7297 // WOW64_FLOATING_SAVE_AREA - http://packages.python.org/winappdbg/winappdbg.win32.context_amd64.WOW64_FLOATING_SAVE_AREA-class.html 7298 // WOW64_CONTEXT - http://packages.python.org/winappdbg/winappdbg.win32.context_amd64.WOW64_CONTEXT-class.html 7299 7300 type _WOW64_FLOATING_SAVE_AREA = struct { 7301 ControlWord DWORD 7302 StatusWord DWORD 7303 TagWord DWORD 7304 ErrorOffset DWORD 7305 ErrorSelector DWORD 7306 DataOffset DWORD 7307 DataSelector DWORD 7308 RegisterArea [80]BYTE 7309 Cr0NpxState DWORD 7310 } /* winnt.h:9055:9 */ 7311 7312 // Field Names From (See _fields_ section) 7313 // FIXME: Verify these against documentation 7314 // -- These documentation describes Win32 Constants and Structures in Python -- 7315 // Constants - http://packages.python.org/winappdbg/winappdbg.win32.context_i386-pysrc.html 7316 // WOW64_FLOATING_SAVE_AREA - http://packages.python.org/winappdbg/winappdbg.win32.context_amd64.WOW64_FLOATING_SAVE_AREA-class.html 7317 // WOW64_CONTEXT - http://packages.python.org/winappdbg/winappdbg.win32.context_amd64.WOW64_CONTEXT-class.html 7318 7319 type WOW64_FLOATING_SAVE_AREA = _WOW64_FLOATING_SAVE_AREA /* winnt.h:9065:3 */ 7320 type PWOW64_FLOATING_SAVE_AREA = uintptr /* winnt.h:9065:29 */ 7321 7322 // * 7323 // This file has no copyright assigned and is placed in the Public Domain. 7324 // This file is part of the mingw-w64 runtime package. 7325 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 7326 type _WOW64_CONTEXT = struct { 7327 ContextFlags DWORD 7328 Dr0 DWORD 7329 Dr1 DWORD 7330 Dr2 DWORD 7331 Dr3 DWORD 7332 Dr6 DWORD 7333 Dr7 DWORD 7334 FloatSave WOW64_FLOATING_SAVE_AREA 7335 SegGs DWORD 7336 SegFs DWORD 7337 SegEs DWORD 7338 SegDs DWORD 7339 Edi DWORD 7340 Esi DWORD 7341 Ebx DWORD 7342 Edx DWORD 7343 Ecx DWORD 7344 Eax DWORD 7345 Ebp DWORD 7346 Eip DWORD 7347 SegCs DWORD 7348 EFlags DWORD 7349 Esp DWORD 7350 SegSs DWORD 7351 ExtendedRegisters [512]BYTE 7352 } /* winnt.h:9068:9 */ 7353 7354 // * 7355 // This file has no copyright assigned and is placed in the Public Domain. 7356 // This file is part of the mingw-w64 runtime package. 7357 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 7358 type WOW64_CONTEXT = _WOW64_CONTEXT /* winnt.h:9094:3 */ 7359 type PWOW64_CONTEXT = uintptr /* winnt.h:9094:18 */ 7360 // * 7361 // This file has no copyright assigned and is placed in the Public Domain. 7362 // This file is part of the mingw-w64 runtime package. 7363 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 7364 7365 type _WOW64_LDT_ENTRY = struct { 7366 LimitLow WORD 7367 BaseLow WORD 7368 HighWord struct { 7369 _ [0]uint32 7370 Bytes struct { 7371 BaseMid BYTE 7372 Flags1 BYTE 7373 Flags2 BYTE 7374 BaseHi BYTE 7375 } 7376 } 7377 } /* winnt.h:9097:9 */ 7378 7379 // * 7380 // This file has no copyright assigned and is placed in the Public Domain. 7381 // This file is part of the mingw-w64 runtime package. 7382 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 7383 7384 type WOW64_LDT_ENTRY = _WOW64_LDT_ENTRY /* winnt.h:9120:3 */ 7385 type PWOW64_LDT_ENTRY = uintptr /* winnt.h:9120:20 */ 7386 7387 type _WOW64_DESCRIPTOR_TABLE_ENTRY = struct { 7388 Selector DWORD 7389 Descriptor WOW64_LDT_ENTRY 7390 } /* winnt.h:9122:13 */ 7391 7392 type WOW64_DESCRIPTOR_TABLE_ENTRY = _WOW64_DESCRIPTOR_TABLE_ENTRY /* winnt.h:9125:7 */ 7393 type PWOW64_DESCRIPTOR_TABLE_ENTRY = uintptr /* winnt.h:9125:36 */ 7394 7395 type WPARAM = UINT_PTR /* minwindef.h:166:20 */ 7396 type LPARAM = LONG_PTR /* minwindef.h:167:20 */ 7397 type LRESULT = LONG_PTR /* minwindef.h:168:20 */ 7398 7399 type SPHANDLE = uintptr /* minwindef.h:189:18 */ 7400 type LPHANDLE = uintptr /* minwindef.h:190:18 */ 7401 type HGLOBAL = HANDLE /* minwindef.h:191:18 */ 7402 type HLOCAL = HANDLE /* minwindef.h:192:18 */ 7403 type GLOBALHANDLE = HANDLE /* minwindef.h:193:18 */ 7404 type LOCALHANDLE = HANDLE /* minwindef.h:194:18 */ 7405 type FARPROC = uintptr /* minwindef.h:200:15 */ 7406 type NEARPROC = uintptr /* minwindef.h:201:15 */ 7407 type PROC = uintptr /* minwindef.h:202:15 */ 7408 7409 type ATOM = WORD /* minwindef.h:205:16 */ 7410 7411 type HFILE = int32 /* minwindef.h:207:15 */ 7412 type HINSTANCE__ = struct{ unused int32 } /* minwindef.h:208:3 */ 7413 7414 type HINSTANCE = uintptr /* minwindef.h:208:3 */ 7415 type HKEY__ = struct{ unused int32 } /* minwindef.h:209:3 */ 7416 7417 type HKEY = uintptr /* minwindef.h:209:3 */ 7418 type PHKEY = uintptr /* minwindef.h:210:16 */ 7419 type HKL__ = struct{ unused int32 } /* minwindef.h:211:3 */ 7420 7421 type HKL = uintptr /* minwindef.h:211:3 */ 7422 type HLSURF__ = struct{ unused int32 } /* minwindef.h:212:3 */ 7423 7424 type HLSURF = uintptr /* minwindef.h:212:3 */ 7425 type HMETAFILE__ = struct{ unused int32 } /* minwindef.h:213:3 */ 7426 7427 type HMETAFILE = uintptr /* minwindef.h:213:3 */ 7428 type HMODULE = HINSTANCE /* minwindef.h:214:21 */ 7429 type HRGN__ = struct{ unused int32 } /* minwindef.h:215:3 */ 7430 7431 type HRGN = uintptr /* minwindef.h:215:3 */ 7432 type HRSRC__ = struct{ unused int32 } /* minwindef.h:216:3 */ 7433 7434 type HRSRC = uintptr /* minwindef.h:216:3 */ 7435 type HSPRITE__ = struct{ unused int32 } /* minwindef.h:217:3 */ 7436 7437 type HSPRITE = uintptr /* minwindef.h:217:3 */ 7438 type HSTR__ = struct{ unused int32 } /* minwindef.h:218:3 */ 7439 7440 type HSTR = uintptr /* minwindef.h:218:3 */ 7441 type HTASK__ = struct{ unused int32 } /* minwindef.h:219:3 */ 7442 7443 type HTASK = uintptr /* minwindef.h:219:3 */ 7444 type HWINSTA__ = struct{ unused int32 } /* minwindef.h:220:3 */ 7445 7446 type HWINSTA = uintptr /* minwindef.h:220:3 */ 7447 7448 type _FILETIME = struct { 7449 dwLowDateTime DWORD 7450 dwHighDateTime DWORD 7451 } /* minwindef.h:222:11 */ 7452 7453 type FILETIME = _FILETIME /* minwindef.h:225:5 */ 7454 type PFILETIME = uintptr /* minwindef.h:225:14 */ 7455 type LPFILETIME = uintptr /* minwindef.h:225:25 */ 7456 7457 // Make sure winnt.h is included. 7458 // * 7459 // This file is part of the mingw-w64 runtime package. 7460 // No warranty is given; refer to the file DISCLAIMER within this package. 7461 7462 type HWND__ = struct{ unused int32 } /* windef.h:25:1 */ 7463 7464 type HWND = uintptr /* windef.h:25:1 */ 7465 type HHOOK__ = struct{ unused int32 } /* windef.h:26:1 */ 7466 7467 type HHOOK = uintptr /* windef.h:26:1 */ 7468 7469 type HGDIOBJ = uintptr /* windef.h:37:16 */ 7470 7471 type HACCEL__ = struct{ unused int32 } /* windef.h:42:1 */ 7472 7473 type HACCEL = uintptr /* windef.h:42:1 */ 7474 type HBITMAP__ = struct{ unused int32 } /* windef.h:43:1 */ 7475 7476 type HBITMAP = uintptr /* windef.h:43:1 */ 7477 type HBRUSH__ = struct{ unused int32 } /* windef.h:44:1 */ 7478 7479 type HBRUSH = uintptr /* windef.h:44:1 */ 7480 type HCOLORSPACE__ = struct{ unused int32 } /* windef.h:45:1 */ 7481 7482 type HCOLORSPACE = uintptr /* windef.h:45:1 */ 7483 type HDC__ = struct{ unused int32 } /* windef.h:46:1 */ 7484 7485 type HDC = uintptr /* windef.h:46:1 */ 7486 type HGLRC__ = struct{ unused int32 } /* windef.h:47:1 */ 7487 7488 type HGLRC = uintptr /* windef.h:47:1 */ 7489 type HDESK__ = struct{ unused int32 } /* windef.h:48:1 */ 7490 7491 type HDESK = uintptr /* windef.h:48:1 */ 7492 type HENHMETAFILE__ = struct{ unused int32 } /* windef.h:49:1 */ 7493 7494 type HENHMETAFILE = uintptr /* windef.h:49:1 */ 7495 type HFONT__ = struct{ unused int32 } /* windef.h:50:1 */ 7496 7497 type HFONT = uintptr /* windef.h:50:1 */ 7498 type HICON__ = struct{ unused int32 } /* windef.h:51:1 */ 7499 7500 type HICON = uintptr /* windef.h:51:1 */ 7501 type HMENU__ = struct{ unused int32 } /* windef.h:52:1 */ 7502 7503 type HMENU = uintptr /* windef.h:52:1 */ 7504 type HPALETTE__ = struct{ unused int32 } /* windef.h:53:1 */ 7505 7506 type HPALETTE = uintptr /* windef.h:53:1 */ 7507 type HPEN__ = struct{ unused int32 } /* windef.h:54:1 */ 7508 7509 type HPEN = uintptr /* windef.h:54:1 */ 7510 type HMONITOR__ = struct{ unused int32 } /* windef.h:55:1 */ 7511 7512 type HMONITOR = uintptr /* windef.h:55:1 */ 7513 type HWINEVENTHOOK__ = struct{ unused int32 } /* windef.h:57:1 */ 7514 7515 type HWINEVENTHOOK = uintptr /* windef.h:57:1 */ 7516 7517 type HCURSOR = HICON /* windef.h:59:15 */ 7518 type COLORREF = DWORD /* windef.h:60:15 */ 7519 7520 type HUMPD__ = struct{ unused int32 } /* windef.h:64:1 */ 7521 7522 type HUMPD = uintptr /* windef.h:64:1 */ 7523 7524 type LPCOLORREF = uintptr /* windef.h:66:15 */ 7525 7526 type tagRECT = struct { 7527 left LONG 7528 top LONG 7529 right LONG 7530 bottom LONG 7531 } /* windef.h:72:9 */ 7532 7533 type RECT = tagRECT /* windef.h:77:3 */ 7534 type PRECT = uintptr /* windef.h:77:8 */ 7535 type NPRECT = uintptr /* windef.h:77:15 */ 7536 type LPRECT = uintptr /* windef.h:77:23 */ 7537 7538 type LPCRECT = uintptr /* windef.h:79:20 */ 7539 7540 type _RECTL = struct { 7541 left LONG 7542 top LONG 7543 right LONG 7544 bottom LONG 7545 } /* windef.h:81:9 */ 7546 7547 type RECTL = _RECTL /* windef.h:86:3 */ 7548 type PRECTL = uintptr /* windef.h:86:9 */ 7549 type LPRECTL = uintptr /* windef.h:86:17 */ 7550 7551 type LPCRECTL = uintptr /* windef.h:88:21 */ 7552 7553 type tagPOINT = struct { 7554 x LONG 7555 y LONG 7556 } /* windef.h:90:9 */ 7557 7558 type POINT = tagPOINT /* windef.h:93:3 */ 7559 type PPOINT = uintptr /* windef.h:93:9 */ 7560 type NPPOINT = uintptr /* windef.h:93:17 */ 7561 type LPPOINT = uintptr /* windef.h:93:26 */ 7562 7563 type _POINTL = struct { 7564 x LONG 7565 y LONG 7566 } /* windef.h:95:9 */ 7567 7568 type POINTL = _POINTL /* windef.h:98:3 */ 7569 type PPOINTL = uintptr /* windef.h:98:10 */ 7570 7571 type tagSIZE = struct { 7572 cx LONG 7573 cy LONG 7574 } /* windef.h:100:9 */ 7575 7576 type SIZE = tagSIZE /* windef.h:103:3 */ 7577 type PSIZE = uintptr /* windef.h:103:8 */ 7578 type LPSIZE = uintptr /* windef.h:103:15 */ 7579 7580 type SIZEL = SIZE /* windef.h:105:14 */ 7581 type PSIZEL = uintptr /* windef.h:106:14 */ 7582 type LPSIZEL = uintptr /* windef.h:106:22 */ 7583 7584 type tagPOINTS = struct { 7585 x SHORT 7586 y SHORT 7587 } /* windef.h:108:9 */ 7588 7589 type POINTS = tagPOINTS /* windef.h:111:3 */ 7590 type PPOINTS = uintptr /* windef.h:111:10 */ 7591 type LPPOINTS = uintptr /* windef.h:111:19 */ 7592 7593 // * 7594 // This file is part of the mingw-w64 runtime package. 7595 // No warranty is given; refer to the file DISCLAIMER within this package. 7596 7597 // * 7598 // This file has no copyright assigned and is placed in the Public Domain. 7599 // This file is part of the mingw-w64 runtime package. 7600 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 7601 7602 // * 7603 // This file is part of the mingw-w64 runtime package. 7604 // No warranty is given; refer to the file DISCLAIMER within this package. 7605 7606 // * 7607 // This file is part of the mingw-w64 runtime package. 7608 // No warranty is given; refer to the file DISCLAIMER within this package. 7609 7610 type _SECURITY_ATTRIBUTES = struct { 7611 nLength DWORD 7612 lpSecurityDescriptor LPVOID 7613 bInheritHandle WINBOOL 7614 } /* minwinbase.h:13:11 */ 7615 7616 // * 7617 // This file is part of the mingw-w64 runtime package. 7618 // No warranty is given; refer to the file DISCLAIMER within this package. 7619 7620 // * 7621 // This file has no copyright assigned and is placed in the Public Domain. 7622 // This file is part of the mingw-w64 runtime package. 7623 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 7624 7625 // * 7626 // This file is part of the mingw-w64 runtime package. 7627 // No warranty is given; refer to the file DISCLAIMER within this package. 7628 7629 // * 7630 // This file is part of the mingw-w64 runtime package. 7631 // No warranty is given; refer to the file DISCLAIMER within this package. 7632 7633 type SECURITY_ATTRIBUTES = _SECURITY_ATTRIBUTES /* minwinbase.h:17:5 */ 7634 type PSECURITY_ATTRIBUTES = uintptr /* minwinbase.h:17:26 */ 7635 type LPSECURITY_ATTRIBUTES = uintptr /* minwinbase.h:17:49 */ 7636 7637 type _OVERLAPPED = struct { 7638 Internal ULONG_PTR 7639 InternalHigh ULONG_PTR 7640 u struct { 7641 s struct { 7642 Offset DWORD 7643 OffsetHigh DWORD 7644 } 7645 } 7646 hEvent HANDLE 7647 } /* minwinbase.h:19:11 */ 7648 7649 type OVERLAPPED = _OVERLAPPED /* minwinbase.h:30:5 */ 7650 type LPOVERLAPPED = uintptr /* minwinbase.h:30:17 */ 7651 7652 type _OVERLAPPED_ENTRY = struct { 7653 lpCompletionKey ULONG_PTR 7654 lpOverlapped LPOVERLAPPED 7655 Internal ULONG_PTR 7656 dwNumberOfBytesTransferred DWORD 7657 } /* minwinbase.h:32:11 */ 7658 7659 type OVERLAPPED_ENTRY = _OVERLAPPED_ENTRY /* minwinbase.h:37:5 */ 7660 type LPOVERLAPPED_ENTRY = uintptr /* minwinbase.h:37:23 */ 7661 7662 type _SYSTEMTIME = struct { 7663 wYear WORD 7664 wMonth WORD 7665 wDayOfWeek WORD 7666 wDay WORD 7667 wHour WORD 7668 wMinute WORD 7669 wSecond WORD 7670 wMilliseconds WORD 7671 } /* minwinbase.h:49:11 */ 7672 7673 type SYSTEMTIME = _SYSTEMTIME /* minwinbase.h:58:5 */ 7674 type PSYSTEMTIME = uintptr /* minwinbase.h:58:17 */ 7675 type LPSYSTEMTIME = uintptr /* minwinbase.h:58:31 */ 7676 7677 type _WIN32_FIND_DATAA = struct { 7678 dwFileAttributes DWORD 7679 ftCreationTime FILETIME 7680 ftLastAccessTime FILETIME 7681 ftLastWriteTime FILETIME 7682 nFileSizeHigh DWORD 7683 nFileSizeLow DWORD 7684 dwReserved0 DWORD 7685 dwReserved1 DWORD 7686 cFileName [260]CHAR 7687 cAlternateFileName [14]CHAR 7688 _ [2]byte 7689 } /* minwinbase.h:61:11 */ 7690 7691 type WIN32_FIND_DATAA = _WIN32_FIND_DATAA /* minwinbase.h:72:5 */ 7692 type PWIN32_FIND_DATAA = uintptr /* minwinbase.h:72:23 */ 7693 type LPWIN32_FIND_DATAA = uintptr /* minwinbase.h:72:43 */ 7694 7695 type _WIN32_FIND_DATAW = struct { 7696 dwFileAttributes DWORD 7697 ftCreationTime FILETIME 7698 ftLastAccessTime FILETIME 7699 ftLastWriteTime FILETIME 7700 nFileSizeHigh DWORD 7701 nFileSizeLow DWORD 7702 dwReserved0 DWORD 7703 dwReserved1 DWORD 7704 cFileName [260]WCHAR 7705 cAlternateFileName [14]WCHAR 7706 } /* minwinbase.h:74:11 */ 7707 7708 type WIN32_FIND_DATAW = _WIN32_FIND_DATAW /* minwinbase.h:85:5 */ 7709 type PWIN32_FIND_DATAW = uintptr /* minwinbase.h:85:23 */ 7710 type LPWIN32_FIND_DATAW = uintptr /* minwinbase.h:85:43 */ 7711 7712 type WIN32_FIND_DATA = WIN32_FIND_DATAA /* minwinbase.h:87:3 */ 7713 type PWIN32_FIND_DATA = PWIN32_FIND_DATAA /* minwinbase.h:88:3 */ 7714 type LPWIN32_FIND_DATA = LPWIN32_FIND_DATAA /* minwinbase.h:89:3 */ 7715 7716 type FINDEX_INFO_LEVELS = uint32 /* minwinbase.h:95:5 */ 7717 7718 type FINDEX_SEARCH_OPS = uint32 /* minwinbase.h:105:5 */ 7719 7720 type GET_FILEEX_INFO_LEVELS = uint32 /* minwinbase.h:110:5 */ 7721 7722 type CRITICAL_SECTION = RTL_CRITICAL_SECTION /* minwinbase.h:141:32 */ 7723 type PCRITICAL_SECTION = PRTL_CRITICAL_SECTION /* minwinbase.h:142:33 */ 7724 type LPCRITICAL_SECTION = PRTL_CRITICAL_SECTION /* minwinbase.h:143:33 */ 7725 type CRITICAL_SECTION_DEBUG = RTL_CRITICAL_SECTION_DEBUG /* minwinbase.h:144:38 */ 7726 type PCRITICAL_SECTION_DEBUG = PRTL_CRITICAL_SECTION_DEBUG /* minwinbase.h:145:39 */ 7727 type LPCRITICAL_SECTION_DEBUG = PRTL_CRITICAL_SECTION_DEBUG /* minwinbase.h:146:39 */ 7728 7729 type LPOVERLAPPED_COMPLETION_ROUTINE = uintptr /* minwinbase.h:148:16 */ 7730 7731 type _PROCESS_HEAP_ENTRY = struct { 7732 lpData PVOID 7733 cbData DWORD 7734 cbOverhead BYTE 7735 iRegionIndex BYTE 7736 wFlags WORD 7737 u struct { 7738 Block struct { 7739 hMem HANDLE 7740 dwReserved [3]DWORD 7741 } 7742 } 7743 } /* minwinbase.h:153:11 */ 7744 7745 type PROCESS_HEAP_ENTRY = _PROCESS_HEAP_ENTRY /* minwinbase.h:171:5 */ 7746 type LPPROCESS_HEAP_ENTRY = uintptr /* minwinbase.h:171:24 */ 7747 type PPROCESS_HEAP_ENTRY = uintptr /* minwinbase.h:171:46 */ 7748 7749 type _REASON_CONTEXT = struct { 7750 Version ULONG 7751 Flags DWORD 7752 Reason struct { 7753 Detailed struct { 7754 LocalizedReasonModule HMODULE 7755 LocalizedReasonId ULONG 7756 ReasonStringCount ULONG 7757 ReasonStrings uintptr 7758 } 7759 } 7760 } /* minwinbase.h:179:11 */ 7761 7762 type REASON_CONTEXT = _REASON_CONTEXT /* minwinbase.h:191:5 */ 7763 type PREASON_CONTEXT = uintptr /* minwinbase.h:191:21 */ 7764 7765 type PTHREAD_START_ROUTINE = uintptr /* minwinbase.h:203:17 */ 7766 type LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE /* minwinbase.h:204:33 */ 7767 7768 type _EXCEPTION_DEBUG_INFO = struct { 7769 ExceptionRecord EXCEPTION_RECORD 7770 dwFirstChance DWORD 7771 } /* minwinbase.h:206:11 */ 7772 7773 type EXCEPTION_DEBUG_INFO = _EXCEPTION_DEBUG_INFO /* minwinbase.h:209:5 */ 7774 type LPEXCEPTION_DEBUG_INFO = uintptr /* minwinbase.h:209:27 */ 7775 7776 type _CREATE_THREAD_DEBUG_INFO = struct { 7777 hThread HANDLE 7778 lpThreadLocalBase LPVOID 7779 lpStartAddress LPTHREAD_START_ROUTINE 7780 } /* minwinbase.h:211:11 */ 7781 7782 type CREATE_THREAD_DEBUG_INFO = _CREATE_THREAD_DEBUG_INFO /* minwinbase.h:215:5 */ 7783 type LPCREATE_THREAD_DEBUG_INFO = uintptr /* minwinbase.h:215:31 */ 7784 7785 type _CREATE_PROCESS_DEBUG_INFO = struct { 7786 hFile HANDLE 7787 hProcess HANDLE 7788 hThread HANDLE 7789 lpBaseOfImage LPVOID 7790 dwDebugInfoFileOffset DWORD 7791 nDebugInfoSize DWORD 7792 lpThreadLocalBase LPVOID 7793 lpStartAddress LPTHREAD_START_ROUTINE 7794 lpImageName LPVOID 7795 fUnicode WORD 7796 _ [2]byte 7797 } /* minwinbase.h:217:11 */ 7798 7799 type CREATE_PROCESS_DEBUG_INFO = _CREATE_PROCESS_DEBUG_INFO /* minwinbase.h:228:5 */ 7800 type LPCREATE_PROCESS_DEBUG_INFO = uintptr /* minwinbase.h:228:32 */ 7801 7802 type _EXIT_THREAD_DEBUG_INFO = struct{ dwExitCode DWORD } /* minwinbase.h:230:11 */ 7803 7804 type EXIT_THREAD_DEBUG_INFO = _EXIT_THREAD_DEBUG_INFO /* minwinbase.h:232:5 */ 7805 type LPEXIT_THREAD_DEBUG_INFO = uintptr /* minwinbase.h:232:29 */ 7806 7807 type _EXIT_PROCESS_DEBUG_INFO = struct{ dwExitCode DWORD } /* minwinbase.h:234:11 */ 7808 7809 type EXIT_PROCESS_DEBUG_INFO = _EXIT_PROCESS_DEBUG_INFO /* minwinbase.h:236:5 */ 7810 type LPEXIT_PROCESS_DEBUG_INFO = uintptr /* minwinbase.h:236:30 */ 7811 7812 type _LOAD_DLL_DEBUG_INFO = struct { 7813 hFile HANDLE 7814 lpBaseOfDll LPVOID 7815 dwDebugInfoFileOffset DWORD 7816 nDebugInfoSize DWORD 7817 lpImageName LPVOID 7818 fUnicode WORD 7819 _ [2]byte 7820 } /* minwinbase.h:238:11 */ 7821 7822 type LOAD_DLL_DEBUG_INFO = _LOAD_DLL_DEBUG_INFO /* minwinbase.h:245:5 */ 7823 type LPLOAD_DLL_DEBUG_INFO = uintptr /* minwinbase.h:245:26 */ 7824 7825 type _UNLOAD_DLL_DEBUG_INFO = struct{ lpBaseOfDll LPVOID } /* minwinbase.h:247:11 */ 7826 7827 type UNLOAD_DLL_DEBUG_INFO = _UNLOAD_DLL_DEBUG_INFO /* minwinbase.h:249:5 */ 7828 type LPUNLOAD_DLL_DEBUG_INFO = uintptr /* minwinbase.h:249:28 */ 7829 7830 type _OUTPUT_DEBUG_STRING_INFO = struct { 7831 lpDebugStringData LPSTR 7832 fUnicode WORD 7833 nDebugStringLength WORD 7834 } /* minwinbase.h:251:11 */ 7835 7836 type OUTPUT_DEBUG_STRING_INFO = _OUTPUT_DEBUG_STRING_INFO /* minwinbase.h:255:5 */ 7837 type LPOUTPUT_DEBUG_STRING_INFO = uintptr /* minwinbase.h:255:31 */ 7838 7839 type _RIP_INFO = struct { 7840 dwError DWORD 7841 dwType DWORD 7842 } /* minwinbase.h:257:11 */ 7843 7844 type RIP_INFO = _RIP_INFO /* minwinbase.h:260:5 */ 7845 type LPRIP_INFO = uintptr /* minwinbase.h:260:15 */ 7846 7847 type _DEBUG_EVENT = struct { 7848 dwDebugEventCode DWORD 7849 dwProcessId DWORD 7850 dwThreadId DWORD 7851 u struct{ Exception EXCEPTION_DEBUG_INFO } 7852 } /* minwinbase.h:262:11 */ 7853 7854 type DEBUG_EVENT = _DEBUG_EVENT /* minwinbase.h:277:5 */ 7855 type LPDEBUG_EVENT = uintptr /* minwinbase.h:277:18 */ 7856 7857 type LPCONTEXT = PCONTEXT /* minwinbase.h:280:20 */ 7858 type BEM_FREE_INTERFACE_CALLBACK = uintptr /* bemapiset.h:21:16 */ 7859 7860 // * 7861 // This file is part of the mingw-w64 runtime package. 7862 // No warranty is given; refer to the file DISCLAIMER within this package. 7863 7864 // * 7865 // This file is part of the mingw-w64 runtime package. 7866 // No warranty is given; refer to the file DISCLAIMER within this package. 7867 7868 // * 7869 // This file is part of the mingw-w64 runtime package. 7870 // No warranty is given; refer to the file DISCLAIMER within this package. 7871 7872 type PTOP_LEVEL_EXCEPTION_FILTER = uintptr /* errhandlingapi.h:17:14 */ 7873 type LPTOP_LEVEL_EXCEPTION_FILTER = PTOP_LEVEL_EXCEPTION_FILTER /* errhandlingapi.h:18:37 */ 7874 type _BY_HANDLE_FILE_INFORMATION = struct { 7875 dwFileAttributes DWORD 7876 ftCreationTime FILETIME 7877 ftLastAccessTime FILETIME 7878 ftLastWriteTime FILETIME 7879 dwVolumeSerialNumber DWORD 7880 nFileSizeHigh DWORD 7881 nFileSizeLow DWORD 7882 nNumberOfLinks DWORD 7883 nFileIndexHigh DWORD 7884 nFileIndexLow DWORD 7885 } /* fileapi.h:38:11 */ 7886 7887 type BY_HANDLE_FILE_INFORMATION = _BY_HANDLE_FILE_INFORMATION /* fileapi.h:49:5 */ 7888 type PBY_HANDLE_FILE_INFORMATION = uintptr /* fileapi.h:49:33 */ 7889 type LPBY_HANDLE_FILE_INFORMATION = uintptr /* fileapi.h:50:5 */ 7890 7891 type _WIN32_FILE_ATTRIBUTE_DATA = struct { 7892 dwFileAttributes DWORD 7893 ftCreationTime FILETIME 7894 ftLastAccessTime FILETIME 7895 ftLastWriteTime FILETIME 7896 nFileSizeHigh DWORD 7897 nFileSizeLow DWORD 7898 } /* fileapi.h:129:11 */ 7899 7900 type WIN32_FILE_ATTRIBUTE_DATA = _WIN32_FILE_ATTRIBUTE_DATA /* fileapi.h:136:5 */ 7901 type LPWIN32_FILE_ATTRIBUTE_DATA = uintptr /* fileapi.h:136:32 */ 7902 7903 // * 7904 // This file is part of the mingw-w64 runtime package. 7905 // No warranty is given; refer to the file DISCLAIMER within this package. 7906 7907 // * 7908 // This file is part of the mingw-w64 runtime package. 7909 // No warranty is given; refer to the file DISCLAIMER within this package. 7910 7911 // * 7912 // This file is part of the mingw-w64 runtime package. 7913 // No warranty is given; refer to the file DISCLAIMER within this package. 7914 7915 type _HEAP_SUMMARY = struct { 7916 cb DWORD 7917 cbAllocated SIZE_T 7918 cbCommitted SIZE_T 7919 cbReserved SIZE_T 7920 cbMaxReserve SIZE_T 7921 } /* heapapi.h:18:11 */ 7922 7923 // * 7924 // This file is part of the mingw-w64 runtime package. 7925 // No warranty is given; refer to the file DISCLAIMER within this package. 7926 7927 // * 7928 // This file is part of the mingw-w64 runtime package. 7929 // No warranty is given; refer to the file DISCLAIMER within this package. 7930 7931 // * 7932 // This file is part of the mingw-w64 runtime package. 7933 // No warranty is given; refer to the file DISCLAIMER within this package. 7934 7935 type HEAP_SUMMARY = _HEAP_SUMMARY /* heapapi.h:24:5 */ 7936 type PHEAP_SUMMARY = uintptr /* heapapi.h:24:18 */ 7937 7938 type LPHEAP_SUMMARY = PHEAP_SUMMARY /* heapapi.h:26:25 */ 7939 7940 // * 7941 // This file is part of the mingw-w64 runtime package. 7942 // No warranty is given; refer to the file DISCLAIMER within this package. 7943 7944 // * 7945 // This file is part of the mingw-w64 runtime package. 7946 // No warranty is given; refer to the file DISCLAIMER within this package. 7947 7948 // * 7949 // This file is part of the mingw-w64 runtime package. 7950 // No warranty is given; refer to the file DISCLAIMER within this package. 7951 7952 type tagENUMUILANG = struct { 7953 NumOfEnumUILang ULONG 7954 SizeOfEnumUIBuffer ULONG 7955 pEnumUIBuffer uintptr 7956 } /* libloaderapi.h:18:11 */ 7957 7958 // * 7959 // This file is part of the mingw-w64 runtime package. 7960 // No warranty is given; refer to the file DISCLAIMER within this package. 7961 7962 // * 7963 // This file is part of the mingw-w64 runtime package. 7964 // No warranty is given; refer to the file DISCLAIMER within this package. 7965 7966 // * 7967 // This file is part of the mingw-w64 runtime package. 7968 // No warranty is given; refer to the file DISCLAIMER within this package. 7969 7970 type ENUMUILANG = tagENUMUILANG /* libloaderapi.h:22:5 */ 7971 type PENUMUILANG = uintptr /* libloaderapi.h:22:17 */ 7972 7973 type ENUMRESLANGPROCA = uintptr /* libloaderapi.h:25:19 */ 7974 type ENUMRESLANGPROCW = uintptr /* libloaderapi.h:26:19 */ 7975 type ENUMRESNAMEPROCA = uintptr /* libloaderapi.h:27:19 */ 7976 type ENUMRESNAMEPROCW = uintptr /* libloaderapi.h:28:19 */ 7977 type ENUMRESTYPEPROCA = uintptr /* libloaderapi.h:29:19 */ 7978 type ENUMRESTYPEPROCW = uintptr /* libloaderapi.h:30:19 */ 7979 7980 type PGET_MODULE_HANDLE_EXA = uintptr /* libloaderapi.h:41:19 */ 7981 type PGET_MODULE_HANDLE_EXW = uintptr /* libloaderapi.h:42:19 */ 7982 7983 type DLL_DIRECTORY_COOKIE = PVOID /* libloaderapi.h:45:17 */ 7984 type PDLL_DIRECTORY_COOKIE = uintptr /* libloaderapi.h:45:39 */ 7985 7986 // * 7987 // This file is part of the mingw-w64 runtime package. 7988 // No warranty is given; refer to the file DISCLAIMER within this package. 7989 7990 // * 7991 // This file is part of the mingw-w64 runtime package. 7992 // No warranty is given; refer to the file DISCLAIMER within this package. 7993 7994 // * 7995 // This file is part of the mingw-w64 runtime package. 7996 // No warranty is given; refer to the file DISCLAIMER within this package. 7997 7998 type MEMORY_RESOURCE_NOTIFICATION_TYPE = uint32 /* memoryapi.h:21:5 */ 7999 8000 type _PROCESS_INFORMATION = struct { 8001 hProcess HANDLE 8002 hThread HANDLE 8003 dwProcessId DWORD 8004 dwThreadId DWORD 8005 } /* processthreadsapi.h:28:11 */ 8006 8007 type PROCESS_INFORMATION = _PROCESS_INFORMATION /* processthreadsapi.h:33:5 */ 8008 type PPROCESS_INFORMATION = uintptr /* processthreadsapi.h:33:26 */ 8009 type LPPROCESS_INFORMATION = uintptr /* processthreadsapi.h:33:49 */ 8010 8011 type _STARTUPINFOA = struct { 8012 cb DWORD 8013 lpReserved LPSTR 8014 lpDesktop LPSTR 8015 lpTitle LPSTR 8016 dwX DWORD 8017 dwY DWORD 8018 dwXSize DWORD 8019 dwYSize DWORD 8020 dwXCountChars DWORD 8021 dwYCountChars DWORD 8022 dwFillAttribute DWORD 8023 dwFlags DWORD 8024 wShowWindow WORD 8025 cbReserved2 WORD 8026 lpReserved2 LPBYTE 8027 hStdInput HANDLE 8028 hStdOutput HANDLE 8029 hStdError HANDLE 8030 } /* processthreadsapi.h:35:11 */ 8031 8032 type STARTUPINFOA = _STARTUPINFOA /* processthreadsapi.h:54:5 */ 8033 type LPSTARTUPINFOA = uintptr /* processthreadsapi.h:54:19 */ 8034 8035 type _STARTUPINFOW = struct { 8036 cb DWORD 8037 lpReserved LPWSTR 8038 lpDesktop LPWSTR 8039 lpTitle LPWSTR 8040 dwX DWORD 8041 dwY DWORD 8042 dwXSize DWORD 8043 dwYSize DWORD 8044 dwXCountChars DWORD 8045 dwYCountChars DWORD 8046 dwFillAttribute DWORD 8047 dwFlags DWORD 8048 wShowWindow WORD 8049 cbReserved2 WORD 8050 lpReserved2 LPBYTE 8051 hStdInput HANDLE 8052 hStdOutput HANDLE 8053 hStdError HANDLE 8054 } /* processthreadsapi.h:56:11 */ 8055 8056 type STARTUPINFOW = _STARTUPINFOW /* processthreadsapi.h:75:5 */ 8057 type LPSTARTUPINFOW = uintptr /* processthreadsapi.h:75:19 */ 8058 8059 type STARTUPINFO = STARTUPINFOA /* processthreadsapi.h:77:3 */ 8060 type LPSTARTUPINFO = LPSTARTUPINFOA /* processthreadsapi.h:78:3 */ 8061 8062 type PPROC_THREAD_ATTRIBUTE_LIST = uintptr /* processthreadsapi.h:80:46 */ 8063 type LPPROC_THREAD_ATTRIBUTE_LIST = uintptr /* processthreadsapi.h:80:76 */ 8064 8065 // * 8066 // This file is part of the mingw-w64 runtime package. 8067 // No warranty is given; refer to the file DISCLAIMER within this package. 8068 8069 // * 8070 // This file is part of the mingw-w64 runtime package. 8071 // No warranty is given; refer to the file DISCLAIMER within this package. 8072 8073 // * 8074 // This file is part of the mingw-w64 runtime package. 8075 // No warranty is given; refer to the file DISCLAIMER within this package. 8076 8077 type SRWLOCK = RTL_SRWLOCK /* synchapi.h:34:23 */ 8078 type PSRWLOCK = uintptr /* synchapi.h:34:32 */ 8079 8080 type INIT_ONCE = RTL_RUN_ONCE /* synchapi.h:36:24 */ 8081 type PINIT_ONCE = PRTL_RUN_ONCE /* synchapi.h:37:25 */ 8082 type LPINIT_ONCE = PRTL_RUN_ONCE /* synchapi.h:38:25 */ 8083 8084 type PINIT_ONCE_FN = uintptr /* synchapi.h:40:19 */ 8085 type CONDITION_VARIABLE = RTL_CONDITION_VARIABLE /* synchapi.h:41:34 */ 8086 type PCONDITION_VARIABLE = uintptr /* synchapi.h:41:54 */ 8087 8088 type PTIMERAPCROUTINE = uintptr /* synchapi.h:102:16 */ 8089 8090 type SYNCHRONIZATION_BARRIER = RTL_BARRIER /* synchapi.h:104:23 */ 8091 type PSYNCHRONIZATION_BARRIER = PRTL_BARRIER /* synchapi.h:105:24 */ 8092 type LPSYNCHRONIZATION_BARRIER = PRTL_BARRIER /* synchapi.h:106:24 */ 8093 8094 // * 8095 // This file is part of the mingw-w64 runtime package. 8096 // No warranty is given; refer to the file DISCLAIMER within this package. 8097 8098 // * 8099 // This file is part of the mingw-w64 runtime package. 8100 // No warranty is given; refer to the file DISCLAIMER within this package. 8101 8102 // * 8103 // This file is part of the mingw-w64 runtime package. 8104 // No warranty is given; refer to the file DISCLAIMER within this package. 8105 8106 type _SYSTEM_INFO = struct { 8107 u struct{ dwOemId DWORD } 8108 dwPageSize DWORD 8109 lpMinimumApplicationAddress LPVOID 8110 lpMaximumApplicationAddress LPVOID 8111 dwActiveProcessorMask DWORD_PTR 8112 dwNumberOfProcessors DWORD 8113 dwProcessorType DWORD 8114 dwAllocationGranularity DWORD 8115 wProcessorLevel WORD 8116 wProcessorRevision WORD 8117 } /* sysinfoapi.h:18:11 */ 8118 8119 // * 8120 // This file is part of the mingw-w64 runtime package. 8121 // No warranty is given; refer to the file DISCLAIMER within this package. 8122 8123 // * 8124 // This file is part of the mingw-w64 runtime package. 8125 // No warranty is given; refer to the file DISCLAIMER within this package. 8126 8127 // * 8128 // This file is part of the mingw-w64 runtime package. 8129 // No warranty is given; refer to the file DISCLAIMER within this package. 8130 8131 type SYSTEM_INFO = _SYSTEM_INFO /* sysinfoapi.h:35:5 */ 8132 type LPSYSTEM_INFO = uintptr /* sysinfoapi.h:35:18 */ 8133 8134 type _MEMORYSTATUSEX = struct { 8135 dwLength DWORD 8136 dwMemoryLoad DWORD 8137 ullTotalPhys DWORDLONG 8138 ullAvailPhys DWORDLONG 8139 ullTotalPageFile DWORDLONG 8140 ullAvailPageFile DWORDLONG 8141 ullTotalVirtual DWORDLONG 8142 ullAvailVirtual DWORDLONG 8143 ullAvailExtendedVirtual DWORDLONG 8144 } /* sysinfoapi.h:48:11 */ 8145 8146 type MEMORYSTATUSEX = _MEMORYSTATUSEX /* sysinfoapi.h:58:5 */ 8147 type LPMEMORYSTATUSEX = uintptr /* sysinfoapi.h:58:20 */ 8148 8149 type COMPUTER_NAME_FORMAT = uint32 /* sysinfoapi.h:80:5 */ 8150 8151 // * 8152 // This file is part of the mingw-w64 runtime package. 8153 // No warranty is given; refer to the file DISCLAIMER within this package. 8154 8155 // * 8156 // This file is part of the mingw-w64 runtime package. 8157 // No warranty is given; refer to the file DISCLAIMER within this package. 8158 8159 // * 8160 // This file is part of the mingw-w64 runtime package. 8161 // No warranty is given; refer to the file DISCLAIMER within this package. 8162 8163 type PTP_WIN32_IO_CALLBACK = uintptr /* threadpoolapiset.h:18:16 */ 8164 8165 // * 8166 // This file has no copyright assigned and is placed in the Public Domain. 8167 // This file is part of the mingw-w64 runtime package. 8168 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8169 8170 // There are 3 separate ways this file is intended to be used: 8171 // 8172 // 1) Included from intrin.h. In this case, all intrinsics in this file get declarations and 8173 // implementations. No special #defines are needed for this case. 8174 // 8175 // 2) Included from the library versions of these functions (ie mingw-w64-crt\intrincs\*.c). All 8176 // intrinsics in this file must also be included in the library. In this case, only the 8177 // specific functions requested will get defined, and they will not be defined as inline. If 8178 // you have followed the instructions (below) for adding functions to this file, then all you 8179 // need to have in the .c file is the following: 8180 // 8181 // #define __INTRINSIC_ONLYSPECIAL 8182 // #define __INTRINSIC_SPECIAL___stosb // Causes code generation in intrin-impl.h 8183 // 8184 // #include <intrin.h> 8185 // 8186 // 3) Included from various platform sdk headers. Some platform sdk headers (such as winnt.h) 8187 // define a subset of intrinsics. To avoid potential conflicts, this file is designed to 8188 // allow for specific subsets of functions to be defined. This is done by defining the 8189 // appropriate variable before including this file: 8190 // 8191 // #define __INTRINSIC_GROUP_WINNT 8192 // #include <psdk_inc/intrin-impl.h> 8193 // 8194 // In all cases, it is acceptable to include this file multiple times in any order (ie include 8195 // winnt.h to get its subset, then include intrin.h to get everything, or vice versa). 8196 // 8197 // See also the comments at the top of intrin.h. 8198 8199 // To add an implementation for a new intrinsic to this file, you should comment out the current prototype in intrin.h. 8200 // If the function you are adding is not in intrin.h, you should not be adding it to this file. This file is only 8201 // for MSVC intrinsics. 8202 // 8203 // Make sure you put your definition in the right section (x86 vs x64), and use this outline when adding definitions 8204 // to this file: 8205 // 8206 // #if __INTRINSIC_PROLOG(__int2c) 8207 // 8208 // <prototype goes here> 8209 // 8210 // __INTRINSICS_USEINLINE 8211 // <code goes here> 8212 // 8213 // #define __INTRINSIC_DEFINED___int2c 8214 // #endif 8215 8216 // Note that there is no file-wide #if to prevent intrin-impl.h from being 8217 // included multiple times. This is because this file might be included multiple 8218 // times to define various subsets of the functions it contains. 8219 8220 // However we do check for __MINGW_INTRIN_INLINE. In theory this means we 8221 // can work with other compilers. 8222 8223 // Clang has support for MSVC builtins, GCC doesn't 8224 8225 // These macros are used by the routines below. While this file may be included 8226 // multiple times, these macros only need to be defined once. 8227 8228 // The Barrier functions can never be in the library. Since gcc only 8229 // supports ReadWriteBarrier, map all 3 to do the same. 8230 8231 // The logic for this macro is: 8232 // if the function is not yet defined AND 8233 // ( 8234 // (if we are not just defining special OR 8235 // (we are defining special AND this is one of the ones we are defining) 8236 // ) 8237 // ) 8238 8239 // Normally __INTRINSIC_ONLYSPECIAL is used to indicate that we are 8240 // being included in the library version of the intrinsic (case 2). However, 8241 // that really only affects the definition of __INTRINSICS_USEINLINE. 8242 // So here we are letting it serve an additional purpose of only defining 8243 // the intrinsics for a certain file (case 3). For example, to create the 8244 // intrinsics for the functions in winnt.h, define __INTRINSIC_GROUP_WINNT. 8245 // 8246 // Note that this file can be included multiple times, and as a result 8247 // there can be overlap (definitions that appear in more than one 8248 // file). This is handled by __INTRINSIC_DEFINED_* 8249 // 8250 // If no groups are defined (such as what happens when including intrin.h), 8251 // all intrinsics are defined. 8252 8253 // If __INTRINSIC_ONLYSPECIAL is defined at this point, we are processing case 2. In 8254 // that case, don't go looking for groups 8255 8256 // Note that this gets undefined at the end of this file 8257 8258 // To add an additional group, put the #ifdef and definitions here. 8259 8260 // Before 4.9.2, ia32intrin.h had broken versions of these. 8261 8262 // ***************************************************** 8263 8264 // ***************************************************** 8265 8266 // ***************************************************** 8267 8268 type PFIBER_START_ROUTINE = uintptr /* winbase.h:160:16 */ 8269 type LPFIBER_START_ROUTINE = PFIBER_START_ROUTINE /* winbase.h:161:32 */ 8270 8271 type LPLDT_ENTRY = PLDT_ENTRY /* winbase.h:164:22 */ 8272 8273 type _COMMPROP = struct { 8274 wPacketLength WORD 8275 wPacketVersion WORD 8276 dwServiceMask DWORD 8277 dwReserved1 DWORD 8278 dwMaxTxQueue DWORD 8279 dwMaxRxQueue DWORD 8280 dwMaxBaud DWORD 8281 dwProvSubType DWORD 8282 dwProvCapabilities DWORD 8283 dwSettableParams DWORD 8284 dwSettableBaud DWORD 8285 wSettableData WORD 8286 wSettableStopParity WORD 8287 dwCurrentTxQueue DWORD 8288 dwCurrentRxQueue DWORD 8289 dwProvSpec1 DWORD 8290 dwProvSpec2 DWORD 8291 wcProvChar [1]WCHAR 8292 _ [2]byte 8293 } /* winbase.h:240:11 */ 8294 8295 type COMMPROP = _COMMPROP /* winbase.h:259:5 */ 8296 type LPCOMMPROP = uintptr /* winbase.h:259:14 */ 8297 8298 type _COMSTAT = struct { 8299 fCtsHold uint32 /* DWORD fCtsHold: 1, DWORD fDsrHold: 1, DWORD fRlsdHold: 1, DWORD fXoffHold: 1, DWORD fXoffSent: 1, DWORD fEof: 1, DWORD fTxim: 1, DWORD fReserved: 25 */ 8300 cbInQue DWORD 8301 cbOutQue DWORD 8302 } /* winbase.h:263:11 */ 8303 8304 type COMSTAT = _COMSTAT /* winbase.h:274:5 */ 8305 type LPCOMSTAT = uintptr /* winbase.h:274:13 */ 8306 8307 type _DCB = struct { 8308 DCBlength DWORD 8309 BaudRate DWORD 8310 fBinary uint32 /* DWORD fBinary: 1, DWORD fParity: 1, DWORD fOutxCtsFlow: 1, DWORD fOutxDsrFlow: 1, DWORD fDtrControl: 2, DWORD fDsrSensitivity: 1, DWORD fTXContinueOnXoff: 1, DWORD fOutX: 1, DWORD fInX: 1, DWORD fErrorChar: 1, DWORD fNull: 1, DWORD fRtsControl: 2, DWORD fAbortOnError: 1, DWORD fDummy2: 17 */ 8311 wReserved WORD 8312 XonLim WORD 8313 XoffLim WORD 8314 ByteSize BYTE 8315 Parity BYTE 8316 StopBits BYTE 8317 XonChar int8 8318 XoffChar int8 8319 ErrorChar int8 8320 EofChar int8 8321 EvtChar int8 8322 wReserved1 WORD 8323 } /* winbase.h:285:11 */ 8324 8325 type DCB = _DCB /* winbase.h:314:5 */ 8326 type LPDCB = uintptr /* winbase.h:314:9 */ 8327 8328 type _COMMTIMEOUTS = struct { 8329 ReadIntervalTimeout DWORD 8330 ReadTotalTimeoutMultiplier DWORD 8331 ReadTotalTimeoutConstant DWORD 8332 WriteTotalTimeoutMultiplier DWORD 8333 WriteTotalTimeoutConstant DWORD 8334 } /* winbase.h:316:11 */ 8335 8336 type COMMTIMEOUTS = _COMMTIMEOUTS /* winbase.h:322:5 */ 8337 type LPCOMMTIMEOUTS = uintptr /* winbase.h:322:18 */ 8338 8339 type _COMMCONFIG = struct { 8340 dwSize DWORD 8341 wVersion WORD 8342 wReserved WORD 8343 dcb DCB 8344 dwProviderSubType DWORD 8345 dwProviderOffset DWORD 8346 dwProviderSize DWORD 8347 wcProviderData [1]WCHAR 8348 _ [2]byte 8349 } /* winbase.h:324:11 */ 8350 8351 type COMMCONFIG = _COMMCONFIG /* winbase.h:333:5 */ 8352 type LPCOMMCONFIG = uintptr /* winbase.h:333:16 */ 8353 8354 type _MEMORYSTATUS = struct { 8355 dwLength DWORD 8356 dwMemoryLoad DWORD 8357 dwTotalPhys SIZE_T 8358 dwAvailPhys SIZE_T 8359 dwTotalPageFile SIZE_T 8360 dwAvailPageFile SIZE_T 8361 dwTotalVirtual SIZE_T 8362 dwAvailVirtual SIZE_T 8363 } /* winbase.h:364:11 */ 8364 8365 type MEMORYSTATUS = _MEMORYSTATUS /* winbase.h:373:5 */ 8366 type LPMEMORYSTATUS = uintptr /* winbase.h:373:18 */ 8367 8368 type _JIT_DEBUG_INFO = struct { 8369 dwSize DWORD 8370 dwProcessorArchitecture DWORD 8371 dwThreadID DWORD 8372 dwReserved0 DWORD 8373 lpExceptionAddress ULONG64 8374 lpExceptionRecord ULONG64 8375 lpContextRecord ULONG64 8376 } /* winbase.h:431:11 */ 8377 8378 type JIT_DEBUG_INFO = _JIT_DEBUG_INFO /* winbase.h:439:5 */ 8379 type LPJIT_DEBUG_INFO = uintptr /* winbase.h:439:20 */ 8380 8381 type JIT_DEBUG_INFO32 = JIT_DEBUG_INFO /* winbase.h:441:26 */ 8382 type LPJIT_DEBUG_INFO32 = uintptr /* winbase.h:441:44 */ 8383 type JIT_DEBUG_INFO64 = JIT_DEBUG_INFO /* winbase.h:442:26 */ 8384 type LPJIT_DEBUG_INFO64 = uintptr /* winbase.h:442:44 */ 8385 8386 type LPEXCEPTION_RECORD = PEXCEPTION_RECORD /* winbase.h:445:29 */ 8387 type LPEXCEPTION_POINTERS = PEXCEPTION_POINTERS /* winbase.h:446:31 */ 8388 8389 type _OFSTRUCT = struct { 8390 cBytes BYTE 8391 fFixedDisk BYTE 8392 nErrCode WORD 8393 Reserved1 WORD 8394 Reserved2 WORD 8395 szPathName [128]CHAR 8396 } /* winbase.h:620:11 */ 8397 8398 type OFSTRUCT = _OFSTRUCT /* winbase.h:627:5 */ 8399 type LPOFSTRUCT = uintptr /* winbase.h:627:15 */ 8400 type POFSTRUCT = uintptr /* winbase.h:627:27 */ 8401 8402 // TODO: Add RTL_UMS... to winnt.h header and add UMS-base API. 8403 8404 type THREAD_INFORMATION_CLASS = uint32 /* winbase.h:1195:5 */ 8405 8406 type PROCESS_INFORMATION_CLASS = uint32 /* winbase.h:1200:5 */ 8407 8408 type DEP_SYSTEM_POLICY_TYPE = uint32 /* winbase.h:1304:5 */ 8409 8410 type PFE_EXPORT_FUNC = uintptr /* winbase.h:1387:17 */ 8411 type PFE_IMPORT_FUNC = uintptr /* winbase.h:1388:17 */ 8412 8413 type _WIN32_STREAM_ID = struct { 8414 dwStreamId DWORD 8415 dwStreamAttributes DWORD 8416 Size LARGE_INTEGER 8417 dwStreamNameSize DWORD 8418 cStreamName [1]WCHAR 8419 _ [2]byte 8420 } /* winbase.h:1465:11 */ 8421 8422 type WIN32_STREAM_ID = _WIN32_STREAM_ID /* winbase.h:1471:5 */ 8423 type LPWIN32_STREAM_ID = uintptr /* winbase.h:1471:21 */ 8424 8425 type PGET_SYSTEM_WOW64_DIRECTORY_A = uintptr /* winbase.h:1856:16 */ 8426 type PGET_SYSTEM_WOW64_DIRECTORY_W = uintptr /* winbase.h:1857:16 */ 8427 8428 type LPPROGRESS_ROUTINE = uintptr /* winbase.h:1960:17 */ 8429 8430 type STREAM_INFO_LEVELS = uint32 /* winbase.h:2150:5 */ 8431 8432 type _WIN32_FIND_STREAM_DATA = struct { 8433 StreamSize LARGE_INTEGER 8434 cStreamName [296]WCHAR 8435 } /* winbase.h:2152:11 */ 8436 8437 type WIN32_FIND_STREAM_DATA = _WIN32_FIND_STREAM_DATA /* winbase.h:2155:5 */ 8438 type PWIN32_FIND_STREAM_DATA = uintptr /* winbase.h:2155:28 */ 8439 8440 type _EVENTLOG_FULL_INFORMATION = struct{ dwFull DWORD } /* winbase.h:2227:11 */ 8441 8442 type EVENTLOG_FULL_INFORMATION = _EVENTLOG_FULL_INFORMATION /* winbase.h:2229:5 */ 8443 type LPEVENTLOG_FULL_INFORMATION = uintptr /* winbase.h:2229:31 */ 8444 8445 type tagHW_PROFILE_INFOA = struct { 8446 dwDockInfo DWORD 8447 szHwProfileGuid [39]CHAR 8448 szHwProfileName [80]CHAR 8449 _ [1]byte 8450 } /* winbase.h:2444:11 */ 8451 8452 type HW_PROFILE_INFOA = tagHW_PROFILE_INFOA /* winbase.h:2448:5 */ 8453 type LPHW_PROFILE_INFOA = uintptr /* winbase.h:2448:22 */ 8454 8455 type tagHW_PROFILE_INFOW = struct { 8456 dwDockInfo DWORD 8457 szHwProfileGuid [39]WCHAR 8458 szHwProfileName [80]WCHAR 8459 _ [2]byte 8460 } /* winbase.h:2450:11 */ 8461 8462 type HW_PROFILE_INFOW = tagHW_PROFILE_INFOW /* winbase.h:2454:5 */ 8463 type LPHW_PROFILE_INFOW = uintptr /* winbase.h:2454:22 */ 8464 8465 type HW_PROFILE_INFO = HW_PROFILE_INFOA /* winbase.h:2456:3 */ 8466 type LPHW_PROFILE_INFO = LPHW_PROFILE_INFOA /* winbase.h:2457:3 */ 8467 8468 // * 8469 // This file has no copyright assigned and is placed in the Public Domain. 8470 // This file is part of the mingw-w64 runtime package. 8471 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8472 8473 // ******************** WARNING ******************** 8474 // This is inconsistent with MSDN! 8475 // In MSDN: 8476 // ERROR_IPSEC_IKE_QM_LIMIT => 13884 (here not defined) 8477 // ERROR_IPSEC_IKE_NEG_STATUS_END => 13897 (here 13884) 8478 // Source: 8479 // WinINet Reference -> WinINet Constants -> Error Messages 8480 // https://msdn.microsoft.com/en-us/library/windows/desktop/aa385465%28v=vs.85%29.aspx 8481 // ******************** END WARNING ******************** 8482 //#define ERROR_IPSEC_IKE_NEG_STATUS_END __MSABI_LONG(13884) 8483 8484 // * 8485 // This file is part of the mingw-w64 runtime package. 8486 // No warranty is given; refer to the file DISCLAIMER within this package. 8487 8488 // * 8489 // This file is part of the mingw-w64 runtime package. 8490 // No warranty is given; refer to the file DISCLAIMER within this package. 8491 8492 // * 8493 // This file is part of the mingw-w64 runtime package. 8494 // No warranty is given; refer to the file DISCLAIMER within this package. 8495 8496 // * 8497 // This file is part of the mingw-w64 runtime package. 8498 // No warranty is given; refer to the file DISCLAIMER within this package. 8499 8500 type _TIME_ZONE_INFORMATION = struct { 8501 Bias LONG 8502 StandardName [32]WCHAR 8503 StandardDate SYSTEMTIME 8504 StandardBias LONG 8505 DaylightName [32]WCHAR 8506 DaylightDate SYSTEMTIME 8507 DaylightBias LONG 8508 } /* timezoneapi.h:21:11 */ 8509 8510 // * 8511 // This file has no copyright assigned and is placed in the Public Domain. 8512 // This file is part of the mingw-w64 runtime package. 8513 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8514 8515 // ******************** WARNING ******************** 8516 // This is inconsistent with MSDN! 8517 // In MSDN: 8518 // ERROR_IPSEC_IKE_QM_LIMIT => 13884 (here not defined) 8519 // ERROR_IPSEC_IKE_NEG_STATUS_END => 13897 (here 13884) 8520 // Source: 8521 // WinINet Reference -> WinINet Constants -> Error Messages 8522 // https://msdn.microsoft.com/en-us/library/windows/desktop/aa385465%28v=vs.85%29.aspx 8523 // ******************** END WARNING ******************** 8524 //#define ERROR_IPSEC_IKE_NEG_STATUS_END __MSABI_LONG(13884) 8525 8526 // * 8527 // This file is part of the mingw-w64 runtime package. 8528 // No warranty is given; refer to the file DISCLAIMER within this package. 8529 8530 // * 8531 // This file is part of the mingw-w64 runtime package. 8532 // No warranty is given; refer to the file DISCLAIMER within this package. 8533 8534 // * 8535 // This file is part of the mingw-w64 runtime package. 8536 // No warranty is given; refer to the file DISCLAIMER within this package. 8537 8538 // * 8539 // This file is part of the mingw-w64 runtime package. 8540 // No warranty is given; refer to the file DISCLAIMER within this package. 8541 8542 type TIME_ZONE_INFORMATION = _TIME_ZONE_INFORMATION /* timezoneapi.h:29:5 */ 8543 type PTIME_ZONE_INFORMATION = uintptr /* timezoneapi.h:29:27 */ 8544 type LPTIME_ZONE_INFORMATION = uintptr /* timezoneapi.h:29:51 */ 8545 8546 type _TIME_DYNAMIC_ZONE_INFORMATION = struct { 8547 Bias LONG 8548 StandardName [32]WCHAR 8549 StandardDate SYSTEMTIME 8550 StandardBias LONG 8551 DaylightName [32]WCHAR 8552 DaylightDate SYSTEMTIME 8553 DaylightBias LONG 8554 TimeZoneKeyName [128]WCHAR 8555 DynamicDaylightTimeDisabled BOOLEAN 8556 _ [3]byte 8557 } /* timezoneapi.h:31:11 */ 8558 8559 type DYNAMIC_TIME_ZONE_INFORMATION = _TIME_DYNAMIC_ZONE_INFORMATION /* timezoneapi.h:41:5 */ 8560 type PDYNAMIC_TIME_ZONE_INFORMATION = uintptr /* timezoneapi.h:41:35 */ 8561 8562 type _SYSTEM_POWER_STATUS = struct { 8563 ACLineStatus BYTE 8564 BatteryFlag BYTE 8565 BatteryLifePercent BYTE 8566 Reserved1 BYTE 8567 BatteryLifeTime DWORD 8568 BatteryFullLifeTime DWORD 8569 } /* winbase.h:2495:11 */ 8570 8571 type SYSTEM_POWER_STATUS = _SYSTEM_POWER_STATUS /* winbase.h:2502:5 */ 8572 type LPSYSTEM_POWER_STATUS = uintptr /* winbase.h:2502:25 */ 8573 8574 type tagACTCTXA = struct { 8575 cbSize ULONG 8576 dwFlags DWORD 8577 lpSource LPCSTR 8578 wProcessorArchitecture USHORT 8579 wLangId LANGID 8580 lpAssemblyDirectory LPCSTR 8581 lpResourceName LPCSTR 8582 lpApplicationName LPCSTR 8583 hModule HMODULE 8584 } /* winbase.h:2573:11 */ 8585 8586 type ACTCTXA = tagACTCTXA /* winbase.h:2583:5 */ 8587 type PACTCTXA = uintptr /* winbase.h:2583:13 */ 8588 8589 type tagACTCTXW = struct { 8590 cbSize ULONG 8591 dwFlags DWORD 8592 lpSource LPCWSTR 8593 wProcessorArchitecture USHORT 8594 wLangId LANGID 8595 lpAssemblyDirectory LPCWSTR 8596 lpResourceName LPCWSTR 8597 lpApplicationName LPCWSTR 8598 hModule HMODULE 8599 } /* winbase.h:2585:11 */ 8600 8601 type ACTCTXW = tagACTCTXW /* winbase.h:2595:5 */ 8602 type PACTCTXW = uintptr /* winbase.h:2595:13 */ 8603 8604 type ACTCTX = ACTCTXA /* winbase.h:2597:3 */ 8605 type PACTCTX = PACTCTXA /* winbase.h:2598:3 */ 8606 8607 type PCACTCTXA = uintptr /* winbase.h:2600:25 */ 8608 type PCACTCTXW = uintptr /* winbase.h:2601:25 */ 8609 8610 type PCACTCTX = PCACTCTXA /* winbase.h:2603:3 */ 8611 8612 type tagACTCTX_SECTION_KEYED_DATA_2600 = struct { 8613 cbSize ULONG 8614 ulDataFormatVersion ULONG 8615 lpData PVOID 8616 ulLength ULONG 8617 lpSectionGlobalData PVOID 8618 ulSectionGlobalDataLength ULONG 8619 lpSectionBase PVOID 8620 ulSectionTotalLength ULONG 8621 hActCtx HANDLE 8622 ulAssemblyRosterIndex ULONG 8623 } /* winbase.h:2617:11 */ 8624 8625 type ACTCTX_SECTION_KEYED_DATA_2600 = tagACTCTX_SECTION_KEYED_DATA_2600 /* winbase.h:2628:5 */ 8626 type PACTCTX_SECTION_KEYED_DATA_2600 = uintptr /* winbase.h:2628:36 */ 8627 8628 type PCACTCTX_SECTION_KEYED_DATA_2600 = uintptr /* winbase.h:2630:48 */ 8629 8630 type tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = struct { 8631 lpInformation PVOID 8632 lpSectionBase PVOID 8633 ulSectionLength ULONG 8634 lpSectionGlobalDataBase PVOID 8635 ulSectionGlobalDataLength ULONG 8636 } /* winbase.h:2632:11 */ 8637 8638 type ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA /* winbase.h:2638:5 */ 8639 type PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = uintptr /* winbase.h:2638:49 */ 8640 8641 type PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = uintptr /* winbase.h:2640:61 */ 8642 8643 type tagACTCTX_SECTION_KEYED_DATA = struct { 8644 cbSize ULONG 8645 ulDataFormatVersion ULONG 8646 lpData PVOID 8647 ulLength ULONG 8648 lpSectionGlobalData PVOID 8649 ulSectionGlobalDataLength ULONG 8650 lpSectionBase PVOID 8651 ulSectionTotalLength ULONG 8652 hActCtx HANDLE 8653 ulAssemblyRosterIndex ULONG 8654 ulFlags ULONG 8655 AssemblyMetadata ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA 8656 } /* winbase.h:2642:11 */ 8657 8658 type ACTCTX_SECTION_KEYED_DATA = tagACTCTX_SECTION_KEYED_DATA /* winbase.h:2655:5 */ 8659 type PACTCTX_SECTION_KEYED_DATA = uintptr /* winbase.h:2655:31 */ 8660 8661 type PCACTCTX_SECTION_KEYED_DATA = uintptr /* winbase.h:2657:43 */ 8662 8663 type _ACTIVATION_CONTEXT_BASIC_INFORMATION = struct { 8664 hActCtx HANDLE 8665 dwFlags DWORD 8666 } /* winbase.h:2670:11 */ 8667 8668 type ACTIVATION_CONTEXT_BASIC_INFORMATION = _ACTIVATION_CONTEXT_BASIC_INFORMATION /* winbase.h:2673:5 */ 8669 type PACTIVATION_CONTEXT_BASIC_INFORMATION = uintptr /* winbase.h:2673:42 */ 8670 8671 type PCACTIVATION_CONTEXT_BASIC_INFORMATION = uintptr /* winbase.h:2675:62 */ 8672 8673 type PQUERYACTCTXW_FUNC = uintptr /* winbase.h:2687:19 */ 8674 8675 type APPLICATION_RECOVERY_CALLBACK = uintptr /* winbase.h:2707:17 */ 8676 8677 // * 8678 // This file has no copyright assigned and is placed in the Public Domain. 8679 // This file is part of the mingw-w64 runtime package. 8680 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8681 8682 // * 8683 // This file is part of the mingw-w64 runtime package. 8684 // No warranty is given; refer to the file DISCLAIMER within this package. 8685 8686 // * 8687 // This file has no copyright assigned and is placed in the Public Domain. 8688 // This file is part of the mingw-w64 runtime package. 8689 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8690 8691 type _DRAWPATRECT = struct { 8692 ptPosition POINT 8693 ptSize POINT 8694 wStyle WORD 8695 wPattern WORD 8696 } /* wingdi.h:224:11 */ 8697 8698 // * 8699 // This file has no copyright assigned and is placed in the Public Domain. 8700 // This file is part of the mingw-w64 runtime package. 8701 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8702 8703 // * 8704 // This file is part of the mingw-w64 runtime package. 8705 // No warranty is given; refer to the file DISCLAIMER within this package. 8706 8707 // * 8708 // This file has no copyright assigned and is placed in the Public Domain. 8709 // This file is part of the mingw-w64 runtime package. 8710 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8711 8712 type DRAWPATRECT = _DRAWPATRECT /* wingdi.h:229:5 */ 8713 type PDRAWPATRECT = uintptr /* wingdi.h:229:17 */ 8714 8715 type _PSINJECTDATA = struct { 8716 DataBytes DWORD 8717 InjectionPoint WORD 8718 PageNumber WORD 8719 } /* wingdi.h:335:11 */ 8720 8721 type PSINJECTDATA = _PSINJECTDATA /* wingdi.h:339:5 */ 8722 type PPSINJECTDATA = uintptr /* wingdi.h:339:18 */ 8723 8724 type _PSFEATURE_OUTPUT = struct { 8725 bPageIndependent WINBOOL 8726 bSetPageDevice WINBOOL 8727 } /* wingdi.h:391:11 */ 8728 8729 type PSFEATURE_OUTPUT = _PSFEATURE_OUTPUT /* wingdi.h:394:5 */ 8730 type PPSFEATURE_OUTPUT = uintptr /* wingdi.h:394:22 */ 8731 8732 type _PSFEATURE_CUSTPAPER = struct { 8733 lOrientation LONG 8734 lWidth LONG 8735 lHeight LONG 8736 lWidthOffset LONG 8737 lHeightOffset LONG 8738 } /* wingdi.h:396:11 */ 8739 8740 type PSFEATURE_CUSTPAPER = _PSFEATURE_CUSTPAPER /* wingdi.h:402:5 */ 8741 type PPSFEATURE_CUSTPAPER = uintptr /* wingdi.h:402:25 */ 8742 8743 type tagXFORM = struct { 8744 eM11 FLOAT 8745 eM12 FLOAT 8746 eM21 FLOAT 8747 eM22 FLOAT 8748 eDx FLOAT 8749 eDy FLOAT 8750 } /* wingdi.h:450:11 */ 8751 8752 type XFORM = tagXFORM /* wingdi.h:457:5 */ 8753 type PXFORM = uintptr /* wingdi.h:457:11 */ 8754 type LPXFORM = uintptr /* wingdi.h:457:19 */ 8755 8756 type tagBITMAP = struct { 8757 bmType LONG 8758 bmWidth LONG 8759 bmHeight LONG 8760 bmWidthBytes LONG 8761 bmPlanes WORD 8762 bmBitsPixel WORD 8763 bmBits LPVOID 8764 } /* wingdi.h:459:11 */ 8765 8766 type BITMAP = tagBITMAP /* wingdi.h:467:5 */ 8767 type PBITMAP = uintptr /* wingdi.h:467:12 */ 8768 type NPBITMAP = uintptr /* wingdi.h:467:21 */ 8769 type LPBITMAP = uintptr /* wingdi.h:467:31 */ 8770 8771 // * 8772 // This file has no copyright assigned and is placed in the Public Domain. 8773 // This file is part of the mingw-w64 runtime package. 8774 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8775 type tagRGBTRIPLE = struct { 8776 rgbtBlue BYTE 8777 rgbtGreen BYTE 8778 rgbtRed BYTE 8779 } /* wingdi.h:470:11 */ 8780 8781 // * 8782 // This file has no copyright assigned and is placed in the Public Domain. 8783 // This file is part of the mingw-w64 runtime package. 8784 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8785 type RGBTRIPLE = tagRGBTRIPLE /* wingdi.h:474:5 */ 8786 // * 8787 // This file has no copyright assigned and is placed in the Public Domain. 8788 // This file is part of the mingw-w64 runtime package. 8789 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8790 8791 type tagRGBQUAD = struct { 8792 rgbBlue BYTE 8793 rgbGreen BYTE 8794 rgbRed BYTE 8795 rgbReserved BYTE 8796 } /* wingdi.h:477:11 */ 8797 8798 // * 8799 // This file has no copyright assigned and is placed in the Public Domain. 8800 // This file is part of the mingw-w64 runtime package. 8801 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8802 8803 type RGBQUAD = tagRGBQUAD /* wingdi.h:482:5 */ 8804 8805 type LPRGBQUAD = uintptr /* wingdi.h:486:19 */ 8806 8807 type LCSCSTYPE = LONG /* wingdi.h:499:16 */ 8808 8809 type LCSGAMUTMATCH = LONG /* wingdi.h:502:16 */ 8810 8811 type FXPT16DOT16 = int32 /* wingdi.h:526:20 */ 8812 type LPFXPT16DOT16 = uintptr /* wingdi.h:526:32 */ 8813 type FXPT2DOT30 = int32 /* wingdi.h:527:20 */ 8814 type LPFXPT2DOT30 = uintptr /* wingdi.h:527:31 */ 8815 8816 type tagCIEXYZ = struct { 8817 ciexyzX FXPT2DOT30 8818 ciexyzY FXPT2DOT30 8819 ciexyzZ FXPT2DOT30 8820 } /* wingdi.h:529:11 */ 8821 8822 type CIEXYZ = tagCIEXYZ /* wingdi.h:533:5 */ 8823 type LPCIEXYZ = uintptr /* wingdi.h:536:18 */ 8824 type tagICEXYZTRIPLE = struct { 8825 ciexyzRed CIEXYZ 8826 ciexyzGreen CIEXYZ 8827 ciexyzBlue CIEXYZ 8828 } /* wingdi.h:539:11 */ 8829 8830 type CIEXYZTRIPLE = tagICEXYZTRIPLE /* wingdi.h:543:5 */ 8831 type LPCIEXYZTRIPLE = uintptr /* wingdi.h:546:24 */ 8832 8833 type tagLOGCOLORSPACEA = struct { 8834 lcsSignature DWORD 8835 lcsVersion DWORD 8836 lcsSize DWORD 8837 lcsCSType LCSCSTYPE 8838 lcsIntent LCSGAMUTMATCH 8839 lcsEndpoints CIEXYZTRIPLE 8840 lcsGammaRed DWORD 8841 lcsGammaGreen DWORD 8842 lcsGammaBlue DWORD 8843 lcsFilename [260]CHAR 8844 } /* wingdi.h:550:11 */ 8845 8846 type LOGCOLORSPACEA = tagLOGCOLORSPACEA /* wingdi.h:561:5 */ 8847 type LPLOGCOLORSPACEA = uintptr /* wingdi.h:561:20 */ 8848 8849 type tagLOGCOLORSPACEW = struct { 8850 lcsSignature DWORD 8851 lcsVersion DWORD 8852 lcsSize DWORD 8853 lcsCSType LCSCSTYPE 8854 lcsIntent LCSGAMUTMATCH 8855 lcsEndpoints CIEXYZTRIPLE 8856 lcsGammaRed DWORD 8857 lcsGammaGreen DWORD 8858 lcsGammaBlue DWORD 8859 lcsFilename [260]WCHAR 8860 } /* wingdi.h:563:11 */ 8861 8862 type LOGCOLORSPACEW = tagLOGCOLORSPACEW /* wingdi.h:574:5 */ 8863 type LPLOGCOLORSPACEW = uintptr /* wingdi.h:574:20 */ 8864 8865 type LOGCOLORSPACE = LOGCOLORSPACEA /* wingdi.h:576:3 */ 8866 type LPLOGCOLORSPACE = LPLOGCOLORSPACEA /* wingdi.h:577:3 */ 8867 8868 type tagBITMAPCOREHEADER = struct { 8869 bcSize DWORD 8870 bcWidth WORD 8871 bcHeight WORD 8872 bcPlanes WORD 8873 bcBitCount WORD 8874 } /* wingdi.h:581:11 */ 8875 8876 type BITMAPCOREHEADER = tagBITMAPCOREHEADER /* wingdi.h:587:5 */ 8877 type LPBITMAPCOREHEADER = uintptr /* wingdi.h:587:22 */ 8878 type PBITMAPCOREHEADER = uintptr /* wingdi.h:587:42 */ 8879 8880 type tagBITMAPINFOHEADER = struct { 8881 biSize DWORD 8882 biWidth LONG 8883 biHeight LONG 8884 biPlanes WORD 8885 biBitCount WORD 8886 biCompression DWORD 8887 biSizeImage DWORD 8888 biXPelsPerMeter LONG 8889 biYPelsPerMeter LONG 8890 biClrUsed DWORD 8891 biClrImportant DWORD 8892 } /* wingdi.h:591:11 */ 8893 8894 type BITMAPINFOHEADER = tagBITMAPINFOHEADER /* wingdi.h:603:5 */ 8895 type LPBITMAPINFOHEADER = uintptr /* wingdi.h:603:22 */ 8896 type PBITMAPINFOHEADER = uintptr /* wingdi.h:603:42 */ 8897 8898 type BITMAPV4HEADER = struct { 8899 bV4Size DWORD 8900 bV4Width LONG 8901 bV4Height LONG 8902 bV4Planes WORD 8903 bV4BitCount WORD 8904 bV4V4Compression DWORD 8905 bV4SizeImage DWORD 8906 bV4XPelsPerMeter LONG 8907 bV4YPelsPerMeter LONG 8908 bV4ClrUsed DWORD 8909 bV4ClrImportant DWORD 8910 bV4RedMask DWORD 8911 bV4GreenMask DWORD 8912 bV4BlueMask DWORD 8913 bV4AlphaMask DWORD 8914 bV4CSType DWORD 8915 bV4Endpoints CIEXYZTRIPLE 8916 bV4GammaRed DWORD 8917 bV4GammaGreen DWORD 8918 bV4GammaBlue DWORD 8919 } /* wingdi.h:628:5 */ 8920 type LPBITMAPV4HEADER = uintptr /* wingdi.h:628:20 */ 8921 type PBITMAPV4HEADER = uintptr /* wingdi.h:628:38 */ 8922 8923 type BITMAPV5HEADER = struct { 8924 bV5Size DWORD 8925 bV5Width LONG 8926 bV5Height LONG 8927 bV5Planes WORD 8928 bV5BitCount WORD 8929 bV5Compression DWORD 8930 bV5SizeImage DWORD 8931 bV5XPelsPerMeter LONG 8932 bV5YPelsPerMeter LONG 8933 bV5ClrUsed DWORD 8934 bV5ClrImportant DWORD 8935 bV5RedMask DWORD 8936 bV5GreenMask DWORD 8937 bV5BlueMask DWORD 8938 bV5AlphaMask DWORD 8939 bV5CSType DWORD 8940 bV5Endpoints CIEXYZTRIPLE 8941 bV5GammaRed DWORD 8942 bV5GammaGreen DWORD 8943 bV5GammaBlue DWORD 8944 bV5Intent DWORD 8945 bV5ProfileData DWORD 8946 bV5ProfileSize DWORD 8947 bV5Reserved DWORD 8948 } /* wingdi.h:655:5 */ 8949 type LPBITMAPV5HEADER = uintptr /* wingdi.h:655:20 */ 8950 type PBITMAPV5HEADER = uintptr /* wingdi.h:655:38 */ 8951 8952 type tagBITMAPINFO = struct { 8953 bmiHeader BITMAPINFOHEADER 8954 bmiColors [1]RGBQUAD 8955 } /* wingdi.h:669:11 */ 8956 8957 type BITMAPINFO = tagBITMAPINFO /* wingdi.h:672:5 */ 8958 type LPBITMAPINFO = uintptr /* wingdi.h:672:16 */ 8959 type PBITMAPINFO = uintptr /* wingdi.h:672:30 */ 8960 8961 type tagBITMAPCOREINFO = struct { 8962 bmciHeader BITMAPCOREHEADER 8963 bmciColors [1]RGBTRIPLE 8964 _ [1]byte 8965 } /* wingdi.h:676:11 */ 8966 8967 type BITMAPCOREINFO = tagBITMAPCOREINFO /* wingdi.h:679:5 */ 8968 type LPBITMAPCOREINFO = uintptr /* wingdi.h:679:20 */ 8969 type PBITMAPCOREINFO = uintptr /* wingdi.h:679:38 */ 8970 8971 // * 8972 // This file has no copyright assigned and is placed in the Public Domain. 8973 // This file is part of the mingw-w64 runtime package. 8974 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8975 type tagBITMAPFILEHEADER = struct { 8976 bfType WORD 8977 _ [2]byte 8978 bfSize DWORD 8979 bfReserved1 WORD 8980 bfReserved2 WORD 8981 bfOffBits DWORD 8982 } /* wingdi.h:682:11 */ 8983 8984 // * 8985 // This file has no copyright assigned and is placed in the Public Domain. 8986 // This file is part of the mingw-w64 runtime package. 8987 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8988 type BITMAPFILEHEADER = tagBITMAPFILEHEADER /* wingdi.h:688:5 */ 8989 type LPBITMAPFILEHEADER = uintptr /* wingdi.h:688:22 */ 8990 type PBITMAPFILEHEADER = uintptr /* wingdi.h:688:42 */ 8991 // * 8992 // This file has no copyright assigned and is placed in the Public Domain. 8993 // This file is part of the mingw-w64 runtime package. 8994 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 8995 8996 type tagFONTSIGNATURE = struct { 8997 fsUsb [4]DWORD 8998 fsCsb [2]DWORD 8999 } /* wingdi.h:697:11 */ 9000 9001 // * 9002 // This file has no copyright assigned and is placed in the Public Domain. 9003 // This file is part of the mingw-w64 runtime package. 9004 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9005 9006 type FONTSIGNATURE = tagFONTSIGNATURE /* wingdi.h:700:5 */ 9007 type PFONTSIGNATURE = uintptr /* wingdi.h:700:19 */ 9008 type LPFONTSIGNATURE = uintptr /* wingdi.h:700:35 */ 9009 9010 type tagCHARSETINFO = struct { 9011 ciCharset UINT 9012 ciACP UINT 9013 fs FONTSIGNATURE 9014 } /* wingdi.h:702:11 */ 9015 9016 type CHARSETINFO = tagCHARSETINFO /* wingdi.h:706:5 */ 9017 type PCHARSETINFO = uintptr /* wingdi.h:706:17 */ 9018 type NPCHARSETINFO = uintptr /* wingdi.h:706:31 */ 9019 type LPCHARSETINFO = uintptr /* wingdi.h:706:46 */ 9020 9021 type tagLOCALESIGNATURE = struct { 9022 lsUsb [4]DWORD 9023 lsCsbDefault [2]DWORD 9024 lsCsbSupported [2]DWORD 9025 } /* wingdi.h:715:11 */ 9026 9027 type LOCALESIGNATURE = tagLOCALESIGNATURE /* wingdi.h:719:5 */ 9028 type PLOCALESIGNATURE = uintptr /* wingdi.h:719:21 */ 9029 type LPLOCALESIGNATURE = uintptr /* wingdi.h:719:39 */ 9030 9031 type tagHANDLETABLE = struct{ objectHandle [1]HGDIOBJ } /* wingdi.h:725:11 */ 9032 9033 type HANDLETABLE = tagHANDLETABLE /* wingdi.h:727:5 */ 9034 type PHANDLETABLE = uintptr /* wingdi.h:727:17 */ 9035 type LPHANDLETABLE = uintptr /* wingdi.h:727:31 */ 9036 9037 type tagMETARECORD = struct { 9038 rdSize DWORD 9039 rdFunction WORD 9040 rdParm [1]WORD 9041 } /* wingdi.h:729:11 */ 9042 9043 type METARECORD = tagMETARECORD /* wingdi.h:733:5 */ 9044 type PMETARECORD = uintptr /* wingdi.h:736:42 */ 9045 type LPMETARECORD = uintptr /* wingdi.h:739:42 */ 9046 9047 type tagMETAFILEPICT = struct { 9048 mm LONG 9049 xExt LONG 9050 yExt LONG 9051 hMF HMETAFILE 9052 } /* wingdi.h:741:11 */ 9053 9054 type METAFILEPICT = tagMETAFILEPICT /* wingdi.h:746:5 */ 9055 type LPMETAFILEPICT = uintptr /* wingdi.h:746:18 */ 9056 9057 // * 9058 // This file has no copyright assigned and is placed in the Public Domain. 9059 // This file is part of the mingw-w64 runtime package. 9060 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9061 type tagMETAHEADER = struct { 9062 mtType WORD 9063 mtHeaderSize WORD 9064 mtVersion WORD 9065 _ [2]byte 9066 mtSize DWORD 9067 mtNoObjects WORD 9068 _ [2]byte 9069 mtMaxRecord DWORD 9070 mtNoParameters WORD 9071 _ [2]byte 9072 } /* wingdi.h:751:11 */ 9073 9074 // * 9075 // This file has no copyright assigned and is placed in the Public Domain. 9076 // This file is part of the mingw-w64 runtime package. 9077 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9078 type METAHEADER = tagMETAHEADER /* wingdi.h:759:5 */ 9079 type PMETAHEADER = uintptr /* wingdi.h:760:42 */ 9080 type LPMETAHEADER = uintptr /* wingdi.h:761:42 */ 9081 9082 // * 9083 // This file has no copyright assigned and is placed in the Public Domain. 9084 // This file is part of the mingw-w64 runtime package. 9085 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9086 9087 type tagENHMETARECORD = struct { 9088 iType DWORD 9089 nSize DWORD 9090 dParm [1]DWORD 9091 } /* wingdi.h:767:11 */ 9092 9093 // * 9094 // This file has no copyright assigned and is placed in the Public Domain. 9095 // This file is part of the mingw-w64 runtime package. 9096 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9097 9098 type ENHMETARECORD = tagENHMETARECORD /* wingdi.h:771:5 */ 9099 type PENHMETARECORD = uintptr /* wingdi.h:771:19 */ 9100 type LPENHMETARECORD = uintptr /* wingdi.h:771:35 */ 9101 9102 type tagENHMETAHEADER = struct { 9103 iType DWORD 9104 nSize DWORD 9105 rclBounds RECTL 9106 rclFrame RECTL 9107 dSignature DWORD 9108 nVersion DWORD 9109 nBytes DWORD 9110 nRecords DWORD 9111 nHandles WORD 9112 sReserved WORD 9113 nDescription DWORD 9114 offDescription DWORD 9115 nPalEntries DWORD 9116 szlDevice SIZEL 9117 szlMillimeters SIZEL 9118 cbPixelFormat DWORD 9119 offPixelFormat DWORD 9120 bOpenGL DWORD 9121 szlMicrometers SIZEL 9122 } /* wingdi.h:773:11 */ 9123 9124 type ENHMETAHEADER = tagENHMETAHEADER /* wingdi.h:793:5 */ 9125 type PENHMETAHEADER = uintptr /* wingdi.h:793:19 */ 9126 type LPENHMETAHEADER = uintptr /* wingdi.h:793:35 */ 9127 9128 type BCHAR = BYTE /* wingdi.h:807:16 */ 9129 9130 // * 9131 // This file has no copyright assigned and is placed in the Public Domain. 9132 // This file is part of the mingw-w64 runtime package. 9133 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9134 9135 type tagTEXTMETRICA = struct { 9136 tmHeight LONG 9137 tmAscent LONG 9138 tmDescent LONG 9139 tmInternalLeading LONG 9140 tmExternalLeading LONG 9141 tmAveCharWidth LONG 9142 tmMaxCharWidth LONG 9143 tmWeight LONG 9144 tmOverhang LONG 9145 tmDigitizedAspectX LONG 9146 tmDigitizedAspectY LONG 9147 tmFirstChar BYTE 9148 tmLastChar BYTE 9149 tmDefaultChar BYTE 9150 tmBreakChar BYTE 9151 tmItalic BYTE 9152 tmUnderlined BYTE 9153 tmStruckOut BYTE 9154 tmPitchAndFamily BYTE 9155 tmCharSet BYTE 9156 _ [3]byte 9157 } /* wingdi.h:816:11 */ 9158 9159 // * 9160 // This file has no copyright assigned and is placed in the Public Domain. 9161 // This file is part of the mingw-w64 runtime package. 9162 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9163 9164 type TEXTMETRICA = tagTEXTMETRICA /* wingdi.h:837:5 */ 9165 type PTEXTMETRICA = uintptr /* wingdi.h:837:17 */ 9166 type NPTEXTMETRICA = uintptr /* wingdi.h:837:31 */ 9167 type LPTEXTMETRICA = uintptr /* wingdi.h:837:46 */ 9168 9169 type tagTEXTMETRICW = struct { 9170 tmHeight LONG 9171 tmAscent LONG 9172 tmDescent LONG 9173 tmInternalLeading LONG 9174 tmExternalLeading LONG 9175 tmAveCharWidth LONG 9176 tmMaxCharWidth LONG 9177 tmWeight LONG 9178 tmOverhang LONG 9179 tmDigitizedAspectX LONG 9180 tmDigitizedAspectY LONG 9181 tmFirstChar WCHAR 9182 tmLastChar WCHAR 9183 tmDefaultChar WCHAR 9184 tmBreakChar WCHAR 9185 tmItalic BYTE 9186 tmUnderlined BYTE 9187 tmStruckOut BYTE 9188 tmPitchAndFamily BYTE 9189 tmCharSet BYTE 9190 _ [3]byte 9191 } /* wingdi.h:839:11 */ 9192 9193 type TEXTMETRICW = tagTEXTMETRICW /* wingdi.h:860:5 */ 9194 type PTEXTMETRICW = uintptr /* wingdi.h:860:17 */ 9195 type NPTEXTMETRICW = uintptr /* wingdi.h:860:31 */ 9196 type LPTEXTMETRICW = uintptr /* wingdi.h:860:46 */ 9197 9198 type TEXTMETRIC = TEXTMETRICA /* wingdi.h:862:3 */ 9199 type PTEXTMETRIC = PTEXTMETRICA /* wingdi.h:863:3 */ 9200 type NPTEXTMETRIC = NPTEXTMETRICA /* wingdi.h:864:3 */ 9201 type LPTEXTMETRIC = LPTEXTMETRICA /* wingdi.h:865:3 */ 9202 // * 9203 // This file has no copyright assigned and is placed in the Public Domain. 9204 // This file is part of the mingw-w64 runtime package. 9205 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9206 9207 // * 9208 // This file has no copyright assigned and is placed in the Public Domain. 9209 // This file is part of the mingw-w64 runtime package. 9210 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9211 type tagNEWTEXTMETRICA = struct { 9212 tmHeight LONG 9213 tmAscent LONG 9214 tmDescent LONG 9215 tmInternalLeading LONG 9216 tmExternalLeading LONG 9217 tmAveCharWidth LONG 9218 tmMaxCharWidth LONG 9219 tmWeight LONG 9220 tmOverhang LONG 9221 tmDigitizedAspectX LONG 9222 tmDigitizedAspectY LONG 9223 tmFirstChar BYTE 9224 tmLastChar BYTE 9225 tmDefaultChar BYTE 9226 tmBreakChar BYTE 9227 tmItalic BYTE 9228 tmUnderlined BYTE 9229 tmStruckOut BYTE 9230 tmPitchAndFamily BYTE 9231 tmCharSet BYTE 9232 _ [3]byte 9233 ntmFlags DWORD 9234 ntmSizeEM UINT 9235 ntmCellHeight UINT 9236 ntmAvgWidth UINT 9237 } /* wingdi.h:883:11 */ 9238 9239 // * 9240 // This file has no copyright assigned and is placed in the Public Domain. 9241 // This file is part of the mingw-w64 runtime package. 9242 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9243 9244 // * 9245 // This file has no copyright assigned and is placed in the Public Domain. 9246 // This file is part of the mingw-w64 runtime package. 9247 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9248 type NEWTEXTMETRICA = tagNEWTEXTMETRICA /* wingdi.h:908:5 */ 9249 type PNEWTEXTMETRICA = uintptr /* wingdi.h:908:20 */ 9250 type NPNEWTEXTMETRICA = uintptr /* wingdi.h:908:37 */ 9251 type LPNEWTEXTMETRICA = uintptr /* wingdi.h:908:55 */ 9252 9253 type tagNEWTEXTMETRICW = struct { 9254 tmHeight LONG 9255 tmAscent LONG 9256 tmDescent LONG 9257 tmInternalLeading LONG 9258 tmExternalLeading LONG 9259 tmAveCharWidth LONG 9260 tmMaxCharWidth LONG 9261 tmWeight LONG 9262 tmOverhang LONG 9263 tmDigitizedAspectX LONG 9264 tmDigitizedAspectY LONG 9265 tmFirstChar WCHAR 9266 tmLastChar WCHAR 9267 tmDefaultChar WCHAR 9268 tmBreakChar WCHAR 9269 tmItalic BYTE 9270 tmUnderlined BYTE 9271 tmStruckOut BYTE 9272 tmPitchAndFamily BYTE 9273 tmCharSet BYTE 9274 _ [3]byte 9275 ntmFlags DWORD 9276 ntmSizeEM UINT 9277 ntmCellHeight UINT 9278 ntmAvgWidth UINT 9279 } /* wingdi.h:910:11 */ 9280 9281 type NEWTEXTMETRICW = tagNEWTEXTMETRICW /* wingdi.h:935:5 */ 9282 type PNEWTEXTMETRICW = uintptr /* wingdi.h:935:20 */ 9283 type NPNEWTEXTMETRICW = uintptr /* wingdi.h:935:37 */ 9284 type LPNEWTEXTMETRICW = uintptr /* wingdi.h:935:55 */ 9285 9286 type NEWTEXTMETRIC = NEWTEXTMETRICA /* wingdi.h:937:3 */ 9287 type PNEWTEXTMETRIC = PNEWTEXTMETRICA /* wingdi.h:938:3 */ 9288 type NPNEWTEXTMETRIC = NPNEWTEXTMETRICA /* wingdi.h:939:3 */ 9289 type LPNEWTEXTMETRIC = LPNEWTEXTMETRICA /* wingdi.h:940:3 */ 9290 9291 // * 9292 // This file has no copyright assigned and is placed in the Public Domain. 9293 // This file is part of the mingw-w64 runtime package. 9294 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9295 9296 type tagNEWTEXTMETRICEXA = struct { 9297 ntmTm NEWTEXTMETRICA 9298 ntmFontSig FONTSIGNATURE 9299 } /* wingdi.h:944:11 */ 9300 9301 // * 9302 // This file has no copyright assigned and is placed in the Public Domain. 9303 // This file is part of the mingw-w64 runtime package. 9304 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 9305 9306 type NEWTEXTMETRICEXA = tagNEWTEXTMETRICEXA /* wingdi.h:947:5 */ 9307 9308 type tagNEWTEXTMETRICEXW = struct { 9309 ntmTm NEWTEXTMETRICW 9310 ntmFontSig FONTSIGNATURE 9311 } /* wingdi.h:949:11 */ 9312 9313 type NEWTEXTMETRICEXW = tagNEWTEXTMETRICEXW /* wingdi.h:952:5 */ 9314 9315 type NEWTEXTMETRICEX = NEWTEXTMETRICEXA /* wingdi.h:954:3 */ 9316 9317 type tagPELARRAY = struct { 9318 paXCount LONG 9319 paYCount LONG 9320 paXExt LONG 9321 paYExt LONG 9322 paRGBs BYTE 9323 _ [3]byte 9324 } /* wingdi.h:959:11 */ 9325 9326 type PELARRAY = tagPELARRAY /* wingdi.h:965:5 */ 9327 type PPELARRAY = uintptr /* wingdi.h:965:14 */ 9328 type NPPELARRAY = uintptr /* wingdi.h:965:25 */ 9329 type LPPELARRAY = uintptr /* wingdi.h:965:37 */ 9330 type tagLOGBRUSH = struct { 9331 lbStyle UINT 9332 lbColor COLORREF 9333 lbHatch ULONG_PTR 9334 } /* wingdi.h:968:11 */ 9335 9336 type LOGBRUSH = tagLOGBRUSH /* wingdi.h:972:5 */ 9337 type PLOGBRUSH = uintptr /* wingdi.h:972:14 */ 9338 type NPLOGBRUSH = uintptr /* wingdi.h:972:25 */ 9339 type LPLOGBRUSH = uintptr /* wingdi.h:972:37 */ 9340 9341 type tagLOGBRUSH32 = struct { 9342 lbStyle UINT 9343 lbColor COLORREF 9344 lbHatch ULONG 9345 } /* wingdi.h:974:11 */ 9346 9347 type LOGBRUSH32 = tagLOGBRUSH32 /* wingdi.h:978:5 */ 9348 type PLOGBRUSH32 = uintptr /* wingdi.h:978:16 */ 9349 type NPLOGBRUSH32 = uintptr /* wingdi.h:978:29 */ 9350 type LPLOGBRUSH32 = uintptr /* wingdi.h:978:43 */ 9351 type PATTERN = LOGBRUSH /* wingdi.h:981:20 */ 9352 type PPATTERN = uintptr /* wingdi.h:982:19 */ 9353 type NPPATTERN = uintptr /* wingdi.h:983:19 */ 9354 type LPPATTERN = uintptr /* wingdi.h:984:19 */ 9355 9356 type tagLOGPEN = struct { 9357 lopnStyle UINT 9358 lopnWidth POINT 9359 lopnColor COLORREF 9360 } /* wingdi.h:988:11 */ 9361 9362 type LOGPEN = tagLOGPEN /* wingdi.h:992:5 */ 9363 type PLOGPEN = uintptr /* wingdi.h:992:12 */ 9364 type NPLOGPEN = uintptr /* wingdi.h:992:21 */ 9365 type LPLOGPEN = uintptr /* wingdi.h:992:31 */ 9366 9367 type tagEXTLOGPEN = struct { 9368 elpPenStyle DWORD 9369 elpWidth DWORD 9370 elpBrushStyle UINT 9371 elpColor COLORREF 9372 elpHatch ULONG_PTR 9373 elpNumEntries DWORD 9374 elpStyleEntry [1]DWORD 9375 } /* wingdi.h:996:11 */ 9376 9377 type EXTLOGPEN = tagEXTLOGPEN /* wingdi.h:1004:5 */ 9378 type PEXTLOGPEN = uintptr /* wingdi.h:1004:15 */ 9379 type NPEXTLOGPEN = uintptr /* wingdi.h:1004:27 */ 9380 type LPEXTLOGPEN = uintptr /* wingdi.h:1004:40 */ 9381 9382 type tagEXTLOGPEN32 = struct { 9383 elpPenStyle DWORD 9384 elpWidth DWORD 9385 elpBrushStyle UINT 9386 elpColor COLORREF 9387 elpHatch ULONG 9388 elpNumEntries DWORD 9389 elpStyleEntry [1]DWORD 9390 } /* wingdi.h:1008:11 */ 9391 9392 type EXTLOGPEN32 = tagEXTLOGPEN32 /* wingdi.h:1016:5 */ 9393 type PEXTLOGPEN32 = uintptr /* wingdi.h:1016:18 */ 9394 type NPEXTLOGPEN32 = uintptr /* wingdi.h:1016:33 */ 9395 type LPEXTLOGPEN32 = uintptr /* wingdi.h:1016:49 */ 9396 9397 type tagPALETTEENTRY = struct { 9398 peRed BYTE 9399 peGreen BYTE 9400 peBlue BYTE 9401 peFlags BYTE 9402 } /* wingdi.h:1020:11 */ 9403 9404 type PALETTEENTRY = tagPALETTEENTRY /* wingdi.h:1025:5 */ 9405 type PPALETTEENTRY = uintptr /* wingdi.h:1025:18 */ 9406 type LPPALETTEENTRY = uintptr /* wingdi.h:1025:33 */ 9407 9408 type tagLOGPALETTE = struct { 9409 palVersion WORD 9410 palNumEntries WORD 9411 palPalEntry [1]PALETTEENTRY 9412 } /* wingdi.h:1030:11 */ 9413 9414 type LOGPALETTE = tagLOGPALETTE /* wingdi.h:1034:5 */ 9415 type PLOGPALETTE = uintptr /* wingdi.h:1034:16 */ 9416 type NPLOGPALETTE = uintptr /* wingdi.h:1034:29 */ 9417 type LPLOGPALETTE = uintptr /* wingdi.h:1034:43 */ 9418 9419 type tagLOGFONTA = struct { 9420 lfHeight LONG 9421 lfWidth LONG 9422 lfEscapement LONG 9423 lfOrientation LONG 9424 lfWeight LONG 9425 lfItalic BYTE 9426 lfUnderline BYTE 9427 lfStrikeOut BYTE 9428 lfCharSet BYTE 9429 lfOutPrecision BYTE 9430 lfClipPrecision BYTE 9431 lfQuality BYTE 9432 lfPitchAndFamily BYTE 9433 lfFaceName [32]CHAR 9434 } /* wingdi.h:1041:11 */ 9435 9436 type LOGFONTA = tagLOGFONTA /* wingdi.h:1056:5 */ 9437 type PLOGFONTA = uintptr /* wingdi.h:1056:14 */ 9438 type NPLOGFONTA = uintptr /* wingdi.h:1056:25 */ 9439 type LPLOGFONTA = uintptr /* wingdi.h:1056:37 */ 9440 9441 type tagLOGFONTW = struct { 9442 lfHeight LONG 9443 lfWidth LONG 9444 lfEscapement LONG 9445 lfOrientation LONG 9446 lfWeight LONG 9447 lfItalic BYTE 9448 lfUnderline BYTE 9449 lfStrikeOut BYTE 9450 lfCharSet BYTE 9451 lfOutPrecision BYTE 9452 lfClipPrecision BYTE 9453 lfQuality BYTE 9454 lfPitchAndFamily BYTE 9455 lfFaceName [32]WCHAR 9456 } /* wingdi.h:1058:11 */ 9457 9458 type LOGFONTW = tagLOGFONTW /* wingdi.h:1073:5 */ 9459 type PLOGFONTW = uintptr /* wingdi.h:1073:14 */ 9460 type NPLOGFONTW = uintptr /* wingdi.h:1073:25 */ 9461 type LPLOGFONTW = uintptr /* wingdi.h:1073:37 */ 9462 9463 type LOGFONT = LOGFONTA /* wingdi.h:1075:3 */ 9464 type PLOGFONT = PLOGFONTA /* wingdi.h:1076:3 */ 9465 type NPLOGFONT = NPLOGFONTA /* wingdi.h:1077:3 */ 9466 type LPLOGFONT = LPLOGFONTA /* wingdi.h:1078:3 */ 9467 9468 type tagENUMLOGFONTA = struct { 9469 elfLogFont LOGFONTA 9470 elfFullName [64]BYTE 9471 elfStyle [32]BYTE 9472 } /* wingdi.h:1084:11 */ 9473 9474 type ENUMLOGFONTA = tagENUMLOGFONTA /* wingdi.h:1088:5 */ 9475 type LPENUMLOGFONTA = uintptr /* wingdi.h:1088:18 */ 9476 9477 type tagENUMLOGFONTW = struct { 9478 elfLogFont LOGFONTW 9479 elfFullName [64]WCHAR 9480 elfStyle [32]WCHAR 9481 } /* wingdi.h:1090:11 */ 9482 9483 type ENUMLOGFONTW = tagENUMLOGFONTW /* wingdi.h:1094:5 */ 9484 type LPENUMLOGFONTW = uintptr /* wingdi.h:1094:18 */ 9485 9486 type ENUMLOGFONT = ENUMLOGFONTA /* wingdi.h:1096:3 */ 9487 type LPENUMLOGFONT = LPENUMLOGFONTA /* wingdi.h:1097:3 */ 9488 9489 type tagENUMLOGFONTEXA = struct { 9490 elfLogFont LOGFONTA 9491 elfFullName [64]BYTE 9492 elfStyle [32]BYTE 9493 elfScript [32]BYTE 9494 } /* wingdi.h:1099:11 */ 9495 9496 type ENUMLOGFONTEXA = tagENUMLOGFONTEXA /* wingdi.h:1104:5 */ 9497 type LPENUMLOGFONTEXA = uintptr /* wingdi.h:1104:20 */ 9498 9499 type tagENUMLOGFONTEXW = struct { 9500 elfLogFont LOGFONTW 9501 elfFullName [64]WCHAR 9502 elfStyle [32]WCHAR 9503 elfScript [32]WCHAR 9504 } /* wingdi.h:1106:11 */ 9505 9506 type ENUMLOGFONTEXW = tagENUMLOGFONTEXW /* wingdi.h:1111:5 */ 9507 type LPENUMLOGFONTEXW = uintptr /* wingdi.h:1111:20 */ 9508 9509 type ENUMLOGFONTEX = ENUMLOGFONTEXA /* wingdi.h:1113:3 */ 9510 type LPENUMLOGFONTEX = LPENUMLOGFONTEXA /* wingdi.h:1114:3 */ 9511 9512 type tagPANOSE = struct { 9513 bFamilyType BYTE 9514 bSerifStyle BYTE 9515 bWeight BYTE 9516 bProportion BYTE 9517 bContrast BYTE 9518 bStrokeVariation BYTE 9519 bArmStyle BYTE 9520 bLetterform BYTE 9521 bMidline BYTE 9522 bXHeight BYTE 9523 } /* wingdi.h:1235:11 */ 9524 9525 type PANOSE = tagPANOSE /* wingdi.h:1246:5 */ 9526 type LPPANOSE = uintptr /* wingdi.h:1246:12 */ 9527 9528 type tagEXTLOGFONTA = struct { 9529 elfLogFont LOGFONTA 9530 elfFullName [64]BYTE 9531 elfStyle [32]BYTE 9532 elfVersion DWORD 9533 elfStyleSize DWORD 9534 elfMatch DWORD 9535 elfReserved DWORD 9536 elfVendorId [4]BYTE 9537 elfCulture DWORD 9538 elfPanose PANOSE 9539 _ [2]byte 9540 } /* wingdi.h:1356:11 */ 9541 9542 type EXTLOGFONTA = tagEXTLOGFONTA /* wingdi.h:1367:5 */ 9543 type PEXTLOGFONTA = uintptr /* wingdi.h:1367:17 */ 9544 type NPEXTLOGFONTA = uintptr /* wingdi.h:1367:31 */ 9545 type LPEXTLOGFONTA = uintptr /* wingdi.h:1367:46 */ 9546 9547 type tagEXTLOGFONTW = struct { 9548 elfLogFont LOGFONTW 9549 elfFullName [64]WCHAR 9550 elfStyle [32]WCHAR 9551 elfVersion DWORD 9552 elfStyleSize DWORD 9553 elfMatch DWORD 9554 elfReserved DWORD 9555 elfVendorId [4]BYTE 9556 elfCulture DWORD 9557 elfPanose PANOSE 9558 _ [2]byte 9559 } /* wingdi.h:1369:11 */ 9560 9561 type EXTLOGFONTW = tagEXTLOGFONTW /* wingdi.h:1380:5 */ 9562 type PEXTLOGFONTW = uintptr /* wingdi.h:1380:17 */ 9563 type NPEXTLOGFONTW = uintptr /* wingdi.h:1380:31 */ 9564 type LPEXTLOGFONTW = uintptr /* wingdi.h:1380:46 */ 9565 9566 type EXTLOGFONT = EXTLOGFONTA /* wingdi.h:1382:3 */ 9567 type PEXTLOGFONT = PEXTLOGFONTA /* wingdi.h:1383:3 */ 9568 type NPEXTLOGFONT = NPEXTLOGFONTA /* wingdi.h:1384:3 */ 9569 type LPEXTLOGFONT = LPEXTLOGFONTA /* wingdi.h:1385:3 */ 9570 9571 type _devicemodeA = struct { 9572 dmDeviceName [32]BYTE 9573 dmSpecVersion WORD 9574 dmDriverVersion WORD 9575 dmSize WORD 9576 dmDriverExtra WORD 9577 dmFields DWORD 9578 __44 struct { 9579 _ [0]uint32 9580 __0 struct { 9581 dmOrientation int16 9582 dmPaperSize int16 9583 dmPaperLength int16 9584 dmPaperWidth int16 9585 dmScale int16 9586 dmCopies int16 9587 dmDefaultSource int16 9588 dmPrintQuality int16 9589 } 9590 } 9591 dmColor int16 9592 dmDuplex int16 9593 dmYResolution int16 9594 dmTTOption int16 9595 dmCollate int16 9596 dmFormName [32]BYTE 9597 dmLogPixels WORD 9598 dmBitsPerPel DWORD 9599 dmPelsWidth DWORD 9600 dmPelsHeight DWORD 9601 __116 struct{ dmDisplayFlags DWORD } 9602 dmDisplayFrequency DWORD 9603 dmICMMethod DWORD 9604 dmICMIntent DWORD 9605 dmMediaType DWORD 9606 dmDitherType DWORD 9607 dmReserved1 DWORD 9608 dmReserved2 DWORD 9609 dmPanningWidth DWORD 9610 dmPanningHeight DWORD 9611 } /* wingdi.h:1669:11 */ 9612 9613 type DEVMODEA = _devicemodeA /* wingdi.h:1716:5 */ 9614 type PDEVMODEA = uintptr /* wingdi.h:1716:14 */ 9615 type NPDEVMODEA = uintptr /* wingdi.h:1716:25 */ 9616 type LPDEVMODEA = uintptr /* wingdi.h:1716:37 */ 9617 9618 type _devicemodeW = struct { 9619 dmDeviceName [32]WCHAR 9620 dmSpecVersion WORD 9621 dmDriverVersion WORD 9622 dmSize WORD 9623 dmDriverExtra WORD 9624 dmFields DWORD 9625 __76 struct { 9626 _ [0]uint32 9627 __0 struct { 9628 dmOrientation int16 9629 dmPaperSize int16 9630 dmPaperLength int16 9631 dmPaperWidth int16 9632 dmScale int16 9633 dmCopies int16 9634 dmDefaultSource int16 9635 dmPrintQuality int16 9636 } 9637 } 9638 dmColor int16 9639 dmDuplex int16 9640 dmYResolution int16 9641 dmTTOption int16 9642 dmCollate int16 9643 dmFormName [32]WCHAR 9644 dmLogPixels WORD 9645 dmBitsPerPel DWORD 9646 dmPelsWidth DWORD 9647 dmPelsHeight DWORD 9648 __180 struct{ dmDisplayFlags DWORD } 9649 dmDisplayFrequency DWORD 9650 dmICMMethod DWORD 9651 dmICMIntent DWORD 9652 dmMediaType DWORD 9653 dmDitherType DWORD 9654 dmReserved1 DWORD 9655 dmReserved2 DWORD 9656 dmPanningWidth DWORD 9657 dmPanningHeight DWORD 9658 } /* wingdi.h:1718:11 */ 9659 9660 type DEVMODEW = _devicemodeW /* wingdi.h:1765:5 */ 9661 type PDEVMODEW = uintptr /* wingdi.h:1765:14 */ 9662 type NPDEVMODEW = uintptr /* wingdi.h:1765:25 */ 9663 type LPDEVMODEW = uintptr /* wingdi.h:1765:37 */ 9664 9665 type DEVMODE = DEVMODEA /* wingdi.h:1767:3 */ 9666 type PDEVMODE = PDEVMODEA /* wingdi.h:1768:3 */ 9667 type NPDEVMODE = NPDEVMODEA /* wingdi.h:1769:3 */ 9668 type LPDEVMODE = LPDEVMODEA /* wingdi.h:1770:3 */ 9669 9670 type _DISPLAY_DEVICEA = struct { 9671 cb DWORD 9672 DeviceName [32]CHAR 9673 DeviceString [128]CHAR 9674 StateFlags DWORD 9675 DeviceID [128]CHAR 9676 DeviceKey [128]CHAR 9677 } /* wingdi.h:2021:11 */ 9678 9679 type DISPLAY_DEVICEA = _DISPLAY_DEVICEA /* wingdi.h:2028:5 */ 9680 type PDISPLAY_DEVICEA = uintptr /* wingdi.h:2028:21 */ 9681 type LPDISPLAY_DEVICEA = uintptr /* wingdi.h:2028:39 */ 9682 9683 type _DISPLAY_DEVICEW = struct { 9684 cb DWORD 9685 DeviceName [32]WCHAR 9686 DeviceString [128]WCHAR 9687 StateFlags DWORD 9688 DeviceID [128]WCHAR 9689 DeviceKey [128]WCHAR 9690 } /* wingdi.h:2030:11 */ 9691 9692 type DISPLAY_DEVICEW = _DISPLAY_DEVICEW /* wingdi.h:2037:5 */ 9693 type PDISPLAY_DEVICEW = uintptr /* wingdi.h:2037:21 */ 9694 type LPDISPLAY_DEVICEW = uintptr /* wingdi.h:2037:39 */ 9695 9696 type DISPLAY_DEVICE = DISPLAY_DEVICEA /* wingdi.h:2039:3 */ 9697 type PDISPLAY_DEVICE = PDISPLAY_DEVICEA /* wingdi.h:2040:3 */ 9698 type LPDISPLAY_DEVICE = LPDISPLAY_DEVICEA /* wingdi.h:2041:3 */ 9699 9700 type _RGNDATAHEADER = struct { 9701 dwSize DWORD 9702 iType DWORD 9703 nCount DWORD 9704 nRgnSize DWORD 9705 rcBound RECT 9706 } /* wingdi.h:2315:11 */ 9707 9708 type RGNDATAHEADER = _RGNDATAHEADER /* wingdi.h:2321:5 */ 9709 type PRGNDATAHEADER = uintptr /* wingdi.h:2321:19 */ 9710 9711 type _RGNDATA = struct { 9712 rdh RGNDATAHEADER 9713 Buffer [1]int8 9714 _ [3]byte 9715 } /* wingdi.h:2323:11 */ 9716 9717 type RGNDATA = _RGNDATA /* wingdi.h:2326:5 */ 9718 type PRGNDATA = uintptr /* wingdi.h:2326:13 */ 9719 type NPRGNDATA = uintptr /* wingdi.h:2326:23 */ 9720 type LPRGNDATA = uintptr /* wingdi.h:2326:34 */ 9721 9722 type _ABC = struct { 9723 abcA int32 9724 abcB UINT 9725 abcC int32 9726 } /* wingdi.h:2332:11 */ 9727 9728 type ABC = _ABC /* wingdi.h:2336:5 */ 9729 type PABC = uintptr /* wingdi.h:2336:9 */ 9730 type NPABC = uintptr /* wingdi.h:2336:15 */ 9731 type LPABC = uintptr /* wingdi.h:2336:22 */ 9732 9733 type _ABCFLOAT = struct { 9734 abcfA FLOAT 9735 abcfB FLOAT 9736 abcfC FLOAT 9737 } /* wingdi.h:2338:11 */ 9738 9739 type ABCFLOAT = _ABCFLOAT /* wingdi.h:2342:5 */ 9740 type PABCFLOAT = uintptr /* wingdi.h:2342:14 */ 9741 type NPABCFLOAT = uintptr /* wingdi.h:2342:25 */ 9742 type LPABCFLOAT = uintptr /* wingdi.h:2342:37 */ 9743 9744 type _OUTLINETEXTMETRICA = struct { 9745 otmSize UINT 9746 otmTextMetrics TEXTMETRICA 9747 otmFiller BYTE 9748 otmPanoseNumber PANOSE 9749 _ [1]byte 9750 otmfsSelection UINT 9751 otmfsType UINT 9752 otmsCharSlopeRise int32 9753 otmsCharSlopeRun int32 9754 otmItalicAngle int32 9755 otmEMSquare UINT 9756 otmAscent int32 9757 otmDescent int32 9758 otmLineGap UINT 9759 otmsCapEmHeight UINT 9760 otmsXHeight UINT 9761 otmrcFontBox RECT 9762 otmMacAscent int32 9763 otmMacDescent int32 9764 otmMacLineGap UINT 9765 otmusMinimumPPEM UINT 9766 otmptSubscriptSize POINT 9767 otmptSubscriptOffset POINT 9768 otmptSuperscriptSize POINT 9769 otmptSuperscriptOffset POINT 9770 otmsStrikeoutSize UINT 9771 otmsStrikeoutPosition int32 9772 otmsUnderscoreSize int32 9773 otmsUnderscorePosition int32 9774 otmpFamilyName PSTR 9775 otmpFaceName PSTR 9776 otmpStyleName PSTR 9777 otmpFullName PSTR 9778 } /* wingdi.h:2348:11 */ 9779 9780 type OUTLINETEXTMETRICA = _OUTLINETEXTMETRICA /* wingdi.h:2381:5 */ 9781 type POUTLINETEXTMETRICA = uintptr /* wingdi.h:2381:24 */ 9782 type NPOUTLINETEXTMETRICA = uintptr /* wingdi.h:2381:45 */ 9783 type LPOUTLINETEXTMETRICA = uintptr /* wingdi.h:2381:67 */ 9784 9785 type _OUTLINETEXTMETRICW = struct { 9786 otmSize UINT 9787 otmTextMetrics TEXTMETRICW 9788 otmFiller BYTE 9789 otmPanoseNumber PANOSE 9790 _ [1]byte 9791 otmfsSelection UINT 9792 otmfsType UINT 9793 otmsCharSlopeRise int32 9794 otmsCharSlopeRun int32 9795 otmItalicAngle int32 9796 otmEMSquare UINT 9797 otmAscent int32 9798 otmDescent int32 9799 otmLineGap UINT 9800 otmsCapEmHeight UINT 9801 otmsXHeight UINT 9802 otmrcFontBox RECT 9803 otmMacAscent int32 9804 otmMacDescent int32 9805 otmMacLineGap UINT 9806 otmusMinimumPPEM UINT 9807 otmptSubscriptSize POINT 9808 otmptSubscriptOffset POINT 9809 otmptSuperscriptSize POINT 9810 otmptSuperscriptOffset POINT 9811 otmsStrikeoutSize UINT 9812 otmsStrikeoutPosition int32 9813 otmsUnderscoreSize int32 9814 otmsUnderscorePosition int32 9815 otmpFamilyName PSTR 9816 otmpFaceName PSTR 9817 otmpStyleName PSTR 9818 otmpFullName PSTR 9819 } /* wingdi.h:2383:11 */ 9820 9821 type OUTLINETEXTMETRICW = _OUTLINETEXTMETRICW /* wingdi.h:2416:5 */ 9822 type POUTLINETEXTMETRICW = uintptr /* wingdi.h:2416:24 */ 9823 type NPOUTLINETEXTMETRICW = uintptr /* wingdi.h:2416:45 */ 9824 type LPOUTLINETEXTMETRICW = uintptr /* wingdi.h:2416:67 */ 9825 9826 type OUTLINETEXTMETRIC = OUTLINETEXTMETRICA /* wingdi.h:2418:3 */ 9827 type POUTLINETEXTMETRIC = POUTLINETEXTMETRICA /* wingdi.h:2419:3 */ 9828 type NPOUTLINETEXTMETRIC = NPOUTLINETEXTMETRICA /* wingdi.h:2420:3 */ 9829 type LPOUTLINETEXTMETRIC = LPOUTLINETEXTMETRICA /* wingdi.h:2421:3 */ 9830 9831 type tagPOLYTEXTA = struct { 9832 x int32 9833 y int32 9834 n UINT 9835 lpstr LPCSTR 9836 uiFlags UINT 9837 rcl RECT 9838 pdx uintptr 9839 } /* wingdi.h:2426:11 */ 9840 9841 type POLYTEXTA = tagPOLYTEXTA /* wingdi.h:2434:5 */ 9842 type PPOLYTEXTA = uintptr /* wingdi.h:2434:15 */ 9843 type NPPOLYTEXTA = uintptr /* wingdi.h:2434:27 */ 9844 type LPPOLYTEXTA = uintptr /* wingdi.h:2434:40 */ 9845 9846 type tagPOLYTEXTW = struct { 9847 x int32 9848 y int32 9849 n UINT 9850 lpstr LPCWSTR 9851 uiFlags UINT 9852 rcl RECT 9853 pdx uintptr 9854 } /* wingdi.h:2436:11 */ 9855 9856 type POLYTEXTW = tagPOLYTEXTW /* wingdi.h:2444:5 */ 9857 type PPOLYTEXTW = uintptr /* wingdi.h:2444:15 */ 9858 type NPPOLYTEXTW = uintptr /* wingdi.h:2444:27 */ 9859 type LPPOLYTEXTW = uintptr /* wingdi.h:2444:40 */ 9860 9861 type POLYTEXT = POLYTEXTA /* wingdi.h:2446:3 */ 9862 type PPOLYTEXT = PPOLYTEXTA /* wingdi.h:2447:3 */ 9863 type NPPOLYTEXT = NPPOLYTEXTA /* wingdi.h:2448:3 */ 9864 type LPPOLYTEXT = LPPOLYTEXTA /* wingdi.h:2449:3 */ 9865 9866 type _FIXED = struct { 9867 fract WORD 9868 value int16 9869 } /* wingdi.h:2453:11 */ 9870 9871 type FIXED = _FIXED /* wingdi.h:2456:5 */ 9872 9873 type _MAT2 = struct { 9874 eM11 FIXED 9875 eM12 FIXED 9876 eM21 FIXED 9877 eM22 FIXED 9878 } /* wingdi.h:2458:11 */ 9879 9880 type MAT2 = _MAT2 /* wingdi.h:2463:5 */ 9881 type LPMAT2 = uintptr /* wingdi.h:2463:10 */ 9882 9883 type _GLYPHMETRICS = struct { 9884 gmBlackBoxX UINT 9885 gmBlackBoxY UINT 9886 gmptGlyphOrigin POINT 9887 gmCellIncX int16 9888 gmCellIncY int16 9889 } /* wingdi.h:2465:11 */ 9890 9891 type GLYPHMETRICS = _GLYPHMETRICS /* wingdi.h:2471:5 */ 9892 type LPGLYPHMETRICS = uintptr /* wingdi.h:2471:18 */ 9893 9894 type tagPOINTFX = struct { 9895 x FIXED 9896 y FIXED 9897 } /* wingdi.h:2491:11 */ 9898 9899 type POINTFX = tagPOINTFX /* wingdi.h:2494:5 */ 9900 type LPPOINTFX = uintptr /* wingdi.h:2494:13 */ 9901 9902 type tagTTPOLYCURVE = struct { 9903 wType WORD 9904 cpfx WORD 9905 apfx [1]POINTFX 9906 } /* wingdi.h:2496:11 */ 9907 9908 type TTPOLYCURVE = tagTTPOLYCURVE /* wingdi.h:2500:5 */ 9909 type LPTTPOLYCURVE = uintptr /* wingdi.h:2500:17 */ 9910 9911 type tagTTPOLYGONHEADER = struct { 9912 cb DWORD 9913 dwType DWORD 9914 pfxStart POINTFX 9915 } /* wingdi.h:2502:11 */ 9916 9917 type TTPOLYGONHEADER = tagTTPOLYGONHEADER /* wingdi.h:2506:5 */ 9918 type LPTTPOLYGONHEADER = uintptr /* wingdi.h:2506:21 */ 9919 9920 type tagGCP_RESULTSA = struct { 9921 lStructSize DWORD 9922 lpOutString LPSTR 9923 lpOrder uintptr 9924 lpDx uintptr 9925 lpCaretPos uintptr 9926 lpClass LPSTR 9927 lpGlyphs LPWSTR 9928 nGlyphs UINT 9929 nMaxFit int32 9930 } /* wingdi.h:2549:11 */ 9931 9932 type GCP_RESULTSA = tagGCP_RESULTSA /* wingdi.h:2559:5 */ 9933 type LPGCP_RESULTSA = uintptr /* wingdi.h:2559:18 */ 9934 type tagGCP_RESULTSW = struct { 9935 lStructSize DWORD 9936 lpOutString LPWSTR 9937 lpOrder uintptr 9938 lpDx uintptr 9939 lpCaretPos uintptr 9940 lpClass LPSTR 9941 lpGlyphs LPWSTR 9942 nGlyphs UINT 9943 nMaxFit int32 9944 } /* wingdi.h:2560:11 */ 9945 9946 type GCP_RESULTSW = tagGCP_RESULTSW /* wingdi.h:2570:5 */ 9947 type LPGCP_RESULTSW = uintptr /* wingdi.h:2570:18 */ 9948 9949 type GCP_RESULTS = GCP_RESULTSA /* wingdi.h:2572:3 */ 9950 type LPGCP_RESULTS = LPGCP_RESULTSA /* wingdi.h:2573:3 */ 9951 9952 type _RASTERIZER_STATUS = struct { 9953 nSize int16 9954 wFlags int16 9955 nLanguageID int16 9956 } /* wingdi.h:2575:11 */ 9957 9958 type RASTERIZER_STATUS = _RASTERIZER_STATUS /* wingdi.h:2579:5 */ 9959 type LPRASTERIZER_STATUS = uintptr /* wingdi.h:2579:23 */ 9960 9961 type tagPIXELFORMATDESCRIPTOR = struct { 9962 nSize WORD 9963 nVersion WORD 9964 dwFlags DWORD 9965 iPixelType BYTE 9966 cColorBits BYTE 9967 cRedBits BYTE 9968 cRedShift BYTE 9969 cGreenBits BYTE 9970 cGreenShift BYTE 9971 cBlueBits BYTE 9972 cBlueShift BYTE 9973 cAlphaBits BYTE 9974 cAlphaShift BYTE 9975 cAccumBits BYTE 9976 cAccumRedBits BYTE 9977 cAccumGreenBits BYTE 9978 cAccumBlueBits BYTE 9979 cAccumAlphaBits BYTE 9980 cDepthBits BYTE 9981 cStencilBits BYTE 9982 cAuxBuffers BYTE 9983 iLayerType BYTE 9984 bReserved BYTE 9985 dwLayerMask DWORD 9986 dwVisibleMask DWORD 9987 dwDamageMask DWORD 9988 } /* wingdi.h:2586:11 */ 9989 9990 type PIXELFORMATDESCRIPTOR = tagPIXELFORMATDESCRIPTOR /* wingdi.h:2613:5 */ 9991 type PPIXELFORMATDESCRIPTOR = uintptr /* wingdi.h:2613:27 */ 9992 type LPPIXELFORMATDESCRIPTOR = uintptr /* wingdi.h:2613:51 */ 9993 9994 type OLDFONTENUMPROCA = uintptr /* wingdi.h:2646:15 */ 9995 type OLDFONTENUMPROCW = uintptr /* wingdi.h:2647:15 */ 9996 9997 type FONTENUMPROCA = OLDFONTENUMPROCA /* wingdi.h:2657:28 */ 9998 type FONTENUMPROCW = OLDFONTENUMPROCW /* wingdi.h:2658:28 */ 9999 10000 type FONTENUMPROC = FONTENUMPROCA /* wingdi.h:2660:3 */ 10001 10002 type GOBJENUMPROC = uintptr /* wingdi.h:2662:15 */ 10003 type LINEDDAPROC = uintptr /* wingdi.h:2663:16 */ 10004 10005 type LPFNDEVMODE = uintptr /* wingdi.h:2725:16 */ 10006 type LPFNDEVCAPS = uintptr /* wingdi.h:2726:17 */ 10007 10008 type tagWCRANGE = struct { 10009 wcLow WCHAR 10010 cGlyphs USHORT 10011 } /* wingdi.h:2906:11 */ 10012 10013 type WCRANGE = tagWCRANGE /* wingdi.h:2909:5 */ 10014 type PWCRANGE = uintptr /* wingdi.h:2909:13 */ 10015 type LPWCRANGE = uintptr /* wingdi.h:2909:23 */ 10016 10017 type tagGLYPHSET = struct { 10018 cbThis DWORD 10019 flAccel DWORD 10020 cGlyphsSupported DWORD 10021 cRanges DWORD 10022 ranges [1]WCRANGE 10023 } /* wingdi.h:2911:11 */ 10024 10025 type GLYPHSET = tagGLYPHSET /* wingdi.h:2917:5 */ 10026 type PGLYPHSET = uintptr /* wingdi.h:2917:14 */ 10027 type LPGLYPHSET = uintptr /* wingdi.h:2917:25 */ 10028 10029 type tagDESIGNVECTOR = struct { 10030 dvReserved DWORD 10031 dvNumAxes DWORD 10032 dvValues [16]LONG 10033 } /* wingdi.h:2937:11 */ 10034 10035 type DESIGNVECTOR = tagDESIGNVECTOR /* wingdi.h:2941:5 */ 10036 type PDESIGNVECTOR = uintptr /* wingdi.h:2941:18 */ 10037 type LPDESIGNVECTOR = uintptr /* wingdi.h:2941:33 */ 10038 10039 type tagAXISINFOA = struct { 10040 axMinValue LONG 10041 axMaxValue LONG 10042 axAxisName [16]BYTE 10043 } /* wingdi.h:2958:11 */ 10044 10045 type AXISINFOA = tagAXISINFOA /* wingdi.h:2962:5 */ 10046 type PAXISINFOA = uintptr /* wingdi.h:2962:15 */ 10047 type LPAXISINFOA = uintptr /* wingdi.h:2962:27 */ 10048 10049 type tagAXISINFOW = struct { 10050 axMinValue LONG 10051 axMaxValue LONG 10052 axAxisName [16]WCHAR 10053 } /* wingdi.h:2964:11 */ 10054 10055 type AXISINFOW = tagAXISINFOW /* wingdi.h:2968:5 */ 10056 type PAXISINFOW = uintptr /* wingdi.h:2968:15 */ 10057 type LPAXISINFOW = uintptr /* wingdi.h:2968:27 */ 10058 10059 type AXISINFO = AXISINFOA /* wingdi.h:2970:3 */ 10060 type PAXISINFO = PAXISINFOA /* wingdi.h:2971:3 */ 10061 type LPAXISINFO = LPAXISINFOA /* wingdi.h:2972:3 */ 10062 10063 type tagAXESLISTA = struct { 10064 axlReserved DWORD 10065 axlNumAxes DWORD 10066 axlAxisInfo [16]AXISINFOA 10067 } /* wingdi.h:2974:11 */ 10068 10069 type AXESLISTA = tagAXESLISTA /* wingdi.h:2978:5 */ 10070 type PAXESLISTA = uintptr /* wingdi.h:2978:15 */ 10071 type LPAXESLISTA = uintptr /* wingdi.h:2978:27 */ 10072 10073 type tagAXESLISTW = struct { 10074 axlReserved DWORD 10075 axlNumAxes DWORD 10076 axlAxisInfo [16]AXISINFOW 10077 } /* wingdi.h:2980:11 */ 10078 10079 type AXESLISTW = tagAXESLISTW /* wingdi.h:2984:5 */ 10080 type PAXESLISTW = uintptr /* wingdi.h:2984:15 */ 10081 type LPAXESLISTW = uintptr /* wingdi.h:2984:27 */ 10082 10083 type AXESLIST = AXESLISTA /* wingdi.h:2986:3 */ 10084 type PAXESLIST = PAXESLISTA /* wingdi.h:2987:3 */ 10085 type LPAXESLIST = LPAXESLISTA /* wingdi.h:2988:3 */ 10086 10087 type tagENUMLOGFONTEXDVA = struct { 10088 elfEnumLogfontEx ENUMLOGFONTEXA 10089 elfDesignVector DESIGNVECTOR 10090 } /* wingdi.h:2990:11 */ 10091 10092 type ENUMLOGFONTEXDVA = tagENUMLOGFONTEXDVA /* wingdi.h:2993:5 */ 10093 type PENUMLOGFONTEXDVA = uintptr /* wingdi.h:2993:22 */ 10094 type LPENUMLOGFONTEXDVA = uintptr /* wingdi.h:2993:41 */ 10095 10096 type tagENUMLOGFONTEXDVW = struct { 10097 elfEnumLogfontEx ENUMLOGFONTEXW 10098 elfDesignVector DESIGNVECTOR 10099 } /* wingdi.h:2995:11 */ 10100 10101 type ENUMLOGFONTEXDVW = tagENUMLOGFONTEXDVW /* wingdi.h:2998:5 */ 10102 type PENUMLOGFONTEXDVW = uintptr /* wingdi.h:2998:22 */ 10103 type LPENUMLOGFONTEXDVW = uintptr /* wingdi.h:2998:41 */ 10104 10105 type ENUMLOGFONTEXDV = ENUMLOGFONTEXDVA /* wingdi.h:3000:3 */ 10106 type PENUMLOGFONTEXDV = PENUMLOGFONTEXDVA /* wingdi.h:3001:3 */ 10107 type LPENUMLOGFONTEXDV = LPENUMLOGFONTEXDVA /* wingdi.h:3002:3 */ 10108 10109 type tagENUMTEXTMETRICA = struct { 10110 etmNewTextMetricEx NEWTEXTMETRICEXA 10111 etmAxesList AXESLISTA 10112 } /* wingdi.h:3010:11 */ 10113 10114 type ENUMTEXTMETRICA = tagENUMTEXTMETRICA /* wingdi.h:3013:5 */ 10115 type PENUMTEXTMETRICA = uintptr /* wingdi.h:3013:21 */ 10116 type LPENUMTEXTMETRICA = uintptr /* wingdi.h:3013:39 */ 10117 type tagENUMTEXTMETRICW = struct { 10118 etmNewTextMetricEx NEWTEXTMETRICEXW 10119 etmAxesList AXESLISTW 10120 } /* wingdi.h:3014:11 */ 10121 10122 type ENUMTEXTMETRICW = tagENUMTEXTMETRICW /* wingdi.h:3018:5 */ 10123 type PENUMTEXTMETRICW = uintptr /* wingdi.h:3018:21 */ 10124 type LPENUMTEXTMETRICW = uintptr /* wingdi.h:3018:39 */ 10125 10126 type ENUMTEXTMETRIC = ENUMTEXTMETRICA /* wingdi.h:3020:3 */ 10127 type PENUMTEXTMETRIC = PENUMTEXTMETRICA /* wingdi.h:3021:3 */ 10128 type LPENUMTEXTMETRIC = LPENUMTEXTMETRICA /* wingdi.h:3022:3 */ 10129 10130 type COLOR16 = USHORT /* wingdi.h:3124:18 */ 10131 10132 type _TRIVERTEX = struct { 10133 x LONG 10134 y LONG 10135 Red COLOR16 10136 Green COLOR16 10137 Blue COLOR16 10138 Alpha COLOR16 10139 } /* wingdi.h:3126:11 */ 10140 10141 type TRIVERTEX = _TRIVERTEX /* wingdi.h:3133:5 */ 10142 type PTRIVERTEX = uintptr /* wingdi.h:3133:15 */ 10143 type LPTRIVERTEX = uintptr /* wingdi.h:3133:27 */ 10144 type _GRADIENT_TRIANGLE = struct { 10145 Vertex1 ULONG 10146 Vertex2 ULONG 10147 Vertex3 ULONG 10148 } /* wingdi.h:3136:11 */ 10149 10150 type GRADIENT_TRIANGLE = _GRADIENT_TRIANGLE /* wingdi.h:3140:5 */ 10151 type PGRADIENT_TRIANGLE = uintptr /* wingdi.h:3140:23 */ 10152 type LPGRADIENT_TRIANGLE = uintptr /* wingdi.h:3140:43 */ 10153 10154 type _GRADIENT_RECT = struct { 10155 UpperLeft ULONG 10156 LowerRight ULONG 10157 } /* wingdi.h:3142:11 */ 10158 10159 type GRADIENT_RECT = _GRADIENT_RECT /* wingdi.h:3145:5 */ 10160 type PGRADIENT_RECT = uintptr /* wingdi.h:3145:19 */ 10161 type LPGRADIENT_RECT = uintptr /* wingdi.h:3145:35 */ 10162 type _BLENDFUNCTION = struct { 10163 BlendOp BYTE 10164 BlendFlags BYTE 10165 SourceConstantAlpha BYTE 10166 AlphaFormat BYTE 10167 } /* wingdi.h:3148:11 */ 10168 10169 type BLENDFUNCTION = _BLENDFUNCTION /* wingdi.h:3153:5 */ 10170 type PBLENDFUNCTION = uintptr /* wingdi.h:3153:19 */ 10171 10172 type MFENUMPROC = uintptr /* wingdi.h:3181:15 */ 10173 10174 type ENHMFENUMPROC = uintptr /* wingdi.h:3185:15 */ 10175 10176 type tagDIBSECTION = struct { 10177 dsBm BITMAP 10178 dsBmih BITMAPINFOHEADER 10179 dsBitfields [3]DWORD 10180 dshSection HANDLE 10181 dsOffset DWORD 10182 } /* wingdi.h:3217:11 */ 10183 10184 type DIBSECTION = tagDIBSECTION /* wingdi.h:3223:5 */ 10185 type LPDIBSECTION = uintptr /* wingdi.h:3223:16 */ 10186 type PDIBSECTION = uintptr /* wingdi.h:3223:30 */ 10187 10188 type tagCOLORADJUSTMENT = struct { 10189 caSize WORD 10190 caFlags WORD 10191 caIlluminantIndex WORD 10192 caRedGamma WORD 10193 caGreenGamma WORD 10194 caBlueGamma WORD 10195 caReferenceBlack WORD 10196 caReferenceWhite WORD 10197 caContrast SHORT 10198 caBrightness SHORT 10199 caColorfulness SHORT 10200 caRedGreenTint SHORT 10201 } /* wingdi.h:3265:11 */ 10202 10203 type COLORADJUSTMENT = tagCOLORADJUSTMENT /* wingdi.h:3278:5 */ 10204 type PCOLORADJUSTMENT = uintptr /* wingdi.h:3278:21 */ 10205 type LPCOLORADJUSTMENT = uintptr /* wingdi.h:3278:39 */ 10206 10207 type ABORTPROC = uintptr /* wingdi.h:3284:19 */ 10208 10209 type _DOCINFOA = struct { 10210 cbSize int32 10211 lpszDocName LPCSTR 10212 lpszOutput LPCSTR 10213 lpszDatatype LPCSTR 10214 fwType DWORD 10215 } /* wingdi.h:3286:11 */ 10216 10217 type DOCINFOA = _DOCINFOA /* wingdi.h:3292:5 */ 10218 type LPDOCINFOA = uintptr /* wingdi.h:3292:14 */ 10219 10220 type _DOCINFOW = struct { 10221 cbSize int32 10222 lpszDocName LPCWSTR 10223 lpszOutput LPCWSTR 10224 lpszDatatype LPCWSTR 10225 fwType DWORD 10226 } /* wingdi.h:3294:11 */ 10227 10228 type DOCINFOW = _DOCINFOW /* wingdi.h:3300:5 */ 10229 type LPDOCINFOW = uintptr /* wingdi.h:3300:14 */ 10230 10231 type DOCINFO = DOCINFOA /* wingdi.h:3302:3 */ 10232 type LPDOCINFO = LPDOCINFOA /* wingdi.h:3303:3 */ 10233 10234 type tagKERNINGPAIR = struct { 10235 wFirst WORD 10236 wSecond WORD 10237 iKernAmount int32 10238 } /* wingdi.h:3373:11 */ 10239 10240 type KERNINGPAIR = tagKERNINGPAIR /* wingdi.h:3377:5 */ 10241 type LPKERNINGPAIR = uintptr /* wingdi.h:3377:17 */ 10242 10243 type ICMENUMPROCA = uintptr /* wingdi.h:3395:15 */ 10244 type ICMENUMPROCW = uintptr /* wingdi.h:3396:15 */ 10245 10246 type tagEMR = struct { 10247 iType DWORD 10248 nSize DWORD 10249 } /* wingdi.h:3561:11 */ 10250 10251 type EMR = tagEMR /* wingdi.h:3564:5 */ 10252 type PEMR = uintptr /* wingdi.h:3564:9 */ 10253 10254 type tagEMRTEXT = struct { 10255 ptlReference POINTL 10256 nChars DWORD 10257 offString DWORD 10258 fOptions DWORD 10259 rcl RECTL 10260 offDx DWORD 10261 } /* wingdi.h:3566:11 */ 10262 10263 type EMRTEXT = tagEMRTEXT /* wingdi.h:3573:5 */ 10264 type PEMRTEXT = uintptr /* wingdi.h:3573:13 */ 10265 10266 type tagABORTPATH = struct{ emr EMR } /* wingdi.h:3575:11 */ 10267 10268 type EMRABORTPATH = tagABORTPATH /* wingdi.h:3577:5 */ 10269 type PEMRABORTPATH = uintptr /* wingdi.h:3577:18 */ 10270 type EMRBEGINPATH = tagABORTPATH /* wingdi.h:3577:33 */ 10271 type PEMRBEGINPATH = uintptr /* wingdi.h:3577:46 */ 10272 type EMRENDPATH = tagABORTPATH /* wingdi.h:3577:61 */ 10273 type PEMRENDPATH = uintptr /* wingdi.h:3577:72 */ 10274 type EMRCLOSEFIGURE = tagABORTPATH /* wingdi.h:3577:85 */ 10275 type PEMRCLOSEFIGURE = uintptr /* wingdi.h:3577:100 */ 10276 type EMRFLATTENPATH = tagABORTPATH /* wingdi.h:3577:117 */ 10277 type PEMRFLATTENPATH = uintptr /* wingdi.h:3577:132 */ 10278 type EMRWIDENPATH = tagABORTPATH /* wingdi.h:3577:149 */ 10279 type PEMRWIDENPATH = uintptr /* wingdi.h:3577:162 */ 10280 type EMRSETMETARGN = tagABORTPATH /* wingdi.h:3577:177 */ 10281 type PEMRSETMETARGN = uintptr /* wingdi.h:3577:191 */ 10282 type EMRSAVEDC = tagABORTPATH /* wingdi.h:3577:207 */ 10283 type PEMRSAVEDC = uintptr /* wingdi.h:3577:217 */ 10284 type EMRREALIZEPALETTE = tagABORTPATH /* wingdi.h:3577:229 */ 10285 type PEMRREALIZEPALETTE = uintptr /* wingdi.h:3577:247 */ 10286 10287 type tagEMRSELECTCLIPPATH = struct { 10288 emr EMR 10289 iMode DWORD 10290 } /* wingdi.h:3579:11 */ 10291 10292 type EMRSELECTCLIPPATH = tagEMRSELECTCLIPPATH /* wingdi.h:3582:5 */ 10293 type PEMRSELECTCLIPPATH = uintptr /* wingdi.h:3582:23 */ 10294 type EMRSETBKMODE = tagEMRSELECTCLIPPATH /* wingdi.h:3582:43 */ 10295 type PEMRSETBKMODE = uintptr /* wingdi.h:3582:56 */ 10296 type EMRSETMAPMODE = tagEMRSELECTCLIPPATH /* wingdi.h:3582:71 */ 10297 type PEMRSETMAPMODE = uintptr /* wingdi.h:3582:85 */ 10298 type EMRSETLAYOUT = tagEMRSELECTCLIPPATH /* wingdi.h:3582:101 */ 10299 type PEMRSETLAYOUT = uintptr /* wingdi.h:3582:114 */ 10300 type EMRSETPOLYFILLMODE = tagEMRSELECTCLIPPATH /* wingdi.h:3583:5 */ 10301 type PEMRSETPOLYFILLMODE = uintptr /* wingdi.h:3583:24 */ 10302 type EMRSETROP2 = tagEMRSELECTCLIPPATH /* wingdi.h:3583:45 */ 10303 type PEMRSETROP2 = uintptr /* wingdi.h:3583:56 */ 10304 type EMRSETSTRETCHBLTMODE = tagEMRSELECTCLIPPATH /* wingdi.h:3583:69 */ 10305 type PEMRSETSTRETCHBLTMODE = uintptr /* wingdi.h:3583:90 */ 10306 type EMRSETICMMODE = tagEMRSELECTCLIPPATH /* wingdi.h:3583:113 */ 10307 type PEMRSETICMMODE = uintptr /* wingdi.h:3584:5 */ 10308 type EMRSETTEXTALIGN = tagEMRSELECTCLIPPATH /* wingdi.h:3584:21 */ 10309 type PEMRSETTEXTALIGN = uintptr /* wingdi.h:3584:37 */ 10310 10311 type tagEMRSETMITERLIMIT = struct { 10312 emr EMR 10313 eMiterLimit FLOAT 10314 } /* wingdi.h:3586:11 */ 10315 10316 type EMRSETMITERLIMIT = tagEMRSETMITERLIMIT /* wingdi.h:3589:5 */ 10317 type PEMRSETMITERLIMIT = uintptr /* wingdi.h:3589:22 */ 10318 10319 type tagEMRRESTOREDC = struct { 10320 emr EMR 10321 iRelative LONG 10322 } /* wingdi.h:3591:11 */ 10323 10324 type EMRRESTOREDC = tagEMRRESTOREDC /* wingdi.h:3594:5 */ 10325 type PEMRRESTOREDC = uintptr /* wingdi.h:3594:18 */ 10326 10327 type tagEMRSETARCDIRECTION = struct { 10328 emr EMR 10329 iArcDirection DWORD 10330 } /* wingdi.h:3596:11 */ 10331 10332 type EMRSETARCDIRECTION = tagEMRSETARCDIRECTION /* wingdi.h:3600:5 */ 10333 type PEMRSETARCDIRECTION = uintptr /* wingdi.h:3600:24 */ 10334 10335 type tagEMRSETMAPPERFLAGS = struct { 10336 emr EMR 10337 dwFlags DWORD 10338 } /* wingdi.h:3602:11 */ 10339 10340 type EMRSETMAPPERFLAGS = tagEMRSETMAPPERFLAGS /* wingdi.h:3605:5 */ 10341 type PEMRSETMAPPERFLAGS = uintptr /* wingdi.h:3605:23 */ 10342 10343 type tagEMRSETTEXTCOLOR = struct { 10344 emr EMR 10345 crColor COLORREF 10346 } /* wingdi.h:3607:11 */ 10347 10348 type EMRSETBKCOLOR = tagEMRSETTEXTCOLOR /* wingdi.h:3610:5 */ 10349 type PEMRSETBKCOLOR = uintptr /* wingdi.h:3610:19 */ 10350 type EMRSETTEXTCOLOR = tagEMRSETTEXTCOLOR /* wingdi.h:3610:35 */ 10351 type PEMRSETTEXTCOLOR = uintptr /* wingdi.h:3610:51 */ 10352 10353 type tagEMRSELECTOBJECT = struct { 10354 emr EMR 10355 ihObject DWORD 10356 } /* wingdi.h:3612:11 */ 10357 10358 type EMRSELECTOBJECT = tagEMRSELECTOBJECT /* wingdi.h:3615:5 */ 10359 type PEMRSELECTOBJECT = uintptr /* wingdi.h:3615:21 */ 10360 type EMRDELETEOBJECT = tagEMRSELECTOBJECT /* wingdi.h:3615:39 */ 10361 type PEMRDELETEOBJECT = uintptr /* wingdi.h:3615:55 */ 10362 10363 type tagEMRSELECTPALETTE = struct { 10364 emr EMR 10365 ihPal DWORD 10366 } /* wingdi.h:3617:11 */ 10367 10368 type EMRSELECTPALETTE = tagEMRSELECTPALETTE /* wingdi.h:3620:5 */ 10369 type PEMRSELECTPALETTE = uintptr /* wingdi.h:3620:22 */ 10370 10371 type tagEMRRESIZEPALETTE = struct { 10372 emr EMR 10373 ihPal DWORD 10374 cEntries DWORD 10375 } /* wingdi.h:3622:11 */ 10376 10377 type EMRRESIZEPALETTE = tagEMRRESIZEPALETTE /* wingdi.h:3626:5 */ 10378 type PEMRRESIZEPALETTE = uintptr /* wingdi.h:3626:22 */ 10379 10380 type tagEMRSETPALETTEENTRIES = struct { 10381 emr EMR 10382 ihPal DWORD 10383 iStart DWORD 10384 cEntries DWORD 10385 aPalEntries [1]PALETTEENTRY 10386 } /* wingdi.h:3628:11 */ 10387 10388 type EMRSETPALETTEENTRIES = tagEMRSETPALETTEENTRIES /* wingdi.h:3634:5 */ 10389 type PEMRSETPALETTEENTRIES = uintptr /* wingdi.h:3634:26 */ 10390 10391 type tagEMRSETCOLORADJUSTMENT = struct { 10392 emr EMR 10393 ColorAdjustment COLORADJUSTMENT 10394 } /* wingdi.h:3636:11 */ 10395 10396 type EMRSETCOLORADJUSTMENT = tagEMRSETCOLORADJUSTMENT /* wingdi.h:3639:5 */ 10397 type PEMRSETCOLORADJUSTMENT = uintptr /* wingdi.h:3639:27 */ 10398 10399 type tagEMRGDICOMMENT = struct { 10400 emr EMR 10401 cbData DWORD 10402 Data [1]BYTE 10403 _ [3]byte 10404 } /* wingdi.h:3641:11 */ 10405 10406 type EMRGDICOMMENT = tagEMRGDICOMMENT /* wingdi.h:3645:5 */ 10407 type PEMRGDICOMMENT = uintptr /* wingdi.h:3645:19 */ 10408 10409 type tagEMREOF = struct { 10410 emr EMR 10411 nPalEntries DWORD 10412 offPalEntries DWORD 10413 nSizeLast DWORD 10414 } /* wingdi.h:3647:11 */ 10415 10416 type EMREOF = tagEMREOF /* wingdi.h:3652:5 */ 10417 type PEMREOF = uintptr /* wingdi.h:3652:12 */ 10418 10419 type tagEMRLINETO = struct { 10420 emr EMR 10421 ptl POINTL 10422 } /* wingdi.h:3654:11 */ 10423 10424 type EMRLINETO = tagEMRLINETO /* wingdi.h:3657:5 */ 10425 type PEMRLINETO = uintptr /* wingdi.h:3657:15 */ 10426 type EMRMOVETOEX = tagEMRLINETO /* wingdi.h:3657:27 */ 10427 type PEMRMOVETOEX = uintptr /* wingdi.h:3657:39 */ 10428 10429 type tagEMROFFSETCLIPRGN = struct { 10430 emr EMR 10431 ptlOffset POINTL 10432 } /* wingdi.h:3659:11 */ 10433 10434 type EMROFFSETCLIPRGN = tagEMROFFSETCLIPRGN /* wingdi.h:3662:5 */ 10435 type PEMROFFSETCLIPRGN = uintptr /* wingdi.h:3662:22 */ 10436 10437 type tagEMRFILLPATH = struct { 10438 emr EMR 10439 rclBounds RECTL 10440 } /* wingdi.h:3664:11 */ 10441 10442 type EMRFILLPATH = tagEMRFILLPATH /* wingdi.h:3667:5 */ 10443 type PEMRFILLPATH = uintptr /* wingdi.h:3667:17 */ 10444 type EMRSTROKEANDFILLPATH = tagEMRFILLPATH /* wingdi.h:3667:31 */ 10445 type PEMRSTROKEANDFILLPATH = uintptr /* wingdi.h:3667:52 */ 10446 type EMRSTROKEPATH = tagEMRFILLPATH /* wingdi.h:3667:75 */ 10447 type PEMRSTROKEPATH = uintptr /* wingdi.h:3667:89 */ 10448 10449 type tagEMREXCLUDECLIPRECT = struct { 10450 emr EMR 10451 rclClip RECTL 10452 } /* wingdi.h:3669:11 */ 10453 10454 type EMREXCLUDECLIPRECT = tagEMREXCLUDECLIPRECT /* wingdi.h:3672:5 */ 10455 type PEMREXCLUDECLIPRECT = uintptr /* wingdi.h:3672:24 */ 10456 type EMRINTERSECTCLIPRECT = tagEMREXCLUDECLIPRECT /* wingdi.h:3672:45 */ 10457 type PEMRINTERSECTCLIPRECT = uintptr /* wingdi.h:3672:66 */ 10458 10459 type tagEMRSETVIEWPORTORGEX = struct { 10460 emr EMR 10461 ptlOrigin POINTL 10462 } /* wingdi.h:3674:11 */ 10463 10464 type EMRSETVIEWPORTORGEX = tagEMRSETVIEWPORTORGEX /* wingdi.h:3677:5 */ 10465 type PEMRSETVIEWPORTORGEX = uintptr /* wingdi.h:3677:25 */ 10466 type EMRSETWINDOWORGEX = tagEMRSETVIEWPORTORGEX /* wingdi.h:3677:47 */ 10467 type PEMRSETWINDOWORGEX = uintptr /* wingdi.h:3677:65 */ 10468 type EMRSETBRUSHORGEX = tagEMRSETVIEWPORTORGEX /* wingdi.h:3677:85 */ 10469 type PEMRSETBRUSHORGEX = uintptr /* wingdi.h:3677:102 */ 10470 10471 type tagEMRSETVIEWPORTEXTEX = struct { 10472 emr EMR 10473 szlExtent SIZEL 10474 } /* wingdi.h:3679:11 */ 10475 10476 type EMRSETVIEWPORTEXTEX = tagEMRSETVIEWPORTEXTEX /* wingdi.h:3682:5 */ 10477 type PEMRSETVIEWPORTEXTEX = uintptr /* wingdi.h:3682:25 */ 10478 type EMRSETWINDOWEXTEX = tagEMRSETVIEWPORTEXTEX /* wingdi.h:3682:47 */ 10479 type PEMRSETWINDOWEXTEX = uintptr /* wingdi.h:3682:65 */ 10480 10481 type tagEMRSCALEVIEWPORTEXTEX = struct { 10482 emr EMR 10483 xNum LONG 10484 xDenom LONG 10485 yNum LONG 10486 yDenom LONG 10487 } /* wingdi.h:3684:11 */ 10488 10489 type EMRSCALEVIEWPORTEXTEX = tagEMRSCALEVIEWPORTEXTEX /* wingdi.h:3690:5 */ 10490 type PEMRSCALEVIEWPORTEXTEX = uintptr /* wingdi.h:3690:27 */ 10491 type EMRSCALEWINDOWEXTEX = tagEMRSCALEVIEWPORTEXTEX /* wingdi.h:3690:51 */ 10492 type PEMRSCALEWINDOWEXTEX = uintptr /* wingdi.h:3690:71 */ 10493 10494 type tagEMRSETWORLDTRANSFORM = struct { 10495 emr EMR 10496 xform XFORM 10497 } /* wingdi.h:3692:11 */ 10498 10499 type EMRSETWORLDTRANSFORM = tagEMRSETWORLDTRANSFORM /* wingdi.h:3695:5 */ 10500 type PEMRSETWORLDTRANSFORM = uintptr /* wingdi.h:3695:26 */ 10501 10502 type tagEMRMODIFYWORLDTRANSFORM = struct { 10503 emr EMR 10504 xform XFORM 10505 iMode DWORD 10506 } /* wingdi.h:3697:11 */ 10507 10508 type EMRMODIFYWORLDTRANSFORM = tagEMRMODIFYWORLDTRANSFORM /* wingdi.h:3701:5 */ 10509 type PEMRMODIFYWORLDTRANSFORM = uintptr /* wingdi.h:3701:29 */ 10510 10511 type tagEMRSETPIXELV = struct { 10512 emr EMR 10513 ptlPixel POINTL 10514 crColor COLORREF 10515 } /* wingdi.h:3703:11 */ 10516 10517 type EMRSETPIXELV = tagEMRSETPIXELV /* wingdi.h:3707:5 */ 10518 type PEMRSETPIXELV = uintptr /* wingdi.h:3707:18 */ 10519 10520 type tagEMREXTFLOODFILL = struct { 10521 emr EMR 10522 ptlStart POINTL 10523 crColor COLORREF 10524 iMode DWORD 10525 } /* wingdi.h:3709:11 */ 10526 10527 type EMREXTFLOODFILL = tagEMREXTFLOODFILL /* wingdi.h:3714:5 */ 10528 type PEMREXTFLOODFILL = uintptr /* wingdi.h:3714:21 */ 10529 10530 type tagEMRELLIPSE = struct { 10531 emr EMR 10532 rclBox RECTL 10533 } /* wingdi.h:3716:11 */ 10534 10535 type EMRELLIPSE = tagEMRELLIPSE /* wingdi.h:3719:5 */ 10536 type PEMRELLIPSE = uintptr /* wingdi.h:3719:16 */ 10537 type EMRRECTANGLE = tagEMRELLIPSE /* wingdi.h:3719:29 */ 10538 type PEMRRECTANGLE = uintptr /* wingdi.h:3719:42 */ 10539 10540 type tagEMRROUNDRECT = struct { 10541 emr EMR 10542 rclBox RECTL 10543 szlCorner SIZEL 10544 } /* wingdi.h:3721:11 */ 10545 10546 type EMRROUNDRECT = tagEMRROUNDRECT /* wingdi.h:3725:5 */ 10547 type PEMRROUNDRECT = uintptr /* wingdi.h:3725:18 */ 10548 10549 type tagEMRARC = struct { 10550 emr EMR 10551 rclBox RECTL 10552 ptlStart POINTL 10553 ptlEnd POINTL 10554 } /* wingdi.h:3727:11 */ 10555 10556 type EMRARC = tagEMRARC /* wingdi.h:3732:5 */ 10557 type PEMRARC = uintptr /* wingdi.h:3732:12 */ 10558 type EMRARCTO = tagEMRARC /* wingdi.h:3732:21 */ 10559 type PEMRARCTO = uintptr /* wingdi.h:3732:30 */ 10560 type EMRCHORD = tagEMRARC /* wingdi.h:3732:41 */ 10561 type PEMRCHORD = uintptr /* wingdi.h:3732:50 */ 10562 type EMRPIE = tagEMRARC /* wingdi.h:3732:61 */ 10563 type PEMRPIE = uintptr /* wingdi.h:3732:68 */ 10564 10565 type tagEMRANGLEARC = struct { 10566 emr EMR 10567 ptlCenter POINTL 10568 nRadius DWORD 10569 eStartAngle FLOAT 10570 eSweepAngle FLOAT 10571 } /* wingdi.h:3734:11 */ 10572 10573 type EMRANGLEARC = tagEMRANGLEARC /* wingdi.h:3740:5 */ 10574 type PEMRANGLEARC = uintptr /* wingdi.h:3740:17 */ 10575 10576 type tagEMRPOLYLINE = struct { 10577 emr EMR 10578 rclBounds RECTL 10579 cptl DWORD 10580 aptl [1]POINTL 10581 } /* wingdi.h:3742:11 */ 10582 10583 type EMRPOLYLINE = tagEMRPOLYLINE /* wingdi.h:3747:5 */ 10584 type PEMRPOLYLINE = uintptr /* wingdi.h:3747:17 */ 10585 type EMRPOLYBEZIER = tagEMRPOLYLINE /* wingdi.h:3747:31 */ 10586 type PEMRPOLYBEZIER = uintptr /* wingdi.h:3747:45 */ 10587 type EMRPOLYGON = tagEMRPOLYLINE /* wingdi.h:3747:61 */ 10588 type PEMRPOLYGON = uintptr /* wingdi.h:3747:72 */ 10589 type EMRPOLYBEZIERTO = tagEMRPOLYLINE /* wingdi.h:3747:85 */ 10590 type PEMRPOLYBEZIERTO = uintptr /* wingdi.h:3747:101 */ 10591 type EMRPOLYLINETO = tagEMRPOLYLINE /* wingdi.h:3747:119 */ 10592 type PEMRPOLYLINETO = uintptr /* wingdi.h:3747:133 */ 10593 10594 type tagEMRPOLYLINE16 = struct { 10595 emr EMR 10596 rclBounds RECTL 10597 cpts DWORD 10598 apts [1]POINTS 10599 } /* wingdi.h:3749:11 */ 10600 10601 type EMRPOLYLINE16 = tagEMRPOLYLINE16 /* wingdi.h:3754:5 */ 10602 type PEMRPOLYLINE16 = uintptr /* wingdi.h:3754:19 */ 10603 type EMRPOLYBEZIER16 = tagEMRPOLYLINE16 /* wingdi.h:3754:35 */ 10604 type PEMRPOLYBEZIER16 = uintptr /* wingdi.h:3754:51 */ 10605 type EMRPOLYGON16 = tagEMRPOLYLINE16 /* wingdi.h:3754:69 */ 10606 type PEMRPOLYGON16 = uintptr /* wingdi.h:3754:82 */ 10607 type EMRPOLYBEZIERTO16 = tagEMRPOLYLINE16 /* wingdi.h:3754:97 */ 10608 type PEMRPOLYBEZIERTO16 = uintptr /* wingdi.h:3754:115 */ 10609 type EMRPOLYLINETO16 = tagEMRPOLYLINE16 /* wingdi.h:3754:135 */ 10610 type PEMRPOLYLINETO16 = uintptr /* wingdi.h:3754:151 */ 10611 10612 type tagEMRPOLYDRAW = struct { 10613 emr EMR 10614 rclBounds RECTL 10615 cptl DWORD 10616 aptl [1]POINTL 10617 abTypes [1]BYTE 10618 _ [3]byte 10619 } /* wingdi.h:3756:11 */ 10620 10621 type EMRPOLYDRAW = tagEMRPOLYDRAW /* wingdi.h:3762:5 */ 10622 type PEMRPOLYDRAW = uintptr /* wingdi.h:3762:17 */ 10623 10624 type tagEMRPOLYDRAW16 = struct { 10625 emr EMR 10626 rclBounds RECTL 10627 cpts DWORD 10628 apts [1]POINTS 10629 abTypes [1]BYTE 10630 _ [3]byte 10631 } /* wingdi.h:3764:11 */ 10632 10633 type EMRPOLYDRAW16 = tagEMRPOLYDRAW16 /* wingdi.h:3770:5 */ 10634 type PEMRPOLYDRAW16 = uintptr /* wingdi.h:3770:19 */ 10635 10636 type tagEMRPOLYPOLYLINE = struct { 10637 emr EMR 10638 rclBounds RECTL 10639 nPolys DWORD 10640 cptl DWORD 10641 aPolyCounts [1]DWORD 10642 aptl [1]POINTL 10643 } /* wingdi.h:3772:11 */ 10644 10645 type EMRPOLYPOLYLINE = tagEMRPOLYPOLYLINE /* wingdi.h:3779:5 */ 10646 type PEMRPOLYPOLYLINE = uintptr /* wingdi.h:3779:21 */ 10647 type EMRPOLYPOLYGON = tagEMRPOLYPOLYLINE /* wingdi.h:3779:39 */ 10648 type PEMRPOLYPOLYGON = uintptr /* wingdi.h:3779:54 */ 10649 10650 type tagEMRPOLYPOLYLINE16 = struct { 10651 emr EMR 10652 rclBounds RECTL 10653 nPolys DWORD 10654 cpts DWORD 10655 aPolyCounts [1]DWORD 10656 apts [1]POINTS 10657 } /* wingdi.h:3781:11 */ 10658 10659 type EMRPOLYPOLYLINE16 = tagEMRPOLYPOLYLINE16 /* wingdi.h:3788:5 */ 10660 type PEMRPOLYPOLYLINE16 = uintptr /* wingdi.h:3788:23 */ 10661 type EMRPOLYPOLYGON16 = tagEMRPOLYPOLYLINE16 /* wingdi.h:3788:43 */ 10662 type PEMRPOLYPOLYGON16 = uintptr /* wingdi.h:3788:60 */ 10663 10664 type tagEMRINVERTRGN = struct { 10665 emr EMR 10666 rclBounds RECTL 10667 cbRgnData DWORD 10668 RgnData [1]BYTE 10669 _ [3]byte 10670 } /* wingdi.h:3790:11 */ 10671 10672 type EMRINVERTRGN = tagEMRINVERTRGN /* wingdi.h:3795:5 */ 10673 type PEMRINVERTRGN = uintptr /* wingdi.h:3795:18 */ 10674 type EMRPAINTRGN = tagEMRINVERTRGN /* wingdi.h:3795:33 */ 10675 type PEMRPAINTRGN = uintptr /* wingdi.h:3795:45 */ 10676 10677 type tagEMRFILLRGN = struct { 10678 emr EMR 10679 rclBounds RECTL 10680 cbRgnData DWORD 10681 ihBrush DWORD 10682 RgnData [1]BYTE 10683 _ [3]byte 10684 } /* wingdi.h:3797:11 */ 10685 10686 type EMRFILLRGN = tagEMRFILLRGN /* wingdi.h:3803:5 */ 10687 type PEMRFILLRGN = uintptr /* wingdi.h:3803:16 */ 10688 10689 type tagEMRFRAMERGN = struct { 10690 emr EMR 10691 rclBounds RECTL 10692 cbRgnData DWORD 10693 ihBrush DWORD 10694 szlStroke SIZEL 10695 RgnData [1]BYTE 10696 _ [3]byte 10697 } /* wingdi.h:3805:11 */ 10698 10699 type EMRFRAMERGN = tagEMRFRAMERGN /* wingdi.h:3812:5 */ 10700 type PEMRFRAMERGN = uintptr /* wingdi.h:3812:17 */ 10701 10702 type tagEMREXTSELECTCLIPRGN = struct { 10703 emr EMR 10704 cbRgnData DWORD 10705 iMode DWORD 10706 RgnData [1]BYTE 10707 _ [3]byte 10708 } /* wingdi.h:3814:11 */ 10709 10710 type EMREXTSELECTCLIPRGN = tagEMREXTSELECTCLIPRGN /* wingdi.h:3819:5 */ 10711 type PEMREXTSELECTCLIPRGN = uintptr /* wingdi.h:3819:25 */ 10712 10713 type tagEMREXTTEXTOUTA = struct { 10714 emr EMR 10715 rclBounds RECTL 10716 iGraphicsMode DWORD 10717 exScale FLOAT 10718 eyScale FLOAT 10719 emrtext EMRTEXT 10720 } /* wingdi.h:3821:11 */ 10721 10722 type EMREXTTEXTOUTA = tagEMREXTTEXTOUTA /* wingdi.h:3828:5 */ 10723 type PEMREXTTEXTOUTA = uintptr /* wingdi.h:3828:20 */ 10724 type EMREXTTEXTOUTW = tagEMREXTTEXTOUTA /* wingdi.h:3828:37 */ 10725 type PEMREXTTEXTOUTW = uintptr /* wingdi.h:3828:52 */ 10726 10727 type tagEMRPOLYTEXTOUTA = struct { 10728 emr EMR 10729 rclBounds RECTL 10730 iGraphicsMode DWORD 10731 exScale FLOAT 10732 eyScale FLOAT 10733 cStrings LONG 10734 aemrtext [1]EMRTEXT 10735 } /* wingdi.h:3830:11 */ 10736 10737 type EMRPOLYTEXTOUTA = tagEMRPOLYTEXTOUTA /* wingdi.h:3838:5 */ 10738 type PEMRPOLYTEXTOUTA = uintptr /* wingdi.h:3838:21 */ 10739 type EMRPOLYTEXTOUTW = tagEMRPOLYTEXTOUTA /* wingdi.h:3838:39 */ 10740 type PEMRPOLYTEXTOUTW = uintptr /* wingdi.h:3838:55 */ 10741 10742 type tagEMRBITBLT = struct { 10743 emr EMR 10744 rclBounds RECTL 10745 xDest LONG 10746 yDest LONG 10747 cxDest LONG 10748 cyDest LONG 10749 dwRop DWORD 10750 xSrc LONG 10751 ySrc LONG 10752 xformSrc XFORM 10753 crBkColorSrc COLORREF 10754 iUsageSrc DWORD 10755 offBmiSrc DWORD 10756 cbBmiSrc DWORD 10757 offBitsSrc DWORD 10758 cbBitsSrc DWORD 10759 } /* wingdi.h:3840:11 */ 10760 10761 type EMRBITBLT = tagEMRBITBLT /* wingdi.h:3857:5 */ 10762 type PEMRBITBLT = uintptr /* wingdi.h:3857:15 */ 10763 10764 type tagEMRSTRETCHBLT = struct { 10765 emr EMR 10766 rclBounds RECTL 10767 xDest LONG 10768 yDest LONG 10769 cxDest LONG 10770 cyDest LONG 10771 dwRop DWORD 10772 xSrc LONG 10773 ySrc LONG 10774 xformSrc XFORM 10775 crBkColorSrc COLORREF 10776 iUsageSrc DWORD 10777 offBmiSrc DWORD 10778 cbBmiSrc DWORD 10779 offBitsSrc DWORD 10780 cbBitsSrc DWORD 10781 cxSrc LONG 10782 cySrc LONG 10783 } /* wingdi.h:3859:11 */ 10784 10785 type EMRSTRETCHBLT = tagEMRSTRETCHBLT /* wingdi.h:3878:5 */ 10786 type PEMRSTRETCHBLT = uintptr /* wingdi.h:3878:19 */ 10787 10788 type tagEMRMASKBLT = struct { 10789 emr EMR 10790 rclBounds RECTL 10791 xDest LONG 10792 yDest LONG 10793 cxDest LONG 10794 cyDest LONG 10795 dwRop DWORD 10796 xSrc LONG 10797 ySrc LONG 10798 xformSrc XFORM 10799 crBkColorSrc COLORREF 10800 iUsageSrc DWORD 10801 offBmiSrc DWORD 10802 cbBmiSrc DWORD 10803 offBitsSrc DWORD 10804 cbBitsSrc DWORD 10805 xMask LONG 10806 yMask LONG 10807 iUsageMask DWORD 10808 offBmiMask DWORD 10809 cbBmiMask DWORD 10810 offBitsMask DWORD 10811 cbBitsMask DWORD 10812 } /* wingdi.h:3880:11 */ 10813 10814 type EMRMASKBLT = tagEMRMASKBLT /* wingdi.h:3904:5 */ 10815 type PEMRMASKBLT = uintptr /* wingdi.h:3904:16 */ 10816 10817 type tagEMRPLGBLT = struct { 10818 emr EMR 10819 rclBounds RECTL 10820 aptlDest [3]POINTL 10821 xSrc LONG 10822 ySrc LONG 10823 cxSrc LONG 10824 cySrc LONG 10825 xformSrc XFORM 10826 crBkColorSrc COLORREF 10827 iUsageSrc DWORD 10828 offBmiSrc DWORD 10829 cbBmiSrc DWORD 10830 offBitsSrc DWORD 10831 cbBitsSrc DWORD 10832 xMask LONG 10833 yMask LONG 10834 iUsageMask DWORD 10835 offBmiMask DWORD 10836 cbBmiMask DWORD 10837 offBitsMask DWORD 10838 cbBitsMask DWORD 10839 } /* wingdi.h:3906:11 */ 10840 10841 type EMRPLGBLT = tagEMRPLGBLT /* wingdi.h:3928:5 */ 10842 type PEMRPLGBLT = uintptr /* wingdi.h:3928:15 */ 10843 10844 type tagEMRSETDIBITSTODEVICE = struct { 10845 emr EMR 10846 rclBounds RECTL 10847 xDest LONG 10848 yDest LONG 10849 xSrc LONG 10850 ySrc LONG 10851 cxSrc LONG 10852 cySrc LONG 10853 offBmiSrc DWORD 10854 cbBmiSrc DWORD 10855 offBitsSrc DWORD 10856 cbBitsSrc DWORD 10857 iUsageSrc DWORD 10858 iStartScan DWORD 10859 cScans DWORD 10860 } /* wingdi.h:3930:11 */ 10861 10862 type EMRSETDIBITSTODEVICE = tagEMRSETDIBITSTODEVICE /* wingdi.h:3946:5 */ 10863 type PEMRSETDIBITSTODEVICE = uintptr /* wingdi.h:3946:26 */ 10864 10865 type tagEMRSTRETCHDIBITS = struct { 10866 emr EMR 10867 rclBounds RECTL 10868 xDest LONG 10869 yDest LONG 10870 xSrc LONG 10871 ySrc LONG 10872 cxSrc LONG 10873 cySrc LONG 10874 offBmiSrc DWORD 10875 cbBmiSrc DWORD 10876 offBitsSrc DWORD 10877 cbBitsSrc DWORD 10878 iUsageSrc DWORD 10879 dwRop DWORD 10880 cxDest LONG 10881 cyDest LONG 10882 } /* wingdi.h:3948:11 */ 10883 10884 type EMRSTRETCHDIBITS = tagEMRSTRETCHDIBITS /* wingdi.h:3965:5 */ 10885 type PEMRSTRETCHDIBITS = uintptr /* wingdi.h:3965:22 */ 10886 10887 type tagEMREXTCREATEFONTINDIRECTW = struct { 10888 emr EMR 10889 ihFont DWORD 10890 elfw EXTLOGFONTW 10891 } /* wingdi.h:3967:11 */ 10892 10893 type EMREXTCREATEFONTINDIRECTW = tagEMREXTCREATEFONTINDIRECTW /* wingdi.h:3971:5 */ 10894 type PEMREXTCREATEFONTINDIRECTW = uintptr /* wingdi.h:3971:31 */ 10895 10896 type tagEMRCREATEPALETTE = struct { 10897 emr EMR 10898 ihPal DWORD 10899 lgpl LOGPALETTE 10900 } /* wingdi.h:3973:11 */ 10901 10902 type EMRCREATEPALETTE = tagEMRCREATEPALETTE /* wingdi.h:3977:5 */ 10903 type PEMRCREATEPALETTE = uintptr /* wingdi.h:3977:22 */ 10904 10905 type tagEMRCREATEPEN = struct { 10906 emr EMR 10907 ihPen DWORD 10908 lopn LOGPEN 10909 } /* wingdi.h:3979:11 */ 10910 10911 type EMRCREATEPEN = tagEMRCREATEPEN /* wingdi.h:3983:5 */ 10912 type PEMRCREATEPEN = uintptr /* wingdi.h:3983:18 */ 10913 10914 type tagEMREXTCREATEPEN = struct { 10915 emr EMR 10916 ihPen DWORD 10917 offBmi DWORD 10918 cbBmi DWORD 10919 offBits DWORD 10920 cbBits DWORD 10921 elp EXTLOGPEN 10922 } /* wingdi.h:3985:11 */ 10923 10924 type EMREXTCREATEPEN = tagEMREXTCREATEPEN /* wingdi.h:3993:5 */ 10925 type PEMREXTCREATEPEN = uintptr /* wingdi.h:3993:21 */ 10926 10927 type tagEMRCREATEBRUSHINDIRECT = struct { 10928 emr EMR 10929 ihBrush DWORD 10930 lb LOGBRUSH32 10931 } /* wingdi.h:3995:11 */ 10932 10933 type EMRCREATEBRUSHINDIRECT = tagEMRCREATEBRUSHINDIRECT /* wingdi.h:3999:5 */ 10934 type PEMRCREATEBRUSHINDIRECT = uintptr /* wingdi.h:3999:28 */ 10935 10936 type tagEMRCREATEMONOBRUSH = struct { 10937 emr EMR 10938 ihBrush DWORD 10939 iUsage DWORD 10940 offBmi DWORD 10941 cbBmi DWORD 10942 offBits DWORD 10943 cbBits DWORD 10944 } /* wingdi.h:4001:11 */ 10945 10946 type EMRCREATEMONOBRUSH = tagEMRCREATEMONOBRUSH /* wingdi.h:4009:5 */ 10947 type PEMRCREATEMONOBRUSH = uintptr /* wingdi.h:4009:24 */ 10948 10949 type tagEMRCREATEDIBPATTERNBRUSHPT = struct { 10950 emr EMR 10951 ihBrush DWORD 10952 iUsage DWORD 10953 offBmi DWORD 10954 cbBmi DWORD 10955 offBits DWORD 10956 cbBits DWORD 10957 } /* wingdi.h:4011:11 */ 10958 10959 type EMRCREATEDIBPATTERNBRUSHPT = tagEMRCREATEDIBPATTERNBRUSHPT /* wingdi.h:4019:5 */ 10960 type PEMRCREATEDIBPATTERNBRUSHPT = uintptr /* wingdi.h:4019:32 */ 10961 10962 type tagEMRFORMAT = struct { 10963 dSignature DWORD 10964 nVersion DWORD 10965 cbData DWORD 10966 offData DWORD 10967 } /* wingdi.h:4021:11 */ 10968 10969 type EMRFORMAT = tagEMRFORMAT /* wingdi.h:4026:5 */ 10970 type PEMRFORMAT = uintptr /* wingdi.h:4026:15 */ 10971 10972 type tagEMRGLSRECORD = struct { 10973 emr EMR 10974 cbData DWORD 10975 Data [1]BYTE 10976 _ [3]byte 10977 } /* wingdi.h:4028:11 */ 10978 10979 type EMRGLSRECORD = tagEMRGLSRECORD /* wingdi.h:4032:5 */ 10980 type PEMRGLSRECORD = uintptr /* wingdi.h:4032:18 */ 10981 10982 type tagEMRGLSBOUNDEDRECORD = struct { 10983 emr EMR 10984 rclBounds RECTL 10985 cbData DWORD 10986 Data [1]BYTE 10987 _ [3]byte 10988 } /* wingdi.h:4034:11 */ 10989 10990 type EMRGLSBOUNDEDRECORD = tagEMRGLSBOUNDEDRECORD /* wingdi.h:4039:5 */ 10991 type PEMRGLSBOUNDEDRECORD = uintptr /* wingdi.h:4039:25 */ 10992 10993 type tagEMRPIXELFORMAT = struct { 10994 emr EMR 10995 pfd PIXELFORMATDESCRIPTOR 10996 } /* wingdi.h:4041:11 */ 10997 10998 type EMRPIXELFORMAT = tagEMRPIXELFORMAT /* wingdi.h:4044:5 */ 10999 type PEMRPIXELFORMAT = uintptr /* wingdi.h:4044:20 */ 11000 11001 type tagEMRCREATECOLORSPACE = struct { 11002 emr EMR 11003 ihCS DWORD 11004 lcs LOGCOLORSPACEA 11005 } /* wingdi.h:4046:11 */ 11006 11007 type EMRCREATECOLORSPACE = tagEMRCREATECOLORSPACE /* wingdi.h:4050:5 */ 11008 type PEMRCREATECOLORSPACE = uintptr /* wingdi.h:4050:25 */ 11009 11010 type tagEMRSETCOLORSPACE = struct { 11011 emr EMR 11012 ihCS DWORD 11013 } /* wingdi.h:4052:11 */ 11014 11015 type EMRSETCOLORSPACE = tagEMRSETCOLORSPACE /* wingdi.h:4055:5 */ 11016 type PEMRSETCOLORSPACE = uintptr /* wingdi.h:4055:22 */ 11017 type EMRSELECTCOLORSPACE = tagEMRSETCOLORSPACE /* wingdi.h:4055:41 */ 11018 type PEMRSELECTCOLORSPACE = uintptr /* wingdi.h:4055:61 */ 11019 type EMRDELETECOLORSPACE = tagEMRSETCOLORSPACE /* wingdi.h:4055:83 */ 11020 type PEMRDELETECOLORSPACE = uintptr /* wingdi.h:4055:103 */ 11021 11022 type tagEMREXTESCAPE = struct { 11023 emr EMR 11024 iEscape INT 11025 cbEscData INT 11026 EscData [1]BYTE 11027 _ [3]byte 11028 } /* wingdi.h:4057:11 */ 11029 11030 type EMREXTESCAPE = tagEMREXTESCAPE /* wingdi.h:4062:5 */ 11031 type PEMREXTESCAPE = uintptr /* wingdi.h:4062:18 */ 11032 type EMRDRAWESCAPE = tagEMREXTESCAPE /* wingdi.h:4062:33 */ 11033 type PEMRDRAWESCAPE = uintptr /* wingdi.h:4062:47 */ 11034 11035 type tagEMRNAMEDESCAPE = struct { 11036 emr EMR 11037 iEscape INT 11038 cbDriver INT 11039 cbEscData INT 11040 EscData [1]BYTE 11041 _ [3]byte 11042 } /* wingdi.h:4064:11 */ 11043 11044 type EMRNAMEDESCAPE = tagEMRNAMEDESCAPE /* wingdi.h:4070:5 */ 11045 type PEMRNAMEDESCAPE = uintptr /* wingdi.h:4070:20 */ 11046 11047 type tagEMRSETICMPROFILE = struct { 11048 emr EMR 11049 dwFlags DWORD 11050 cbName DWORD 11051 cbData DWORD 11052 Data [1]BYTE 11053 _ [3]byte 11054 } /* wingdi.h:4074:11 */ 11055 11056 type EMRSETICMPROFILE = tagEMRSETICMPROFILE /* wingdi.h:4080:5 */ 11057 type PEMRSETICMPROFILE = uintptr /* wingdi.h:4080:22 */ 11058 type EMRSETICMPROFILEA = tagEMRSETICMPROFILE /* wingdi.h:4080:41 */ 11059 type PEMRSETICMPROFILEA = uintptr /* wingdi.h:4080:59 */ 11060 type EMRSETICMPROFILEW = tagEMRSETICMPROFILE /* wingdi.h:4080:79 */ 11061 type PEMRSETICMPROFILEW = uintptr /* wingdi.h:4080:97 */ 11062 11063 type tagEMRCREATECOLORSPACEW = struct { 11064 emr EMR 11065 ihCS DWORD 11066 lcs LOGCOLORSPACEW 11067 dwFlags DWORD 11068 cbData DWORD 11069 Data [1]BYTE 11070 _ [3]byte 11071 } /* wingdi.h:4084:11 */ 11072 11073 type EMRCREATECOLORSPACEW = tagEMRCREATECOLORSPACEW /* wingdi.h:4091:5 */ 11074 type PEMRCREATECOLORSPACEW = uintptr /* wingdi.h:4091:26 */ 11075 11076 type tagCOLORMATCHTOTARGET = struct { 11077 emr EMR 11078 dwAction DWORD 11079 dwFlags DWORD 11080 cbName DWORD 11081 cbData DWORD 11082 Data [1]BYTE 11083 _ [3]byte 11084 } /* wingdi.h:4095:11 */ 11085 11086 type EMRCOLORMATCHTOTARGET = tagCOLORMATCHTOTARGET /* wingdi.h:4102:5 */ 11087 type PEMRCOLORMATCHTOTARGET = uintptr /* wingdi.h:4102:27 */ 11088 11089 type tagCOLORCORRECTPALETTE = struct { 11090 emr EMR 11091 ihPalette DWORD 11092 nFirstEntry DWORD 11093 nPalEntries DWORD 11094 nReserved DWORD 11095 } /* wingdi.h:4104:11 */ 11096 11097 type EMRCOLORCORRECTPALETTE = tagCOLORCORRECTPALETTE /* wingdi.h:4110:5 */ 11098 type PEMRCOLORCORRECTPALETTE = uintptr /* wingdi.h:4110:28 */ 11099 11100 type tagEMRALPHABLEND = struct { 11101 emr EMR 11102 rclBounds RECTL 11103 xDest LONG 11104 yDest LONG 11105 cxDest LONG 11106 cyDest LONG 11107 dwRop DWORD 11108 xSrc LONG 11109 ySrc LONG 11110 xformSrc XFORM 11111 crBkColorSrc COLORREF 11112 iUsageSrc DWORD 11113 offBmiSrc DWORD 11114 cbBmiSrc DWORD 11115 offBitsSrc DWORD 11116 cbBitsSrc DWORD 11117 cxSrc LONG 11118 cySrc LONG 11119 } /* wingdi.h:4112:11 */ 11120 11121 type EMRALPHABLEND = tagEMRALPHABLEND /* wingdi.h:4131:5 */ 11122 type PEMRALPHABLEND = uintptr /* wingdi.h:4131:19 */ 11123 11124 type tagEMRGRADIENTFILL = struct { 11125 emr EMR 11126 rclBounds RECTL 11127 nVer DWORD 11128 nTri DWORD 11129 ulMode ULONG 11130 Ver [1]TRIVERTEX 11131 } /* wingdi.h:4133:11 */ 11132 11133 type EMRGRADIENTFILL = tagEMRGRADIENTFILL /* wingdi.h:4140:5 */ 11134 type PEMRGRADIENTFILL = uintptr /* wingdi.h:4140:21 */ 11135 11136 type tagEMRTRANSPARENTBLT = struct { 11137 emr EMR 11138 rclBounds RECTL 11139 xDest LONG 11140 yDest LONG 11141 cxDest LONG 11142 cyDest LONG 11143 dwRop DWORD 11144 xSrc LONG 11145 ySrc LONG 11146 xformSrc XFORM 11147 crBkColorSrc COLORREF 11148 iUsageSrc DWORD 11149 offBmiSrc DWORD 11150 cbBmiSrc DWORD 11151 offBitsSrc DWORD 11152 cbBitsSrc DWORD 11153 cxSrc LONG 11154 cySrc LONG 11155 } /* wingdi.h:4142:11 */ 11156 11157 type EMRTRANSPARENTBLT = tagEMRTRANSPARENTBLT /* wingdi.h:4161:5 */ 11158 type PEMRTRANSPARENTBLT = uintptr /* wingdi.h:4161:23 */ 11159 11160 type _POINTFLOAT = struct { 11161 x FLOAT 11162 y FLOAT 11163 } /* wingdi.h:4188:11 */ 11164 11165 type POINTFLOAT = _POINTFLOAT /* wingdi.h:4191:5 */ 11166 type PPOINTFLOAT = uintptr /* wingdi.h:4191:16 */ 11167 11168 type _GLYPHMETRICSFLOAT = struct { 11169 gmfBlackBoxX FLOAT 11170 gmfBlackBoxY FLOAT 11171 gmfptGlyphOrigin POINTFLOAT 11172 gmfCellIncX FLOAT 11173 gmfCellIncY FLOAT 11174 } /* wingdi.h:4193:11 */ 11175 11176 type GLYPHMETRICSFLOAT = _GLYPHMETRICSFLOAT /* wingdi.h:4199:5 */ 11177 type PGLYPHMETRICSFLOAT = uintptr /* wingdi.h:4199:23 */ 11178 type LPGLYPHMETRICSFLOAT = uintptr /* wingdi.h:4199:43 */ 11179 11180 type tagLAYERPLANEDESCRIPTOR = struct { 11181 nSize WORD 11182 nVersion WORD 11183 dwFlags DWORD 11184 iPixelType BYTE 11185 cColorBits BYTE 11186 cRedBits BYTE 11187 cRedShift BYTE 11188 cGreenBits BYTE 11189 cGreenShift BYTE 11190 cBlueBits BYTE 11191 cBlueShift BYTE 11192 cAlphaBits BYTE 11193 cAlphaShift BYTE 11194 cAccumBits BYTE 11195 cAccumRedBits BYTE 11196 cAccumGreenBits BYTE 11197 cAccumBlueBits BYTE 11198 cAccumAlphaBits BYTE 11199 cDepthBits BYTE 11200 cStencilBits BYTE 11201 cAuxBuffers BYTE 11202 iLayerPlane BYTE 11203 bReserved BYTE 11204 crTransparent COLORREF 11205 } /* wingdi.h:4209:11 */ 11206 11207 type LAYERPLANEDESCRIPTOR = tagLAYERPLANEDESCRIPTOR /* wingdi.h:4234:5 */ 11208 type PLAYERPLANEDESCRIPTOR = uintptr /* wingdi.h:4234:26 */ 11209 type LPLAYERPLANEDESCRIPTOR = uintptr /* wingdi.h:4234:49 */ 11210 11211 type _WGLSWAP = struct { 11212 hdc HDC 11213 uiFlags UINT 11214 } /* wingdi.h:4288:11 */ 11215 11216 type WGLSWAP = _WGLSWAP /* wingdi.h:4291:5 */ 11217 type PWGLSWAP = uintptr /* wingdi.h:4291:13 */ 11218 type LPWGLSWAP = uintptr /* wingdi.h:4291:23 */ 11219 11220 // * 11221 // This file is part of the mingw-w64 runtime package. 11222 // No warranty is given; refer to the file DISCLAIMER within this package. 11223 11224 // * 11225 // This file is part of the mingw-w64 runtime package. 11226 // No warranty is given; refer to the file DISCLAIMER within this package. 11227 11228 // * 11229 // This file has no copyright assigned and is placed in the Public Domain. 11230 // This file is part of the mingw-w64 runtime package. 11231 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 11232 11233 // * 11234 // This file is part of the mingw-w64 runtime package. 11235 // No warranty is given; refer to the file DISCLAIMER within this package. 11236 11237 // * 11238 // This file has no copyright assigned and is placed in the Public Domain. 11239 // This file is part of the mingw-w64 runtime package. 11240 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 11241 11242 // Copyright (C) 1989, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. 11243 // 11244 // This file is part of GCC. 11245 // 11246 // GCC is free software; you can redistribute it and/or modify 11247 // it under the terms of the GNU General Public License as published by 11248 // the Free Software Foundation; either version 2, or (at your option) 11249 // any later version. 11250 // 11251 // GCC is distributed in the hope that it will be useful, 11252 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11253 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11254 // GNU General Public License for more details. 11255 // 11256 // You should have received a copy of the GNU General Public License 11257 // along with GCC; see the file COPYING. If not, write to 11258 // the Free Software Foundation, 51 Franklin Street, Fifth Floor, 11259 // Boston, MA 02110-1301, USA. 11260 11261 // As a special exception, if you include this header file into source 11262 // files compiled by GCC, this header file does not by itself cause 11263 // the resulting executable to be covered by the GNU General Public 11264 // License. This exception does not however invalidate any other 11265 // reasons why the executable file might be covered by the GNU General 11266 // Public License. 11267 11268 // ISO C Standard: 7.15 Variable arguments <stdarg.h> 11269 11270 // include mingw stuff 11271 // * 11272 // This file has no copyright assigned and is placed in the Public Domain. 11273 // This file is part of the mingw-w64 runtime package. 11274 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 11275 11276 // Copyright (C) 1989-2018 Free Software Foundation, Inc. 11277 // 11278 // This file is part of GCC. 11279 // 11280 // GCC is free software; you can redistribute it and/or modify 11281 // it under the terms of the GNU General Public License as published by 11282 // the Free Software Foundation; either version 3, or (at your option) 11283 // any later version. 11284 // 11285 // GCC is distributed in the hope that it will be useful, 11286 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11287 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11288 // GNU General Public License for more details. 11289 // 11290 // Under Section 7 of GPL version 3, you are granted additional 11291 // permissions described in the GCC Runtime Library Exception, version 11292 // 3.1, as published by the Free Software Foundation. 11293 // 11294 // You should have received a copy of the GNU General Public License and 11295 // a copy of the GCC Runtime Library Exception along with this program; 11296 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 11297 // <http://www.gnu.org/licenses/>. 11298 11299 // ISO C Standard: 7.15 Variable arguments <stdarg.h> 11300 11301 // * 11302 // This file is part of the mingw-w64 runtime package. 11303 // No warranty is given; refer to the file DISCLAIMER within this package. 11304 11305 // __declspec(selectany) must be applied to initialized objects on GCC 5 hence must not be used here. 11306 11307 // * 11308 // This file is part of the mingw-w64 runtime package. 11309 // No warranty is given; refer to the file DISCLAIMER within this package. 11310 11311 type HDWP = HANDLE /* winuser.h:32:18 */ 11312 type LPMENUTEMPLATEA = PVOID /* winuser.h:35:17 */ 11313 type LPMENUTEMPLATEW = PVOID /* winuser.h:36:17 */ 11314 type LPMENUTEMPLATE = LPMENUTEMPLATEA /* winuser.h:39:3 */ 11315 11316 type WNDPROC = uintptr /* winuser.h:41:19 */ 11317 11318 type DLGPROC = uintptr /* winuser.h:46:19 */ 11319 11320 type TIMERPROC = uintptr /* winuser.h:50:16 */ 11321 type GRAYSTRINGPROC = uintptr /* winuser.h:51:19 */ 11322 type WNDENUMPROC = uintptr /* winuser.h:52:19 */ 11323 type HOOKPROC = uintptr /* winuser.h:53:19 */ 11324 type SENDASYNCPROC = uintptr /* winuser.h:54:16 */ 11325 11326 type PROPENUMPROCA = uintptr /* winuser.h:56:19 */ 11327 type PROPENUMPROCW = uintptr /* winuser.h:57:19 */ 11328 11329 type PROPENUMPROCEXA = uintptr /* winuser.h:59:19 */ 11330 type PROPENUMPROCEXW = uintptr /* winuser.h:60:19 */ 11331 11332 type EDITWORDBREAKPROCA = uintptr /* winuser.h:62:15 */ 11333 type EDITWORDBREAKPROCW = uintptr /* winuser.h:63:15 */ 11334 11335 type DRAWSTATEPROC = uintptr /* winuser.h:65:19 */ 11336 11337 type PROPENUMPROC = PROPENUMPROCA /* winuser.h:93:3 */ 11338 type PROPENUMPROCEX = PROPENUMPROCEXA /* winuser.h:94:3 */ 11339 type EDITWORDBREAKPROC = EDITWORDBREAKPROCA /* winuser.h:95:3 */ 11340 11341 type NAMEENUMPROCA = uintptr /* winuser.h:98:19 */ 11342 type NAMEENUMPROCW = uintptr /* winuser.h:99:19 */ 11343 type WINSTAENUMPROCA = NAMEENUMPROCA /* winuser.h:100:25 */ 11344 type WINSTAENUMPROCW = NAMEENUMPROCW /* winuser.h:101:25 */ 11345 type DESKTOPENUMPROCA = NAMEENUMPROCA /* winuser.h:102:25 */ 11346 type DESKTOPENUMPROCW = NAMEENUMPROCW /* winuser.h:103:25 */ 11347 11348 type WINSTAENUMPROC = WINSTAENUMPROCA /* winuser.h:113:3 */ 11349 type DESKTOPENUMPROC = DESKTOPENUMPROCA /* winuser.h:114:3 */ 11350 11351 type tagCBT_CREATEWNDA = struct { 11352 lpcs uintptr 11353 hwndInsertAfter HWND 11354 } /* winuser.h:456:11 */ 11355 11356 type tagCREATESTRUCTA = struct { 11357 lpCreateParams LPVOID 11358 hInstance HINSTANCE 11359 hMenu HMENU 11360 hwndParent HWND 11361 cy int32 11362 cx int32 11363 y int32 11364 x int32 11365 style LONG 11366 lpszName LPCSTR 11367 lpszClass LPCSTR 11368 dwExStyle DWORD 11369 } /* winuser.h:456:11 */ 11370 11371 type CBT_CREATEWNDA = tagCBT_CREATEWNDA /* winuser.h:459:5 */ 11372 type LPCBT_CREATEWNDA = uintptr /* winuser.h:459:20 */ 11373 11374 type tagCBT_CREATEWNDW = struct { 11375 lpcs uintptr 11376 hwndInsertAfter HWND 11377 } /* winuser.h:461:11 */ 11378 11379 type tagCREATESTRUCTW = struct { 11380 lpCreateParams LPVOID 11381 hInstance HINSTANCE 11382 hMenu HMENU 11383 hwndParent HWND 11384 cy int32 11385 cx int32 11386 y int32 11387 x int32 11388 style LONG 11389 lpszName LPCWSTR 11390 lpszClass LPCWSTR 11391 dwExStyle DWORD 11392 } /* winuser.h:461:11 */ 11393 11394 type CBT_CREATEWNDW = tagCBT_CREATEWNDW /* winuser.h:464:5 */ 11395 type LPCBT_CREATEWNDW = uintptr /* winuser.h:464:20 */ 11396 11397 type CBT_CREATEWND = CBT_CREATEWNDA /* winuser.h:466:3 */ 11398 type LPCBT_CREATEWND = LPCBT_CREATEWNDA /* winuser.h:467:3 */ 11399 11400 type tagCBTACTIVATESTRUCT = struct { 11401 fMouse WINBOOL 11402 hWndActive HWND 11403 } /* winuser.h:469:11 */ 11404 11405 type CBTACTIVATESTRUCT = tagCBTACTIVATESTRUCT /* winuser.h:472:5 */ 11406 type LPCBTACTIVATESTRUCT = uintptr /* winuser.h:472:23 */ 11407 11408 type tagWTSSESSION_NOTIFICATION = struct { 11409 cbSize DWORD 11410 dwSessionId DWORD 11411 } /* winuser.h:476:11 */ 11412 11413 type WTSSESSION_NOTIFICATION = tagWTSSESSION_NOTIFICATION /* winuser.h:479:5 */ 11414 type PWTSSESSION_NOTIFICATION = uintptr /* winuser.h:479:29 */ 11415 11416 type SHELLHOOKINFO = struct { 11417 hwnd HWND 11418 rc RECT 11419 } /* winuser.h:600:5 */ 11420 type LPSHELLHOOKINFO = uintptr /* winuser.h:600:19 */ 11421 11422 type tagEVENTMSG = struct { 11423 message UINT 11424 paramL UINT 11425 paramH UINT 11426 time DWORD 11427 hwnd HWND 11428 } /* winuser.h:602:11 */ 11429 11430 type EVENTMSG = tagEVENTMSG /* winuser.h:608:5 */ 11431 type PEVENTMSGMSG = uintptr /* winuser.h:608:14 */ 11432 type NPEVENTMSGMSG = uintptr /* winuser.h:608:28 */ 11433 type LPEVENTMSGMSG = uintptr /* winuser.h:608:43 */ 11434 11435 type PEVENTMSG = uintptr /* winuser.h:610:30 */ 11436 type NPEVENTMSG = uintptr /* winuser.h:610:41 */ 11437 type LPEVENTMSG = uintptr /* winuser.h:610:53 */ 11438 11439 type tagCWPSTRUCT = struct { 11440 lParam LPARAM 11441 wParam WPARAM 11442 message UINT 11443 hwnd HWND 11444 } /* winuser.h:612:11 */ 11445 11446 type CWPSTRUCT = tagCWPSTRUCT /* winuser.h:617:5 */ 11447 type PCWPSTRUCT = uintptr /* winuser.h:617:15 */ 11448 type NPCWPSTRUCT = uintptr /* winuser.h:617:27 */ 11449 type LPCWPSTRUCT = uintptr /* winuser.h:617:40 */ 11450 11451 type tagCWPRETSTRUCT = struct { 11452 lResult LRESULT 11453 lParam LPARAM 11454 wParam WPARAM 11455 message UINT 11456 hwnd HWND 11457 } /* winuser.h:619:11 */ 11458 11459 type CWPRETSTRUCT = tagCWPRETSTRUCT /* winuser.h:625:5 */ 11460 type PCWPRETSTRUCT = uintptr /* winuser.h:625:18 */ 11461 type NPCWPRETSTRUCT = uintptr /* winuser.h:625:33 */ 11462 type LPCWPRETSTRUCT = uintptr /* winuser.h:625:49 */ 11463 11464 type tagKBDLLHOOKSTRUCT = struct { 11465 vkCode DWORD 11466 scanCode DWORD 11467 flags DWORD 11468 time DWORD 11469 dwExtraInfo ULONG_PTR 11470 } /* winuser.h:636:11 */ 11471 11472 type KBDLLHOOKSTRUCT = tagKBDLLHOOKSTRUCT /* winuser.h:642:5 */ 11473 type LPKBDLLHOOKSTRUCT = uintptr /* winuser.h:642:21 */ 11474 type PKBDLLHOOKSTRUCT = uintptr /* winuser.h:642:40 */ 11475 11476 type tagMSLLHOOKSTRUCT = struct { 11477 pt POINT 11478 mouseData DWORD 11479 flags DWORD 11480 time DWORD 11481 dwExtraInfo ULONG_PTR 11482 } /* winuser.h:644:11 */ 11483 11484 type MSLLHOOKSTRUCT = tagMSLLHOOKSTRUCT /* winuser.h:650:5 */ 11485 type LPMSLLHOOKSTRUCT = uintptr /* winuser.h:650:20 */ 11486 type PMSLLHOOKSTRUCT = uintptr /* winuser.h:650:38 */ 11487 11488 type tagDEBUGHOOKINFO = struct { 11489 idThread DWORD 11490 idThreadInstaller DWORD 11491 lParam LPARAM 11492 wParam WPARAM 11493 code int32 11494 } /* winuser.h:652:11 */ 11495 11496 type DEBUGHOOKINFO = tagDEBUGHOOKINFO /* winuser.h:658:5 */ 11497 type PDEBUGHOOKINFO = uintptr /* winuser.h:658:19 */ 11498 type NPDEBUGHOOKINFO = uintptr /* winuser.h:658:35 */ 11499 type LPDEBUGHOOKINFO = uintptr /* winuser.h:658:52 */ 11500 11501 type tagMOUSEHOOKSTRUCT = struct { 11502 pt POINT 11503 hwnd HWND 11504 wHitTestCode UINT 11505 dwExtraInfo ULONG_PTR 11506 } /* winuser.h:660:11 */ 11507 11508 type MOUSEHOOKSTRUCT = tagMOUSEHOOKSTRUCT /* winuser.h:665:5 */ 11509 type LPMOUSEHOOKSTRUCT = uintptr /* winuser.h:665:21 */ 11510 type PMOUSEHOOKSTRUCT = uintptr /* winuser.h:665:40 */ 11511 11512 type tagMOUSEHOOKSTRUCTEX = struct { 11513 __unnamed MOUSEHOOKSTRUCT 11514 mouseData DWORD 11515 } /* winuser.h:672:11 */ 11516 11517 type MOUSEHOOKSTRUCTEX = tagMOUSEHOOKSTRUCTEX /* winuser.h:675:5 */ 11518 type LPMOUSEHOOKSTRUCTEX = uintptr /* winuser.h:675:23 */ 11519 type PMOUSEHOOKSTRUCTEX = uintptr /* winuser.h:675:44 */ 11520 11521 type tagHARDWAREHOOKSTRUCT = struct { 11522 hwnd HWND 11523 message UINT 11524 wParam WPARAM 11525 lParam LPARAM 11526 } /* winuser.h:678:11 */ 11527 11528 type HARDWAREHOOKSTRUCT = tagHARDWAREHOOKSTRUCT /* winuser.h:683:5 */ 11529 type LPHARDWAREHOOKSTRUCT = uintptr /* winuser.h:683:24 */ 11530 type PHARDWAREHOOKSTRUCT = uintptr /* winuser.h:683:46 */ 11531 11532 type tagMOUSEMOVEPOINT = struct { 11533 x int32 11534 y int32 11535 time DWORD 11536 dwExtraInfo ULONG_PTR 11537 } /* winuser.h:719:11 */ 11538 11539 type MOUSEMOVEPOINT = tagMOUSEMOVEPOINT /* winuser.h:724:5 */ 11540 type PMOUSEMOVEPOINT = uintptr /* winuser.h:724:20 */ 11541 type LPMOUSEMOVEPOINT = uintptr /* winuser.h:724:37 */ 11542 11543 type tagUSEROBJECTFLAGS = struct { 11544 fInherit WINBOOL 11545 fReserved WINBOOL 11546 dwFlags DWORD 11547 } /* winuser.h:825:11 */ 11548 11549 type USEROBJECTFLAGS = tagUSEROBJECTFLAGS /* winuser.h:829:5 */ 11550 type PUSEROBJECTFLAGS = uintptr /* winuser.h:829:21 */ 11551 11552 type tagWNDCLASSEXA = struct { 11553 cbSize UINT 11554 style UINT 11555 lpfnWndProc WNDPROC 11556 cbClsExtra int32 11557 cbWndExtra int32 11558 hInstance HINSTANCE 11559 hIcon HICON 11560 hCursor HCURSOR 11561 hbrBackground HBRUSH 11562 lpszMenuName LPCSTR 11563 lpszClassName LPCSTR 11564 hIconSm HICON 11565 } /* winuser.h:842:11 */ 11566 11567 type WNDCLASSEXA = tagWNDCLASSEXA /* winuser.h:855:5 */ 11568 type PWNDCLASSEXA = uintptr /* winuser.h:855:17 */ 11569 type NPWNDCLASSEXA = uintptr /* winuser.h:855:31 */ 11570 type LPWNDCLASSEXA = uintptr /* winuser.h:855:46 */ 11571 11572 type tagWNDCLASSEXW = struct { 11573 cbSize UINT 11574 style UINT 11575 lpfnWndProc WNDPROC 11576 cbClsExtra int32 11577 cbWndExtra int32 11578 hInstance HINSTANCE 11579 hIcon HICON 11580 hCursor HCURSOR 11581 hbrBackground HBRUSH 11582 lpszMenuName LPCWSTR 11583 lpszClassName LPCWSTR 11584 hIconSm HICON 11585 } /* winuser.h:857:11 */ 11586 11587 type WNDCLASSEXW = tagWNDCLASSEXW /* winuser.h:870:5 */ 11588 type PWNDCLASSEXW = uintptr /* winuser.h:870:17 */ 11589 type NPWNDCLASSEXW = uintptr /* winuser.h:870:31 */ 11590 type LPWNDCLASSEXW = uintptr /* winuser.h:870:46 */ 11591 11592 type WNDCLASSEX = WNDCLASSEXA /* winuser.h:872:3 */ 11593 type PWNDCLASSEX = PWNDCLASSEXA /* winuser.h:873:3 */ 11594 type NPWNDCLASSEX = NPWNDCLASSEXA /* winuser.h:874:3 */ 11595 type LPWNDCLASSEX = LPWNDCLASSEXA /* winuser.h:875:3 */ 11596 11597 type tagWNDCLASSA = struct { 11598 style UINT 11599 lpfnWndProc WNDPROC 11600 cbClsExtra int32 11601 cbWndExtra int32 11602 hInstance HINSTANCE 11603 hIcon HICON 11604 hCursor HCURSOR 11605 hbrBackground HBRUSH 11606 lpszMenuName LPCSTR 11607 lpszClassName LPCSTR 11608 } /* winuser.h:877:11 */ 11609 11610 type WNDCLASSA = tagWNDCLASSA /* winuser.h:888:5 */ 11611 type PWNDCLASSA = uintptr /* winuser.h:888:15 */ 11612 type NPWNDCLASSA = uintptr /* winuser.h:888:27 */ 11613 type LPWNDCLASSA = uintptr /* winuser.h:888:40 */ 11614 11615 type tagWNDCLASSW = struct { 11616 style UINT 11617 lpfnWndProc WNDPROC 11618 cbClsExtra int32 11619 cbWndExtra int32 11620 hInstance HINSTANCE 11621 hIcon HICON 11622 hCursor HCURSOR 11623 hbrBackground HBRUSH 11624 lpszMenuName LPCWSTR 11625 lpszClassName LPCWSTR 11626 } /* winuser.h:890:11 */ 11627 11628 type WNDCLASSW = tagWNDCLASSW /* winuser.h:901:5 */ 11629 type PWNDCLASSW = uintptr /* winuser.h:901:15 */ 11630 type NPWNDCLASSW = uintptr /* winuser.h:901:27 */ 11631 type LPWNDCLASSW = uintptr /* winuser.h:901:40 */ 11632 11633 type WNDCLASS = WNDCLASSA /* winuser.h:903:3 */ 11634 type PWNDCLASS = PWNDCLASSA /* winuser.h:904:3 */ 11635 type NPWNDCLASS = NPWNDCLASSA /* winuser.h:905:3 */ 11636 type LPWNDCLASS = LPWNDCLASSA /* winuser.h:906:3 */ 11637 11638 type tagMSG = struct { 11639 hwnd HWND 11640 message UINT 11641 wParam WPARAM 11642 lParam LPARAM 11643 time DWORD 11644 pt POINT 11645 } /* winuser.h:914:11 */ 11646 11647 type MSG = tagMSG /* winuser.h:921:5 */ 11648 type PMSG = uintptr /* winuser.h:921:9 */ 11649 type NPMSG = uintptr /* winuser.h:921:15 */ 11650 type LPMSG = uintptr /* winuser.h:921:22 */ 11651 11652 type tagMINMAXINFO = struct { 11653 ptReserved POINT 11654 ptMaxSize POINT 11655 ptMaxPosition POINT 11656 ptMinTrackSize POINT 11657 ptMaxTrackSize POINT 11658 } /* winuser.h:1031:11 */ 11659 11660 type MINMAXINFO = tagMINMAXINFO /* winuser.h:1037:5 */ 11661 type PMINMAXINFO = uintptr /* winuser.h:1037:16 */ 11662 type LPMINMAXINFO = uintptr /* winuser.h:1037:29 */ 11663 11664 type tagCOPYDATASTRUCT = struct { 11665 dwData ULONG_PTR 11666 cbData DWORD 11667 lpData PVOID 11668 } /* winuser.h:1074:11 */ 11669 11670 type COPYDATASTRUCT = tagCOPYDATASTRUCT /* winuser.h:1078:5 */ 11671 type PCOPYDATASTRUCT = uintptr /* winuser.h:1078:20 */ 11672 11673 type tagMDINEXTMENU = struct { 11674 hmenuIn HMENU 11675 hmenuNext HMENU 11676 hwndNext HWND 11677 } /* winuser.h:1080:11 */ 11678 11679 type MDINEXTMENU = tagMDINEXTMENU /* winuser.h:1084:5 */ 11680 type PMDINEXTMENU = uintptr /* winuser.h:1084:17 */ 11681 type LPMDINEXTMENU = uintptr /* winuser.h:1084:31 */ 11682 11683 type POWERBROADCAST_SETTING = struct { 11684 PowerSetting GUID 11685 DataLength DWORD 11686 Data [1]UCHAR 11687 _ [3]byte 11688 } /* winuser.h:1268:5 */ 11689 type PPOWERBROADCAST_SETTING = uintptr /* winuser.h:1268:28 */ 11690 11691 type tagWINDOWPOS = struct { 11692 hwnd HWND 11693 hwndInsertAfter HWND 11694 x int32 11695 y int32 11696 cx int32 11697 cy int32 11698 flags UINT 11699 } /* winuser.h:1462:11 */ 11700 11701 type WINDOWPOS = tagWINDOWPOS /* winuser.h:1470:5 */ 11702 type LPWINDOWPOS = uintptr /* winuser.h:1470:15 */ 11703 type PWINDOWPOS = uintptr /* winuser.h:1470:28 */ 11704 11705 type tagNCCALCSIZE_PARAMS = struct { 11706 rgrc [3]RECT 11707 lppos PWINDOWPOS 11708 } /* winuser.h:1472:11 */ 11709 11710 type NCCALCSIZE_PARAMS = tagNCCALCSIZE_PARAMS /* winuser.h:1475:5 */ 11711 type LPNCCALCSIZE_PARAMS = uintptr /* winuser.h:1475:23 */ 11712 11713 type tagTRACKMOUSEEVENT = struct { 11714 cbSize DWORD 11715 dwFlags DWORD 11716 hwndTrack HWND 11717 dwHoverTime DWORD 11718 } /* winuser.h:1509:11 */ 11719 11720 type TRACKMOUSEEVENT = tagTRACKMOUSEEVENT /* winuser.h:1514:5 */ 11721 type LPTRACKMOUSEEVENT = uintptr /* winuser.h:1514:21 */ 11722 11723 type tagACCEL = struct { 11724 fVirt BYTE 11725 _ [1]byte 11726 key WORD 11727 cmd WORD 11728 } /* winuser.h:1753:11 */ 11729 11730 type ACCEL = tagACCEL /* winuser.h:1757:5 */ 11731 type LPACCEL = uintptr /* winuser.h:1757:11 */ 11732 11733 type tagPAINTSTRUCT = struct { 11734 hdc HDC 11735 fErase WINBOOL 11736 rcPaint RECT 11737 fRestore WINBOOL 11738 fIncUpdate WINBOOL 11739 rgbReserved [32]BYTE 11740 } /* winuser.h:1759:11 */ 11741 11742 type PAINTSTRUCT = tagPAINTSTRUCT /* winuser.h:1766:5 */ 11743 type PPAINTSTRUCT = uintptr /* winuser.h:1766:17 */ 11744 type NPPAINTSTRUCT = uintptr /* winuser.h:1766:31 */ 11745 type LPPAINTSTRUCT = uintptr /* winuser.h:1766:46 */ 11746 11747 type CREATESTRUCTA = tagCREATESTRUCTA /* winuser.h:1781:5 */ 11748 type LPCREATESTRUCTA = uintptr /* winuser.h:1781:19 */ 11749 11750 type CREATESTRUCTW = tagCREATESTRUCTW /* winuser.h:1796:5 */ 11751 type LPCREATESTRUCTW = uintptr /* winuser.h:1796:19 */ 11752 11753 type CREATESTRUCT = CREATESTRUCTA /* winuser.h:1798:3 */ 11754 type LPCREATESTRUCT = LPCREATESTRUCTA /* winuser.h:1799:3 */ 11755 11756 type tagWINDOWPLACEMENT = struct { 11757 length UINT 11758 flags UINT 11759 showCmd UINT 11760 ptMinPosition POINT 11761 ptMaxPosition POINT 11762 rcNormalPosition RECT 11763 } /* winuser.h:1801:11 */ 11764 11765 type WINDOWPLACEMENT = tagWINDOWPLACEMENT /* winuser.h:1808:5 */ 11766 type PWINDOWPLACEMENT = uintptr /* winuser.h:1809:27 */ 11767 type LPWINDOWPLACEMENT = uintptr /* winuser.h:1809:45 */ 11768 11769 type tagNMHDR = struct { 11770 hwndFrom HWND 11771 idFrom UINT_PTR 11772 code UINT 11773 } /* winuser.h:1817:11 */ 11774 11775 type NMHDR = tagNMHDR /* winuser.h:1821:5 */ 11776 11777 type LPNMHDR = uintptr /* winuser.h:1825:17 */ 11778 11779 type tagSTYLESTRUCT = struct { 11780 styleOld DWORD 11781 styleNew DWORD 11782 } /* winuser.h:1827:11 */ 11783 11784 type STYLESTRUCT = tagSTYLESTRUCT /* winuser.h:1830:5 */ 11785 type LPSTYLESTRUCT = uintptr /* winuser.h:1830:17 */ 11786 11787 type tagMEASUREITEMSTRUCT = struct { 11788 CtlType UINT 11789 CtlID UINT 11790 itemID UINT 11791 itemWidth UINT 11792 itemHeight UINT 11793 itemData ULONG_PTR 11794 } /* winuser.h:1856:11 */ 11795 11796 type MEASUREITEMSTRUCT = tagMEASUREITEMSTRUCT /* winuser.h:1863:5 */ 11797 type PMEASUREITEMSTRUCT = uintptr /* winuser.h:1863:23 */ 11798 type LPMEASUREITEMSTRUCT = uintptr /* winuser.h:1863:43 */ 11799 11800 type tagDRAWITEMSTRUCT = struct { 11801 CtlType UINT 11802 CtlID UINT 11803 itemID UINT 11804 itemAction UINT 11805 itemState UINT 11806 hwndItem HWND 11807 hDC HDC 11808 rcItem RECT 11809 itemData ULONG_PTR 11810 } /* winuser.h:1865:11 */ 11811 11812 type DRAWITEMSTRUCT = tagDRAWITEMSTRUCT /* winuser.h:1875:5 */ 11813 type PDRAWITEMSTRUCT = uintptr /* winuser.h:1875:20 */ 11814 type LPDRAWITEMSTRUCT = uintptr /* winuser.h:1875:37 */ 11815 11816 type tagDELETEITEMSTRUCT = struct { 11817 CtlType UINT 11818 CtlID UINT 11819 itemID UINT 11820 hwndItem HWND 11821 itemData ULONG_PTR 11822 } /* winuser.h:1877:11 */ 11823 11824 type DELETEITEMSTRUCT = tagDELETEITEMSTRUCT /* winuser.h:1883:5 */ 11825 type PDELETEITEMSTRUCT = uintptr /* winuser.h:1883:22 */ 11826 type LPDELETEITEMSTRUCT = uintptr /* winuser.h:1883:41 */ 11827 11828 type tagCOMPAREITEMSTRUCT = struct { 11829 CtlType UINT 11830 CtlID UINT 11831 hwndItem HWND 11832 itemID1 UINT 11833 itemData1 ULONG_PTR 11834 itemID2 UINT 11835 itemData2 ULONG_PTR 11836 dwLocaleId DWORD 11837 } /* winuser.h:1885:11 */ 11838 11839 type COMPAREITEMSTRUCT = tagCOMPAREITEMSTRUCT /* winuser.h:1894:5 */ 11840 type PCOMPAREITEMSTRUCT = uintptr /* winuser.h:1894:23 */ 11841 type LPCOMPAREITEMSTRUCT = uintptr /* winuser.h:1894:43 */ 11842 11843 type BSMINFO = struct { 11844 cbSize UINT 11845 hdesk HDESK 11846 hwnd HWND 11847 luid LUID 11848 } /* winuser.h:1997:5 */ 11849 type PBSMINFO = uintptr /* winuser.h:1997:13 */ 11850 11851 type HDEVNOTIFY = PVOID /* winuser.h:2030:17 */ 11852 type PHDEVNOTIFY = uintptr /* winuser.h:2031:22 */ 11853 11854 type HPOWERNOTIFY = HANDLE /* winuser.h:2054:18 */ 11855 type PHPOWERNOTIFY = uintptr /* winuser.h:2055:24 */ 11856 11857 type PREGISTERCLASSNAMEW = uintptr /* winuser.h:2132:19 */ 11858 11859 type tagUPDATELAYEREDWINDOWINFO = struct { 11860 cbSize DWORD 11861 hdcDst HDC 11862 pptDst uintptr 11863 psize uintptr 11864 hdcSrc HDC 11865 pptSrc uintptr 11866 crKey COLORREF 11867 pblend uintptr 11868 dwFlags DWORD 11869 prcDirty uintptr 11870 } /* winuser.h:2155:11 */ 11871 11872 type UPDATELAYEREDWINDOWINFO = tagUPDATELAYEREDWINDOWINFO /* winuser.h:2166:5 */ 11873 type PUPDATELAYEREDWINDOWINFO = uintptr /* winuser.h:2166:29 */ 11874 11875 type FLASHWINFO = struct { 11876 cbSize UINT 11877 hwnd HWND 11878 dwFlags DWORD 11879 uCount UINT 11880 dwTimeout DWORD 11881 } /* winuser.h:2206:5 */ 11882 type PFLASHWINFO = uintptr /* winuser.h:2206:16 */ 11883 11884 // * 11885 // This file has no copyright assigned and is placed in the Public Domain. 11886 // This file is part of the mingw-w64 runtime package. 11887 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 11888 11889 type DLGTEMPLATE = struct { 11890 style DWORD 11891 dwExtendedStyle DWORD 11892 cdit WORD 11893 x int16 11894 y int16 11895 cx int16 11896 cy int16 11897 _ [2]byte 11898 } /* winuser.h:2279:5 */ 11899 11900 type LPDLGTEMPLATEA = uintptr /* winuser.h:2283:23 */ 11901 type LPDLGTEMPLATEW = uintptr /* winuser.h:2284:23 */ 11902 11903 type LPDLGTEMPLATE = LPDLGTEMPLATEA /* winuser.h:2286:3 */ 11904 11905 type LPCDLGTEMPLATEA = uintptr /* winuser.h:2290:29 */ 11906 type LPCDLGTEMPLATEW = uintptr /* winuser.h:2291:29 */ 11907 11908 type LPCDLGTEMPLATE = LPCDLGTEMPLATEA /* winuser.h:2293:3 */ 11909 11910 type DLGITEMTEMPLATE = struct { 11911 style DWORD 11912 dwExtendedStyle DWORD 11913 x int16 11914 y int16 11915 cx int16 11916 cy int16 11917 id WORD 11918 _ [2]byte 11919 } /* winuser.h:2305:5 */ 11920 11921 type PDLGITEMTEMPLATEA = uintptr /* winuser.h:2307:27 */ 11922 type PDLGITEMTEMPLATEW = uintptr /* winuser.h:2308:27 */ 11923 11924 type PDLGITEMTEMPLATE = PDLGITEMTEMPLATEA /* winuser.h:2310:3 */ 11925 11926 type LPDLGITEMTEMPLATEA = uintptr /* winuser.h:2312:27 */ 11927 type LPDLGITEMTEMPLATEW = uintptr /* winuser.h:2313:27 */ 11928 11929 type LPDLGITEMTEMPLATE = LPDLGITEMTEMPLATEA /* winuser.h:2315:3 */ 11930 11931 type tagMOUSEINPUT = struct { 11932 dx LONG 11933 dy LONG 11934 mouseData DWORD 11935 dwFlags DWORD 11936 time DWORD 11937 dwExtraInfo ULONG_PTR 11938 } /* winuser.h:2646:11 */ 11939 11940 type MOUSEINPUT = tagMOUSEINPUT /* winuser.h:2653:5 */ 11941 type PMOUSEINPUT = uintptr /* winuser.h:2653:16 */ 11942 type LPMOUSEINPUT = uintptr /* winuser.h:2653:29 */ 11943 11944 type tagKEYBDINPUT = struct { 11945 wVk WORD 11946 wScan WORD 11947 dwFlags DWORD 11948 time DWORD 11949 dwExtraInfo ULONG_PTR 11950 } /* winuser.h:2655:11 */ 11951 11952 type KEYBDINPUT = tagKEYBDINPUT /* winuser.h:2661:5 */ 11953 type PKEYBDINPUT = uintptr /* winuser.h:2661:16 */ 11954 type LPKEYBDINPUT = uintptr /* winuser.h:2661:29 */ 11955 11956 type tagHARDWAREINPUT = struct { 11957 uMsg DWORD 11958 wParamL WORD 11959 wParamH WORD 11960 } /* winuser.h:2663:11 */ 11961 11962 type HARDWAREINPUT = tagHARDWAREINPUT /* winuser.h:2667:5 */ 11963 type PHARDWAREINPUT = uintptr /* winuser.h:2667:19 */ 11964 type LPHARDWAREINPUT = uintptr /* winuser.h:2667:35 */ 11965 11966 type tagINPUT = struct { 11967 __type DWORD 11968 u struct{ mi MOUSEINPUT } 11969 } /* winuser.h:2669:11 */ 11970 11971 type INPUT = tagINPUT /* winuser.h:2676:5 */ 11972 type PINPUT = uintptr /* winuser.h:2676:11 */ 11973 type LPINPUT = uintptr /* winuser.h:2676:19 */ 11974 11975 type tagLASTINPUTINFO = struct { 11976 cbSize UINT 11977 dwTime DWORD 11978 } /* winuser.h:2830:11 */ 11979 11980 type LASTINPUTINFO = tagLASTINPUTINFO /* winuser.h:2833:5 */ 11981 type PLASTINPUTINFO = uintptr /* winuser.h:2833:19 */ 11982 11983 type tagTPMPARAMS = struct { 11984 cbSize UINT 11985 rcExclude RECT 11986 } /* winuser.h:3152:11 */ 11987 11988 type TPMPARAMS = tagTPMPARAMS /* winuser.h:3155:5 */ 11989 11990 type tagMENUINFO = struct { 11991 cbSize DWORD 11992 fMask DWORD 11993 dwStyle DWORD 11994 cyMax UINT 11995 hbrBack HBRUSH 11996 dwContextHelpID DWORD 11997 dwMenuData ULONG_PTR 11998 } /* winuser.h:3157:11 */ 11999 12000 type MENUINFO = tagMENUINFO /* winuser.h:3165:5 */ 12001 type LPMENUINFO = uintptr /* winuser.h:3165:14 */ 12002 12003 type LPTPMPARAMS = uintptr /* winuser.h:3167:21 */ 12004 type LPCMENUINFO = uintptr /* winuser.h:3168:26 */ 12005 12006 type tagMENUGETOBJECTINFO = struct { 12007 dwFlags DWORD 12008 uPos UINT 12009 hmenu HMENU 12010 riid PVOID 12011 pvObj PVOID 12012 } /* winuser.h:3178:11 */ 12013 12014 type MENUGETOBJECTINFO = tagMENUGETOBJECTINFO /* winuser.h:3184:5 */ 12015 type PMENUGETOBJECTINFO = uintptr /* winuser.h:3184:23 */ 12016 12017 type tagMENUITEMINFOA = struct { 12018 cbSize UINT 12019 fMask UINT 12020 fType UINT 12021 fState UINT 12022 wID UINT 12023 hSubMenu HMENU 12024 hbmpChecked HBITMAP 12025 hbmpUnchecked HBITMAP 12026 dwItemData ULONG_PTR 12027 dwTypeData LPSTR 12028 cch UINT 12029 hbmpItem HBITMAP 12030 } /* winuser.h:3186:11 */ 12031 12032 type MENUITEMINFOA = tagMENUITEMINFOA /* winuser.h:3199:5 */ 12033 type LPMENUITEMINFOA = uintptr /* winuser.h:3199:19 */ 12034 12035 type tagMENUITEMINFOW = struct { 12036 cbSize UINT 12037 fMask UINT 12038 fType UINT 12039 fState UINT 12040 wID UINT 12041 hSubMenu HMENU 12042 hbmpChecked HBITMAP 12043 hbmpUnchecked HBITMAP 12044 dwItemData ULONG_PTR 12045 dwTypeData LPWSTR 12046 cch UINT 12047 hbmpItem HBITMAP 12048 } /* winuser.h:3201:11 */ 12049 12050 type MENUITEMINFOW = tagMENUITEMINFOW /* winuser.h:3214:5 */ 12051 type LPMENUITEMINFOW = uintptr /* winuser.h:3214:19 */ 12052 12053 type MENUITEMINFO = MENUITEMINFOA /* winuser.h:3216:3 */ 12054 type LPMENUITEMINFO = LPMENUITEMINFOA /* winuser.h:3217:3 */ 12055 12056 type LPCMENUITEMINFOA = uintptr /* winuser.h:3219:31 */ 12057 type LPCMENUITEMINFOW = uintptr /* winuser.h:3220:31 */ 12058 12059 type LPCMENUITEMINFO = LPCMENUITEMINFOA /* winuser.h:3222:3 */ 12060 12061 type tagDROPSTRUCT = struct { 12062 hwndSource HWND 12063 hwndSink HWND 12064 wFmt DWORD 12065 dwData ULONG_PTR 12066 ptDrop POINT 12067 dwControlData DWORD 12068 } /* winuser.h:3270:11 */ 12069 12070 type DROPSTRUCT = tagDROPSTRUCT /* winuser.h:3277:5 */ 12071 type PDROPSTRUCT = uintptr /* winuser.h:3277:16 */ 12072 type LPDROPSTRUCT = uintptr /* winuser.h:3277:29 */ 12073 12074 type tagDRAWTEXTPARAMS = struct { 12075 cbSize UINT 12076 iTabLength int32 12077 iLeftMargin int32 12078 iRightMargin int32 12079 uiLengthDrawn UINT 12080 } /* winuser.h:3324:11 */ 12081 12082 type DRAWTEXTPARAMS = tagDRAWTEXTPARAMS /* winuser.h:3330:5 */ 12083 type LPDRAWTEXTPARAMS = uintptr /* winuser.h:3330:20 */ 12084 12085 type tagHELPINFO = struct { 12086 cbSize UINT 12087 iContextType int32 12088 iCtrlId int32 12089 hItemHandle HANDLE 12090 dwContextId DWORD_PTR 12091 MousePos POINT 12092 } /* winuser.h:3507:11 */ 12093 12094 type HELPINFO = tagHELPINFO /* winuser.h:3514:5 */ 12095 type LPHELPINFO = uintptr /* winuser.h:3514:14 */ 12096 12097 type MSGBOXCALLBACK = uintptr /* winuser.h:3571:16 */ 12098 12099 type tagMSGBOXPARAMSA = struct { 12100 cbSize UINT 12101 hwndOwner HWND 12102 hInstance HINSTANCE 12103 lpszText LPCSTR 12104 lpszCaption LPCSTR 12105 dwStyle DWORD 12106 lpszIcon LPCSTR 12107 dwContextHelpId DWORD_PTR 12108 lpfnMsgBoxCallback MSGBOXCALLBACK 12109 dwLanguageId DWORD 12110 } /* winuser.h:3573:11 */ 12111 12112 type MSGBOXPARAMSA = tagMSGBOXPARAMSA /* winuser.h:3584:5 */ 12113 type PMSGBOXPARAMSA = uintptr /* winuser.h:3584:19 */ 12114 type LPMSGBOXPARAMSA = uintptr /* winuser.h:3584:35 */ 12115 12116 type tagMSGBOXPARAMSW = struct { 12117 cbSize UINT 12118 hwndOwner HWND 12119 hInstance HINSTANCE 12120 lpszText LPCWSTR 12121 lpszCaption LPCWSTR 12122 dwStyle DWORD 12123 lpszIcon LPCWSTR 12124 dwContextHelpId DWORD_PTR 12125 lpfnMsgBoxCallback MSGBOXCALLBACK 12126 dwLanguageId DWORD 12127 } /* winuser.h:3586:11 */ 12128 12129 type MSGBOXPARAMSW = tagMSGBOXPARAMSW /* winuser.h:3597:5 */ 12130 type PMSGBOXPARAMSW = uintptr /* winuser.h:3597:19 */ 12131 type LPMSGBOXPARAMSW = uintptr /* winuser.h:3597:35 */ 12132 12133 type MSGBOXPARAMS = MSGBOXPARAMSA /* winuser.h:3599:3 */ 12134 type PMSGBOXPARAMS = PMSGBOXPARAMSA /* winuser.h:3600:3 */ 12135 type LPMSGBOXPARAMS = LPMSGBOXPARAMSA /* winuser.h:3601:3 */ 12136 12137 type MENUITEMTEMPLATEHEADER = struct { 12138 versionNumber WORD 12139 offset WORD 12140 } /* winuser.h:3910:5 */ 12141 type PMENUITEMTEMPLATEHEADER = uintptr /* winuser.h:3910:28 */ 12142 12143 type MENUITEMTEMPLATE = struct { 12144 mtOption WORD 12145 mtID WORD 12146 mtString [1]WCHAR 12147 } /* winuser.h:3916:5 */ 12148 type PMENUITEMTEMPLATE = uintptr /* winuser.h:3916:22 */ 12149 12150 type _ICONINFO = struct { 12151 fIcon WINBOOL 12152 xHotspot DWORD 12153 yHotspot DWORD 12154 hbmMask HBITMAP 12155 hbmColor HBITMAP 12156 } /* winuser.h:3989:11 */ 12157 12158 type ICONINFO = _ICONINFO /* winuser.h:3995:5 */ 12159 type PICONINFO = uintptr /* winuser.h:3996:20 */ 12160 12161 type tagCURSORSHAPE = struct { 12162 xHotSpot int32 12163 yHotSpot int32 12164 cx int32 12165 cy int32 12166 cbWidth int32 12167 Planes BYTE 12168 BitsPixel BYTE 12169 _ [2]byte 12170 } /* winuser.h:4013:11 */ 12171 12172 type CURSORSHAPE = tagCURSORSHAPE /* winuser.h:4021:5 */ 12173 type LPCURSORSHAPE = uintptr /* winuser.h:4021:17 */ 12174 12175 type tagSCROLLINFO = struct { 12176 cbSize UINT 12177 fMask UINT 12178 nMin int32 12179 nMax int32 12180 nPage UINT 12181 nPos int32 12182 nTrackPos int32 12183 } /* winuser.h:4701:11 */ 12184 12185 type SCROLLINFO = tagSCROLLINFO /* winuser.h:4709:5 */ 12186 type LPSCROLLINFO = uintptr /* winuser.h:4709:16 */ 12187 type LPCSCROLLINFO = uintptr /* winuser.h:4710:28 */ 12188 12189 type tagMDICREATESTRUCTA = struct { 12190 szClass LPCSTR 12191 szTitle LPCSTR 12192 hOwner HANDLE 12193 x int32 12194 y int32 12195 cx int32 12196 cy int32 12197 style DWORD 12198 lParam LPARAM 12199 } /* winuser.h:4728:11 */ 12200 12201 type MDICREATESTRUCTA = tagMDICREATESTRUCTA /* winuser.h:4738:5 */ 12202 type LPMDICREATESTRUCTA = uintptr /* winuser.h:4738:22 */ 12203 12204 type tagMDICREATESTRUCTW = struct { 12205 szClass LPCWSTR 12206 szTitle LPCWSTR 12207 hOwner HANDLE 12208 x int32 12209 y int32 12210 cx int32 12211 cy int32 12212 style DWORD 12213 lParam LPARAM 12214 } /* winuser.h:4740:11 */ 12215 12216 type MDICREATESTRUCTW = tagMDICREATESTRUCTW /* winuser.h:4750:5 */ 12217 type LPMDICREATESTRUCTW = uintptr /* winuser.h:4750:22 */ 12218 12219 type MDICREATESTRUCT = MDICREATESTRUCTA /* winuser.h:4752:3 */ 12220 type LPMDICREATESTRUCT = LPMDICREATESTRUCTA /* winuser.h:4753:3 */ 12221 12222 type tagCLIENTCREATESTRUCT = struct { 12223 hWindowMenu HANDLE 12224 idFirstChild UINT 12225 } /* winuser.h:4755:11 */ 12226 12227 type CLIENTCREATESTRUCT = tagCLIENTCREATESTRUCT /* winuser.h:4758:5 */ 12228 type LPCLIENTCREATESTRUCT = uintptr /* winuser.h:4758:24 */ 12229 12230 type HELPPOLY = DWORD /* winuser.h:4784:17 */ 12231 12232 type tagMULTIKEYHELPA = struct { 12233 mkSize DWORD 12234 mkKeylist CHAR 12235 szKeyphrase [1]CHAR 12236 _ [2]byte 12237 } /* winuser.h:4786:11 */ 12238 12239 type MULTIKEYHELPA = tagMULTIKEYHELPA /* winuser.h:4790:5 */ 12240 type PMULTIKEYHELPA = uintptr /* winuser.h:4790:19 */ 12241 type LPMULTIKEYHELPA = uintptr /* winuser.h:4790:35 */ 12242 12243 type tagMULTIKEYHELPW = struct { 12244 mkSize DWORD 12245 mkKeylist WCHAR 12246 szKeyphrase [1]WCHAR 12247 } /* winuser.h:4792:11 */ 12248 12249 type MULTIKEYHELPW = tagMULTIKEYHELPW /* winuser.h:4796:5 */ 12250 type PMULTIKEYHELPW = uintptr /* winuser.h:4796:19 */ 12251 type LPMULTIKEYHELPW = uintptr /* winuser.h:4796:35 */ 12252 12253 type MULTIKEYHELP = MULTIKEYHELPA /* winuser.h:4798:3 */ 12254 type PMULTIKEYHELP = PMULTIKEYHELPA /* winuser.h:4799:3 */ 12255 type LPMULTIKEYHELP = LPMULTIKEYHELPA /* winuser.h:4800:3 */ 12256 12257 type tagHELPWININFOA = struct { 12258 wStructSize int32 12259 x int32 12260 y int32 12261 dx int32 12262 dy int32 12263 wMax int32 12264 rgchMember [2]CHAR 12265 _ [2]byte 12266 } /* winuser.h:4802:11 */ 12267 12268 type HELPWININFOA = tagHELPWININFOA /* winuser.h:4810:5 */ 12269 type PHELPWININFOA = uintptr /* winuser.h:4810:18 */ 12270 type LPHELPWININFOA = uintptr /* winuser.h:4810:33 */ 12271 12272 type tagHELPWININFOW = struct { 12273 wStructSize int32 12274 x int32 12275 y int32 12276 dx int32 12277 dy int32 12278 wMax int32 12279 rgchMember [2]WCHAR 12280 } /* winuser.h:4812:11 */ 12281 12282 type HELPWININFOW = tagHELPWININFOW /* winuser.h:4820:5 */ 12283 type PHELPWININFOW = uintptr /* winuser.h:4820:18 */ 12284 type LPHELPWININFOW = uintptr /* winuser.h:4820:33 */ 12285 12286 type HELPWININFO = HELPWININFOA /* winuser.h:4822:3 */ 12287 type PHELPWININFO = PHELPWININFOA /* winuser.h:4823:3 */ 12288 type LPHELPWININFO = LPHELPWININFOA /* winuser.h:4824:3 */ 12289 12290 type tagNONCLIENTMETRICSA = struct { 12291 cbSize UINT 12292 iBorderWidth int32 12293 iScrollWidth int32 12294 iScrollHeight int32 12295 iCaptionWidth int32 12296 iCaptionHeight int32 12297 lfCaptionFont LOGFONTA 12298 iSmCaptionWidth int32 12299 iSmCaptionHeight int32 12300 lfSmCaptionFont LOGFONTA 12301 iMenuWidth int32 12302 iMenuHeight int32 12303 lfMenuFont LOGFONTA 12304 lfStatusFont LOGFONTA 12305 lfMessageFont LOGFONTA 12306 } /* winuser.h:5183:11 */ 12307 12308 type NONCLIENTMETRICSA = tagNONCLIENTMETRICSA /* winuser.h:5202:5 */ 12309 type PNONCLIENTMETRICSA = uintptr /* winuser.h:5202:23 */ 12310 type LPNONCLIENTMETRICSA = uintptr /* winuser.h:5202:43 */ 12311 12312 type tagNONCLIENTMETRICSW = struct { 12313 cbSize UINT 12314 iBorderWidth int32 12315 iScrollWidth int32 12316 iScrollHeight int32 12317 iCaptionWidth int32 12318 iCaptionHeight int32 12319 lfCaptionFont LOGFONTW 12320 iSmCaptionWidth int32 12321 iSmCaptionHeight int32 12322 lfSmCaptionFont LOGFONTW 12323 iMenuWidth int32 12324 iMenuHeight int32 12325 lfMenuFont LOGFONTW 12326 lfStatusFont LOGFONTW 12327 lfMessageFont LOGFONTW 12328 } /* winuser.h:5204:11 */ 12329 12330 type NONCLIENTMETRICSW = tagNONCLIENTMETRICSW /* winuser.h:5223:5 */ 12331 type PNONCLIENTMETRICSW = uintptr /* winuser.h:5223:23 */ 12332 type LPNONCLIENTMETRICSW = uintptr /* winuser.h:5223:43 */ 12333 12334 type NONCLIENTMETRICS = NONCLIENTMETRICSA /* winuser.h:5225:3 */ 12335 type PNONCLIENTMETRICS = PNONCLIENTMETRICSA /* winuser.h:5226:3 */ 12336 type LPNONCLIENTMETRICS = LPNONCLIENTMETRICSA /* winuser.h:5227:3 */ 12337 12338 type tagMINIMIZEDMETRICS = struct { 12339 cbSize UINT 12340 iWidth int32 12341 iHorzGap int32 12342 iVertGap int32 12343 iArrange int32 12344 } /* winuser.h:5247:11 */ 12345 12346 type MINIMIZEDMETRICS = tagMINIMIZEDMETRICS /* winuser.h:5253:5 */ 12347 type PMINIMIZEDMETRICS = uintptr /* winuser.h:5253:22 */ 12348 type LPMINIMIZEDMETRICS = uintptr /* winuser.h:5253:41 */ 12349 12350 type tagICONMETRICSA = struct { 12351 cbSize UINT 12352 iHorzSpacing int32 12353 iVertSpacing int32 12354 iTitleWrap int32 12355 lfFont LOGFONTA 12356 } /* winuser.h:5257:11 */ 12357 12358 type ICONMETRICSA = tagICONMETRICSA /* winuser.h:5263:5 */ 12359 type PICONMETRICSA = uintptr /* winuser.h:5263:18 */ 12360 type LPICONMETRICSA = uintptr /* winuser.h:5263:33 */ 12361 12362 type tagICONMETRICSW = struct { 12363 cbSize UINT 12364 iHorzSpacing int32 12365 iVertSpacing int32 12366 iTitleWrap int32 12367 lfFont LOGFONTW 12368 } /* winuser.h:5265:11 */ 12369 12370 type ICONMETRICSW = tagICONMETRICSW /* winuser.h:5271:5 */ 12371 type PICONMETRICSW = uintptr /* winuser.h:5271:18 */ 12372 type LPICONMETRICSW = uintptr /* winuser.h:5271:33 */ 12373 12374 type ICONMETRICS = ICONMETRICSA /* winuser.h:5273:3 */ 12375 type PICONMETRICS = PICONMETRICSA /* winuser.h:5274:3 */ 12376 type LPICONMETRICS = LPICONMETRICSA /* winuser.h:5275:3 */ 12377 12378 type tagANIMATIONINFO = struct { 12379 cbSize UINT 12380 iMinAnimate int32 12381 } /* winuser.h:5279:11 */ 12382 12383 type ANIMATIONINFO = tagANIMATIONINFO /* winuser.h:5282:5 */ 12384 type LPANIMATIONINFO = uintptr /* winuser.h:5282:19 */ 12385 12386 type tagSERIALKEYSA = struct { 12387 cbSize UINT 12388 dwFlags DWORD 12389 lpszActivePort LPSTR 12390 lpszPort LPSTR 12391 iBaudRate UINT 12392 iPortState UINT 12393 iActive UINT 12394 } /* winuser.h:5284:11 */ 12395 12396 type SERIALKEYSA = tagSERIALKEYSA /* winuser.h:5292:5 */ 12397 type LPSERIALKEYSA = uintptr /* winuser.h:5292:17 */ 12398 12399 type tagSERIALKEYSW = struct { 12400 cbSize UINT 12401 dwFlags DWORD 12402 lpszActivePort LPWSTR 12403 lpszPort LPWSTR 12404 iBaudRate UINT 12405 iPortState UINT 12406 iActive UINT 12407 } /* winuser.h:5294:11 */ 12408 12409 type SERIALKEYSW = tagSERIALKEYSW /* winuser.h:5302:5 */ 12410 type LPSERIALKEYSW = uintptr /* winuser.h:5302:17 */ 12411 12412 type SERIALKEYS = SERIALKEYSA /* winuser.h:5304:3 */ 12413 type LPSERIALKEYS = LPSERIALKEYSA /* winuser.h:5305:3 */ 12414 12415 type tagHIGHCONTRASTA = struct { 12416 cbSize UINT 12417 dwFlags DWORD 12418 lpszDefaultScheme LPSTR 12419 } /* winuser.h:5307:11 */ 12420 12421 type HIGHCONTRASTA = tagHIGHCONTRASTA /* winuser.h:5311:5 */ 12422 type LPHIGHCONTRASTA = uintptr /* winuser.h:5311:19 */ 12423 12424 type tagHIGHCONTRASTW = struct { 12425 cbSize UINT 12426 dwFlags DWORD 12427 lpszDefaultScheme LPWSTR 12428 } /* winuser.h:5313:11 */ 12429 12430 type HIGHCONTRASTW = tagHIGHCONTRASTW /* winuser.h:5317:5 */ 12431 type LPHIGHCONTRASTW = uintptr /* winuser.h:5317:19 */ 12432 12433 type HIGHCONTRAST = HIGHCONTRASTA /* winuser.h:5319:3 */ 12434 type LPHIGHCONTRAST = LPHIGHCONTRASTA /* winuser.h:5320:3 */ 12435 12436 // * 12437 // This file has no copyright assigned and is placed in the Public Domain. 12438 // This file is part of the mingw-w64 runtime package. 12439 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 12440 12441 // * 12442 // This file is part of the mingw-w64 runtime package. 12443 // No warranty is given; refer to the file DISCLAIMER within this package. 12444 12445 // __declspec(selectany) must be applied to initialized objects on GCC 5 hence must not be used here. 12446 12447 type _VIDEOPARAMETERS = struct { 12448 Guid GUID 12449 dwOffset ULONG 12450 dwCommand ULONG 12451 dwFlags ULONG 12452 dwMode ULONG 12453 dwTVStandard ULONG 12454 dwAvailableModes ULONG 12455 dwAvailableTVStandard ULONG 12456 dwFlickerFilter ULONG 12457 dwOverScanX ULONG 12458 dwOverScanY ULONG 12459 dwMaxUnscaledX ULONG 12460 dwMaxUnscaledY ULONG 12461 dwPositionX ULONG 12462 dwPositionY ULONG 12463 dwBrightness ULONG 12464 dwContrast ULONG 12465 dwCPType ULONG 12466 dwCPCommand ULONG 12467 dwCPStandard ULONG 12468 dwCPKey ULONG 12469 bCP_APSTriggerBits ULONG 12470 bOEMCopyProtection [256]UCHAR 12471 } /* tvout.h:11:9 */ 12472 12473 // * 12474 // This file has no copyright assigned and is placed in the Public Domain. 12475 // This file is part of the mingw-w64 runtime package. 12476 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 12477 12478 // * 12479 // This file is part of the mingw-w64 runtime package. 12480 // No warranty is given; refer to the file DISCLAIMER within this package. 12481 12482 // __declspec(selectany) must be applied to initialized objects on GCC 5 hence must not be used here. 12483 12484 type VIDEOPARAMETERS = _VIDEOPARAMETERS /* tvout.h:35:3 */ 12485 type PVIDEOPARAMETERS = uintptr /* tvout.h:35:19 */ 12486 type LPVIDEOPARAMETERS = uintptr /* tvout.h:35:37 */ 12487 12488 type tagFILTERKEYS = struct { 12489 cbSize UINT 12490 dwFlags DWORD 12491 iWaitMSec DWORD 12492 iDelayMSec DWORD 12493 iRepeatMSec DWORD 12494 iBounceMSec DWORD 12495 } /* winuser.h:5409:11 */ 12496 12497 type FILTERKEYS = tagFILTERKEYS /* winuser.h:5416:5 */ 12498 type LPFILTERKEYS = uintptr /* winuser.h:5416:16 */ 12499 12500 type tagSTICKYKEYS = struct { 12501 cbSize UINT 12502 dwFlags DWORD 12503 } /* winuser.h:5428:11 */ 12504 12505 type STICKYKEYS = tagSTICKYKEYS /* winuser.h:5431:5 */ 12506 type LPSTICKYKEYS = uintptr /* winuser.h:5431:16 */ 12507 12508 type tagMOUSEKEYS = struct { 12509 cbSize UINT 12510 dwFlags DWORD 12511 iMaxSpeed DWORD 12512 iTimeToMaxSpeed DWORD 12513 iCtrlSpeed DWORD 12514 dwReserved1 DWORD 12515 dwReserved2 DWORD 12516 } /* winuser.h:5461:11 */ 12517 12518 type MOUSEKEYS = tagMOUSEKEYS /* winuser.h:5469:5 */ 12519 type LPMOUSEKEYS = uintptr /* winuser.h:5469:15 */ 12520 12521 type tagACCESSTIMEOUT = struct { 12522 cbSize UINT 12523 dwFlags DWORD 12524 iTimeOutMSec DWORD 12525 } /* winuser.h:5487:11 */ 12526 12527 type ACCESSTIMEOUT = tagACCESSTIMEOUT /* winuser.h:5491:5 */ 12528 type LPACCESSTIMEOUT = uintptr /* winuser.h:5491:19 */ 12529 12530 type tagSOUNDSENTRYA = struct { 12531 cbSize UINT 12532 dwFlags DWORD 12533 iFSTextEffect DWORD 12534 iFSTextEffectMSec DWORD 12535 iFSTextEffectColorBits DWORD 12536 iFSGrafEffect DWORD 12537 iFSGrafEffectMSec DWORD 12538 iFSGrafEffectColor DWORD 12539 iWindowsEffect DWORD 12540 iWindowsEffectMSec DWORD 12541 lpszWindowsEffectDLL LPSTR 12542 iWindowsEffectOrdinal DWORD 12543 } /* winuser.h:5512:11 */ 12544 12545 type SOUNDSENTRYA = tagSOUNDSENTRYA /* winuser.h:5525:5 */ 12546 type LPSOUNDSENTRYA = uintptr /* winuser.h:5525:18 */ 12547 12548 type tagSOUNDSENTRYW = struct { 12549 cbSize UINT 12550 dwFlags DWORD 12551 iFSTextEffect DWORD 12552 iFSTextEffectMSec DWORD 12553 iFSTextEffectColorBits DWORD 12554 iFSGrafEffect DWORD 12555 iFSGrafEffectMSec DWORD 12556 iFSGrafEffectColor DWORD 12557 iWindowsEffect DWORD 12558 iWindowsEffectMSec DWORD 12559 lpszWindowsEffectDLL LPWSTR 12560 iWindowsEffectOrdinal DWORD 12561 } /* winuser.h:5527:11 */ 12562 12563 type SOUNDSENTRYW = tagSOUNDSENTRYW /* winuser.h:5540:5 */ 12564 type LPSOUNDSENTRYW = uintptr /* winuser.h:5540:18 */ 12565 12566 type SOUNDSENTRY = SOUNDSENTRYA /* winuser.h:5542:3 */ 12567 type LPSOUNDSENTRY = LPSOUNDSENTRYA /* winuser.h:5543:3 */ 12568 12569 type tagTOGGLEKEYS = struct { 12570 cbSize UINT 12571 dwFlags DWORD 12572 } /* winuser.h:5555:11 */ 12573 12574 type TOGGLEKEYS = tagTOGGLEKEYS /* winuser.h:5558:5 */ 12575 type LPTOGGLEKEYS = uintptr /* winuser.h:5558:16 */ 12576 12577 type tagMONITORINFO = struct { 12578 cbSize DWORD 12579 rcMonitor RECT 12580 rcWork RECT 12581 dwFlags DWORD 12582 } /* winuser.h:5560:11 */ 12583 12584 type MONITORINFO = tagMONITORINFO /* winuser.h:5565:5 */ 12585 type LPMONITORINFO = uintptr /* winuser.h:5565:17 */ 12586 12587 type tagMONITORINFOEXA = struct { 12588 __0 struct { 12589 cbSize DWORD 12590 rcMonitor RECT 12591 rcWork RECT 12592 dwFlags DWORD 12593 } 12594 szDevice [32]CHAR 12595 } /* winuser.h:5587:11 */ 12596 12597 type MONITORINFOEXA = tagMONITORINFOEXA /* winuser.h:5595:5 */ 12598 type LPMONITORINFOEXA = uintptr /* winuser.h:5595:20 */ 12599 12600 type tagMONITORINFOEXW = struct { 12601 __0 struct { 12602 cbSize DWORD 12603 rcMonitor RECT 12604 rcWork RECT 12605 dwFlags DWORD 12606 } 12607 szDevice [32]WCHAR 12608 } /* winuser.h:5597:11 */ 12609 12610 type MONITORINFOEXW = tagMONITORINFOEXW /* winuser.h:5605:5 */ 12611 type LPMONITORINFOEXW = uintptr /* winuser.h:5605:20 */ 12612 12613 type MONITORINFOEX = MONITORINFOEXA /* winuser.h:5607:3 */ 12614 type LPMONITORINFOEX = LPMONITORINFOEXA /* winuser.h:5608:3 */ 12615 12616 type MONITORENUMPROC = uintptr /* winuser.h:5611:19 */ 12617 12618 type WINEVENTPROC = uintptr /* winuser.h:5653:16 */ 12619 12620 type tagGUITHREADINFO = struct { 12621 cbSize DWORD 12622 flags DWORD 12623 hwndActive HWND 12624 hwndFocus HWND 12625 hwndCapture HWND 12626 hwndMenuOwner HWND 12627 hwndMoveSize HWND 12628 hwndCaret HWND 12629 rcCaret RECT 12630 } /* winuser.h:5830:11 */ 12631 12632 type GUITHREADINFO = tagGUITHREADINFO /* winuser.h:5840:5 */ 12633 type PGUITHREADINFO = uintptr /* winuser.h:5840:19 */ 12634 type LPGUITHREADINFO = uintptr /* winuser.h:5840:35 */ 12635 12636 type tagCURSORINFO = struct { 12637 cbSize DWORD 12638 flags DWORD 12639 hCursor HCURSOR 12640 ptScreenPos POINT 12641 } /* winuser.h:5908:11 */ 12642 12643 type CURSORINFO = tagCURSORINFO /* winuser.h:5913:5 */ 12644 type PCURSORINFO = uintptr /* winuser.h:5913:16 */ 12645 type LPCURSORINFO = uintptr /* winuser.h:5913:29 */ 12646 12647 type tagWINDOWINFO = struct { 12648 cbSize DWORD 12649 rcWindow RECT 12650 rcClient RECT 12651 dwStyle DWORD 12652 dwExStyle DWORD 12653 dwWindowStatus DWORD 12654 cxWindowBorders UINT 12655 cyWindowBorders UINT 12656 atomWindowType ATOM 12657 wCreatorVersion WORD 12658 } /* winuser.h:5922:11 */ 12659 12660 type WINDOWINFO = tagWINDOWINFO /* winuser.h:5933:5 */ 12661 type PWINDOWINFO = uintptr /* winuser.h:5933:16 */ 12662 type LPWINDOWINFO = uintptr /* winuser.h:5933:29 */ 12663 12664 type tagTITLEBARINFO = struct { 12665 cbSize DWORD 12666 rcTitleBar RECT 12667 rgstate [6]DWORD 12668 } /* winuser.h:5939:11 */ 12669 12670 type TITLEBARINFO = tagTITLEBARINFO /* winuser.h:5943:5 */ 12671 type PTITLEBARINFO = uintptr /* winuser.h:5943:18 */ 12672 type LPTITLEBARINFO = uintptr /* winuser.h:5943:33 */ 12673 12674 type tagMENUBARINFO = struct { 12675 cbSize DWORD 12676 rcBar RECT 12677 hMenu HMENU 12678 hwndMenu HWND 12679 fBarFocused uint8 /* WINBOOL fBarFocused: 1, WINBOOL fFocused: 1 */ 12680 _ [3]byte 12681 } /* winuser.h:5956:11 */ 12682 12683 type MENUBARINFO = tagMENUBARINFO /* winuser.h:5963:5 */ 12684 type PMENUBARINFO = uintptr /* winuser.h:5963:17 */ 12685 type LPMENUBARINFO = uintptr /* winuser.h:5963:31 */ 12686 12687 type tagSCROLLBARINFO = struct { 12688 cbSize DWORD 12689 rcScrollBar RECT 12690 dxyLineButton int32 12691 xyThumbTop int32 12692 xyThumbBottom int32 12693 reserved int32 12694 rgstate [6]DWORD 12695 } /* winuser.h:5967:11 */ 12696 12697 type SCROLLBARINFO = tagSCROLLBARINFO /* winuser.h:5975:5 */ 12698 type PSCROLLBARINFO = uintptr /* winuser.h:5975:19 */ 12699 type LPSCROLLBARINFO = uintptr /* winuser.h:5975:35 */ 12700 12701 type tagCOMBOBOXINFO = struct { 12702 cbSize DWORD 12703 rcItem RECT 12704 rcButton RECT 12705 stateButton DWORD 12706 hwndCombo HWND 12707 hwndItem HWND 12708 hwndList HWND 12709 } /* winuser.h:5979:11 */ 12710 12711 type COMBOBOXINFO = tagCOMBOBOXINFO /* winuser.h:5987:5 */ 12712 type PCOMBOBOXINFO = uintptr /* winuser.h:5987:18 */ 12713 type LPCOMBOBOXINFO = uintptr /* winuser.h:5987:33 */ 12714 12715 type tagALTTABINFO = struct { 12716 cbSize DWORD 12717 cItems int32 12718 cColumns int32 12719 cRows int32 12720 iColFocus int32 12721 iRowFocus int32 12722 cxItem int32 12723 cyItem int32 12724 ptStart POINT 12725 } /* winuser.h:6004:11 */ 12726 12727 type ALTTABINFO = tagALTTABINFO /* winuser.h:6014:5 */ 12728 type PALTTABINFO = uintptr /* winuser.h:6014:16 */ 12729 type LPALTTABINFO = uintptr /* winuser.h:6014:29 */ 12730 12731 type HRAWINPUT__ = struct{ unused int32 } /* winuser.h:6028:3 */ 12732 12733 type HRAWINPUT = uintptr /* winuser.h:6028:3 */ 12734 12735 type tagRAWINPUTHEADER = struct { 12736 dwType DWORD 12737 dwSize DWORD 12738 hDevice HANDLE 12739 wParam WPARAM 12740 } /* winuser.h:6037:11 */ 12741 12742 type RAWINPUTHEADER = tagRAWINPUTHEADER /* winuser.h:6042:5 */ 12743 type PRAWINPUTHEADER = uintptr /* winuser.h:6042:20 */ 12744 type LPRAWINPUTHEADER = uintptr /* winuser.h:6042:37 */ 12745 12746 type tagRAWMOUSE = struct { 12747 usFlags USHORT 12748 _ [2]byte 12749 __4 struct{ ulButtons ULONG } 12750 ulRawButtons ULONG 12751 lLastX LONG 12752 lLastY LONG 12753 ulExtraInformation ULONG 12754 } /* winuser.h:6050:11 */ 12755 12756 type RAWMOUSE = tagRAWMOUSE /* winuser.h:6063:5 */ 12757 type PRAWMOUSE = uintptr /* winuser.h:6063:14 */ 12758 type LPRAWMOUSE = uintptr /* winuser.h:6063:25 */ 12759 12760 type tagRAWKEYBOARD = struct { 12761 MakeCode USHORT 12762 Flags USHORT 12763 Reserved USHORT 12764 VKey USHORT 12765 Message UINT 12766 ExtraInformation ULONG 12767 } /* winuser.h:6094:11 */ 12768 12769 type RAWKEYBOARD = tagRAWKEYBOARD /* winuser.h:6101:5 */ 12770 type PRAWKEYBOARD = uintptr /* winuser.h:6101:17 */ 12771 type LPRAWKEYBOARD = uintptr /* winuser.h:6101:31 */ 12772 12773 type tagRAWHID = struct { 12774 dwSizeHid DWORD 12775 dwCount DWORD 12776 bRawData [1]BYTE 12777 _ [3]byte 12778 } /* winuser.h:6114:11 */ 12779 12780 type RAWHID = tagRAWHID /* winuser.h:6118:5 */ 12781 type PRAWHID = uintptr /* winuser.h:6118:12 */ 12782 type LPRAWHID = uintptr /* winuser.h:6118:21 */ 12783 12784 type tagRAWINPUT = struct { 12785 header RAWINPUTHEADER 12786 data struct{ mouse RAWMOUSE } 12787 } /* winuser.h:6120:11 */ 12788 12789 type RAWINPUT = tagRAWINPUT /* winuser.h:6127:5 */ 12790 type PRAWINPUT = uintptr /* winuser.h:6127:14 */ 12791 type LPRAWINPUT = uintptr /* winuser.h:6127:25 */ 12792 12793 type tagRID_DEVICE_INFO_MOUSE = struct { 12794 dwId DWORD 12795 dwNumberOfButtons DWORD 12796 dwSampleRate DWORD 12797 fHasHorizontalWheel WINBOOL 12798 } /* winuser.h:6150:11 */ 12799 12800 type RID_DEVICE_INFO_MOUSE = tagRID_DEVICE_INFO_MOUSE /* winuser.h:6155:5 */ 12801 type PRID_DEVICE_INFO_MOUSE = uintptr /* winuser.h:6155:27 */ 12802 12803 type tagRID_DEVICE_INFO_KEYBOARD = struct { 12804 dwType DWORD 12805 dwSubType DWORD 12806 dwKeyboardMode DWORD 12807 dwNumberOfFunctionKeys DWORD 12808 dwNumberOfIndicators DWORD 12809 dwNumberOfKeysTotal DWORD 12810 } /* winuser.h:6157:11 */ 12811 12812 type RID_DEVICE_INFO_KEYBOARD = tagRID_DEVICE_INFO_KEYBOARD /* winuser.h:6164:5 */ 12813 type PRID_DEVICE_INFO_KEYBOARD = uintptr /* winuser.h:6164:30 */ 12814 12815 type tagRID_DEVICE_INFO_HID = struct { 12816 dwVendorId DWORD 12817 dwProductId DWORD 12818 dwVersionNumber DWORD 12819 usUsagePage USHORT 12820 usUsage USHORT 12821 } /* winuser.h:6166:11 */ 12822 12823 type RID_DEVICE_INFO_HID = tagRID_DEVICE_INFO_HID /* winuser.h:6172:5 */ 12824 type PRID_DEVICE_INFO_HID = uintptr /* winuser.h:6172:25 */ 12825 12826 type tagRID_DEVICE_INFO = struct { 12827 cbSize DWORD 12828 dwType DWORD 12829 u struct { 12830 mouse RID_DEVICE_INFO_MOUSE 12831 _ [8]byte 12832 } 12833 } /* winuser.h:6174:11 */ 12834 12835 type RID_DEVICE_INFO = tagRID_DEVICE_INFO /* winuser.h:6182:5 */ 12836 type PRID_DEVICE_INFO = uintptr /* winuser.h:6182:21 */ 12837 type LPRID_DEVICE_INFO = uintptr /* winuser.h:6182:39 */ 12838 12839 type tagRAWINPUTDEVICE = struct { 12840 usUsagePage USHORT 12841 usUsage USHORT 12842 dwFlags DWORD 12843 hwndTarget HWND 12844 } /* winuser.h:6190:11 */ 12845 12846 type RAWINPUTDEVICE = tagRAWINPUTDEVICE /* winuser.h:6195:5 */ 12847 type PRAWINPUTDEVICE = uintptr /* winuser.h:6195:20 */ 12848 type LPRAWINPUTDEVICE = uintptr /* winuser.h:6195:37 */ 12849 12850 type PCRAWINPUTDEVICE = uintptr /* winuser.h:6197:32 */ 12851 12852 type tagRAWINPUTDEVICELIST = struct { 12853 hDevice HANDLE 12854 dwType DWORD 12855 } /* winuser.h:6224:11 */ 12856 12857 type RAWINPUTDEVICELIST = tagRAWINPUTDEVICELIST /* winuser.h:6227:5 */ 12858 type PRAWINPUTDEVICELIST = uintptr /* winuser.h:6227:24 */ 12859 12860 // * 12861 // This file is part of the mingw-w64 runtime package. 12862 // No warranty is given; refer to the file DISCLAIMER within this package. 12863 12864 type LGRPID = DWORD /* winnls.h:644:17 */ 12865 type LCTYPE = DWORD /* winnls.h:645:17 */ 12866 type CALTYPE = DWORD /* winnls.h:646:17 */ 12867 type CALID = DWORD /* winnls.h:647:17 */ 12868 12869 type _cpinfo = struct { 12870 MaxCharSize UINT 12871 DefaultChar [2]BYTE 12872 LeadByte [12]BYTE 12873 _ [2]byte 12874 } /* winnls.h:649:11 */ 12875 12876 type CPINFO = _cpinfo /* winnls.h:653:5 */ 12877 type LPCPINFO = uintptr /* winnls.h:653:12 */ 12878 type _cpinfoexA = struct { 12879 MaxCharSize UINT 12880 DefaultChar [2]BYTE 12881 LeadByte [12]BYTE 12882 UnicodeDefaultChar WCHAR 12883 CodePage UINT 12884 CodePageName [260]CHAR 12885 } /* winnls.h:654:11 */ 12886 12887 type CPINFOEXA = _cpinfoexA /* winnls.h:661:5 */ 12888 type LPCPINFOEXA = uintptr /* winnls.h:661:15 */ 12889 12890 type _cpinfoexW = struct { 12891 MaxCharSize UINT 12892 DefaultChar [2]BYTE 12893 LeadByte [12]BYTE 12894 UnicodeDefaultChar WCHAR 12895 CodePage UINT 12896 CodePageName [260]WCHAR 12897 } /* winnls.h:663:11 */ 12898 12899 type CPINFOEXW = _cpinfoexW /* winnls.h:670:5 */ 12900 type LPCPINFOEXW = uintptr /* winnls.h:670:15 */ 12901 12902 type CPINFOEX = CPINFOEXA /* winnls.h:672:3 */ 12903 type LPCPINFOEX = LPCPINFOEXA /* winnls.h:673:3 */ 12904 12905 type _numberfmtA = struct { 12906 NumDigits UINT 12907 LeadingZero UINT 12908 Grouping UINT 12909 lpDecimalSep LPSTR 12910 lpThousandSep LPSTR 12911 NegativeOrder UINT 12912 } /* winnls.h:675:11 */ 12913 12914 type NUMBERFMTA = _numberfmtA /* winnls.h:682:5 */ 12915 type LPNUMBERFMTA = uintptr /* winnls.h:682:16 */ 12916 type _numberfmtW = struct { 12917 NumDigits UINT 12918 LeadingZero UINT 12919 Grouping UINT 12920 lpDecimalSep LPWSTR 12921 lpThousandSep LPWSTR 12922 NegativeOrder UINT 12923 } /* winnls.h:683:11 */ 12924 12925 type NUMBERFMTW = _numberfmtW /* winnls.h:690:5 */ 12926 type LPNUMBERFMTW = uintptr /* winnls.h:690:16 */ 12927 12928 type NUMBERFMT = NUMBERFMTA /* winnls.h:692:3 */ 12929 type LPNUMBERFMT = LPNUMBERFMTA /* winnls.h:693:3 */ 12930 12931 type _currencyfmtA = struct { 12932 NumDigits UINT 12933 LeadingZero UINT 12934 Grouping UINT 12935 lpDecimalSep LPSTR 12936 lpThousandSep LPSTR 12937 NegativeOrder UINT 12938 PositiveOrder UINT 12939 lpCurrencySymbol LPSTR 12940 } /* winnls.h:695:11 */ 12941 12942 type CURRENCYFMTA = _currencyfmtA /* winnls.h:704:5 */ 12943 type LPCURRENCYFMTA = uintptr /* winnls.h:704:18 */ 12944 12945 type _currencyfmtW = struct { 12946 NumDigits UINT 12947 LeadingZero UINT 12948 Grouping UINT 12949 lpDecimalSep LPWSTR 12950 lpThousandSep LPWSTR 12951 NegativeOrder UINT 12952 PositiveOrder UINT 12953 lpCurrencySymbol LPWSTR 12954 } /* winnls.h:706:11 */ 12955 12956 type CURRENCYFMTW = _currencyfmtW /* winnls.h:715:5 */ 12957 type LPCURRENCYFMTW = uintptr /* winnls.h:715:18 */ 12958 12959 type CURRENCYFMT = CURRENCYFMTA /* winnls.h:717:3 */ 12960 type LPCURRENCYFMT = LPCURRENCYFMTA /* winnls.h:718:3 */ 12961 12962 type NLS_FUNCTION = DWORD /* winnls.h:724:17 */ 12963 12964 type _nlsversioninfo = struct { 12965 dwNLSVersionInfoSize DWORD 12966 dwNLSVersion DWORD 12967 dwDefinedVersion DWORD 12968 } /* winnls.h:735:11 */ 12969 12970 type NLSVERSIONINFO = _nlsversioninfo /* winnls.h:739:5 */ 12971 type LPNLSVERSIONINFO = uintptr /* winnls.h:739:20 */ 12972 12973 type _nlsversioninfoex = struct { 12974 dwNLSVersionInfoSize DWORD 12975 dwNLSVersion DWORD 12976 dwDefinedVersion DWORD 12977 dwEffectiveId DWORD 12978 guidCustomVersion GUID 12979 } /* winnls.h:742:11 */ 12980 12981 type NLSVERSIONINFOEX = _nlsversioninfoex /* winnls.h:748:5 */ 12982 type LPNLSVERSIONINFOEX = uintptr /* winnls.h:748:22 */ 12983 12984 type GEOID = LONG /* winnls.h:750:16 */ 12985 type GEOTYPE = DWORD /* winnls.h:751:17 */ 12986 type GEOCLASS = DWORD /* winnls.h:752:17 */ 12987 12988 type LANGUAGEGROUP_ENUMPROCA = uintptr /* winnls.h:798:19 */ 12989 type LANGGROUPLOCALE_ENUMPROCA = uintptr /* winnls.h:799:19 */ 12990 type UILANGUAGE_ENUMPROCA = uintptr /* winnls.h:800:19 */ 12991 type CODEPAGE_ENUMPROCA = uintptr /* winnls.h:801:19 */ 12992 type DATEFMT_ENUMPROCA = uintptr /* winnls.h:802:19 */ 12993 type DATEFMT_ENUMPROCEXA = uintptr /* winnls.h:803:19 */ 12994 type TIMEFMT_ENUMPROCA = uintptr /* winnls.h:804:19 */ 12995 type CALINFO_ENUMPROCA = uintptr /* winnls.h:805:19 */ 12996 type CALINFO_ENUMPROCEXA = uintptr /* winnls.h:806:19 */ 12997 type LOCALE_ENUMPROCA = uintptr /* winnls.h:807:19 */ 12998 type LOCALE_ENUMPROCW = uintptr /* winnls.h:808:19 */ 12999 type LANGUAGEGROUP_ENUMPROCW = uintptr /* winnls.h:809:19 */ 13000 type LANGGROUPLOCALE_ENUMPROCW = uintptr /* winnls.h:810:19 */ 13001 type UILANGUAGE_ENUMPROCW = uintptr /* winnls.h:811:19 */ 13002 type CODEPAGE_ENUMPROCW = uintptr /* winnls.h:812:19 */ 13003 type DATEFMT_ENUMPROCW = uintptr /* winnls.h:813:19 */ 13004 type DATEFMT_ENUMPROCEXW = uintptr /* winnls.h:814:19 */ 13005 type TIMEFMT_ENUMPROCW = uintptr /* winnls.h:815:19 */ 13006 type CALINFO_ENUMPROCW = uintptr /* winnls.h:816:19 */ 13007 type CALINFO_ENUMPROCEXW = uintptr /* winnls.h:817:19 */ 13008 type GEO_ENUMPROC = uintptr /* winnls.h:818:19 */ 13009 13010 type _FILEMUIINFO = struct { 13011 dwSize DWORD 13012 dwVersion DWORD 13013 dwFileType DWORD 13014 pChecksum [16]BYTE 13015 pServiceChecksum [16]BYTE 13016 dwLanguageNameOffset DWORD 13017 dwTypeIDMainSize DWORD 13018 dwTypeIDMainOffset DWORD 13019 dwTypeNameMainOffset DWORD 13020 dwTypeIDMUISize DWORD 13021 dwTypeIDMUIOffset DWORD 13022 dwTypeNameMUIOffset DWORD 13023 abBuffer [8]BYTE 13024 } /* winnls.h:869:11 */ 13025 13026 type FILEMUIINFO = _FILEMUIINFO /* winnls.h:883:5 */ 13027 type PFILEMUIINFO = uintptr /* winnls.h:883:17 */ 13028 13029 // * 13030 // This file has no copyright assigned and is placed in the Public Domain. 13031 // This file is part of the mingw-w64 runtime package. 13032 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13033 13034 // * 13035 // This file has no copyright assigned and is placed in the Public Domain. 13036 // This file is part of the mingw-w64 runtime package. 13037 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13038 13039 // * 13040 // This file is part of the mingw-w64 runtime package. 13041 // No warranty is given; refer to the file DISCLAIMER within this package. 13042 13043 type _COORD = struct { 13044 X SHORT 13045 Y SHORT 13046 } /* wincon.h:17:11 */ 13047 13048 // * 13049 // This file has no copyright assigned and is placed in the Public Domain. 13050 // This file is part of the mingw-w64 runtime package. 13051 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13052 13053 // * 13054 // This file has no copyright assigned and is placed in the Public Domain. 13055 // This file is part of the mingw-w64 runtime package. 13056 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13057 13058 // * 13059 // This file is part of the mingw-w64 runtime package. 13060 // No warranty is given; refer to the file DISCLAIMER within this package. 13061 13062 type COORD = _COORD /* wincon.h:20:5 */ 13063 type PCOORD = uintptr /* wincon.h:20:11 */ 13064 13065 type _SMALL_RECT = struct { 13066 Left SHORT 13067 Top SHORT 13068 Right SHORT 13069 Bottom SHORT 13070 } /* wincon.h:22:11 */ 13071 13072 type SMALL_RECT = _SMALL_RECT /* wincon.h:27:5 */ 13073 type PSMALL_RECT = uintptr /* wincon.h:27:16 */ 13074 13075 type _KEY_EVENT_RECORD = struct { 13076 bKeyDown WINBOOL 13077 wRepeatCount WORD 13078 wVirtualKeyCode WORD 13079 wVirtualScanCode WORD 13080 uChar struct{ UnicodeChar WCHAR } 13081 dwControlKeyState DWORD 13082 } /* wincon.h:29:11 */ 13083 13084 type KEY_EVENT_RECORD = _KEY_EVENT_RECORD /* wincon.h:39:5 */ 13085 type PKEY_EVENT_RECORD = uintptr /* wincon.h:39:22 */ 13086 13087 type _MOUSE_EVENT_RECORD = struct { 13088 dwMousePosition COORD 13089 dwButtonState DWORD 13090 dwControlKeyState DWORD 13091 dwEventFlags DWORD 13092 } /* wincon.h:58:11 */ 13093 13094 type MOUSE_EVENT_RECORD = _MOUSE_EVENT_RECORD /* wincon.h:63:5 */ 13095 type PMOUSE_EVENT_RECORD = uintptr /* wincon.h:63:24 */ 13096 13097 type _WINDOW_BUFFER_SIZE_RECORD = struct{ dwSize COORD } /* wincon.h:78:11 */ 13098 13099 type WINDOW_BUFFER_SIZE_RECORD = _WINDOW_BUFFER_SIZE_RECORD /* wincon.h:80:5 */ 13100 type PWINDOW_BUFFER_SIZE_RECORD = uintptr /* wincon.h:80:31 */ 13101 13102 type _MENU_EVENT_RECORD = struct{ dwCommandId UINT } /* wincon.h:82:11 */ 13103 13104 type MENU_EVENT_RECORD = _MENU_EVENT_RECORD /* wincon.h:84:5 */ 13105 type PMENU_EVENT_RECORD = uintptr /* wincon.h:84:23 */ 13106 13107 type _FOCUS_EVENT_RECORD = struct{ bSetFocus WINBOOL } /* wincon.h:86:11 */ 13108 13109 type FOCUS_EVENT_RECORD = _FOCUS_EVENT_RECORD /* wincon.h:88:5 */ 13110 type PFOCUS_EVENT_RECORD = uintptr /* wincon.h:88:24 */ 13111 13112 type _INPUT_RECORD = struct { 13113 EventType WORD 13114 _ [2]byte 13115 Event struct{ KeyEvent KEY_EVENT_RECORD } 13116 } /* wincon.h:90:11 */ 13117 13118 type INPUT_RECORD = _INPUT_RECORD /* wincon.h:99:5 */ 13119 type PINPUT_RECORD = uintptr /* wincon.h:99:18 */ 13120 13121 type _CHAR_INFO = struct { 13122 Char struct{ UnicodeChar WCHAR } 13123 Attributes WORD 13124 } /* wincon.h:107:11 */ 13125 13126 type CHAR_INFO = _CHAR_INFO /* wincon.h:113:5 */ 13127 type PCHAR_INFO = uintptr /* wincon.h:113:15 */ 13128 13129 type _CONSOLE_SCREEN_BUFFER_INFO = struct { 13130 dwSize COORD 13131 dwCursorPosition COORD 13132 wAttributes WORD 13133 srWindow SMALL_RECT 13134 dwMaximumWindowSize COORD 13135 } /* wincon.h:133:11 */ 13136 13137 type CONSOLE_SCREEN_BUFFER_INFO = _CONSOLE_SCREEN_BUFFER_INFO /* wincon.h:139:5 */ 13138 type PCONSOLE_SCREEN_BUFFER_INFO = uintptr /* wincon.h:139:32 */ 13139 13140 type _CONSOLE_CURSOR_INFO = struct { 13141 dwSize DWORD 13142 bVisible WINBOOL 13143 } /* wincon.h:141:11 */ 13144 13145 type CONSOLE_CURSOR_INFO = _CONSOLE_CURSOR_INFO /* wincon.h:144:5 */ 13146 type PCONSOLE_CURSOR_INFO = uintptr /* wincon.h:144:25 */ 13147 13148 type _CONSOLE_FONT_INFO = struct { 13149 nFont DWORD 13150 dwFontSize COORD 13151 } /* wincon.h:146:11 */ 13152 13153 type CONSOLE_FONT_INFO = _CONSOLE_FONT_INFO /* wincon.h:149:5 */ 13154 type PCONSOLE_FONT_INFO = uintptr /* wincon.h:149:23 */ 13155 13156 type _CONSOLE_SELECTION_INFO = struct { 13157 dwFlags DWORD 13158 dwSelectionAnchor COORD 13159 srSelection SMALL_RECT 13160 } /* wincon.h:151:11 */ 13161 13162 type CONSOLE_SELECTION_INFO = _CONSOLE_SELECTION_INFO /* wincon.h:155:5 */ 13163 type PCONSOLE_SELECTION_INFO = uintptr /* wincon.h:155:28 */ 13164 13165 type PHANDLER_ROUTINE = uintptr /* wincon.h:163:19 */ 13166 13167 type _CONSOLE_FONT_INFOEX = struct { 13168 cbSize ULONG 13169 nFont DWORD 13170 dwFontSize COORD 13171 FontFamily UINT 13172 FontWeight UINT 13173 FaceName [32]WCHAR 13174 } /* wincon.h:297:9 */ 13175 13176 type CONSOLE_FONT_INFOEX = _CONSOLE_FONT_INFOEX /* wincon.h:304:3 */ 13177 type PCONSOLE_FONT_INFOEX = uintptr /* wincon.h:304:24 */ 13178 13179 type _CONSOLE_HISTORY_INFO = struct { 13180 cbSize UINT 13181 HistoryBufferSize UINT 13182 NumberOfHistoryBuffers UINT 13183 dwFlags DWORD 13184 } /* wincon.h:306:9 */ 13185 13186 type CONSOLE_HISTORY_INFO = _CONSOLE_HISTORY_INFO /* wincon.h:311:3 */ 13187 type PCONSOLE_HISTORY_INFO = uintptr /* wincon.h:311:25 */ 13188 13189 type _CONSOLE_READCONSOLE_CONTROL = struct { 13190 nLength ULONG 13191 nInitialChars ULONG 13192 dwCtrlWakeupMask ULONG 13193 dwControlKeyState ULONG 13194 } /* wincon.h:313:9 */ 13195 13196 type CONSOLE_READCONSOLE_CONTROL = _CONSOLE_READCONSOLE_CONTROL /* wincon.h:318:3 */ 13197 type PCONSOLE_READCONSOLE_CONTROL = uintptr /* wincon.h:318:32 */ 13198 13199 type _CONSOLE_SCREEN_BUFFER_INFOEX = struct { 13200 cbSize ULONG 13201 dwSize COORD 13202 dwCursorPosition COORD 13203 wAttributes WORD 13204 srWindow SMALL_RECT 13205 dwMaximumWindowSize COORD 13206 wPopupAttributes WORD 13207 bFullscreenSupported WINBOOL 13208 ColorTable [16]COLORREF 13209 } /* wincon.h:320:9 */ 13210 13211 type CONSOLE_SCREEN_BUFFER_INFOEX = _CONSOLE_SCREEN_BUFFER_INFOEX /* wincon.h:330:3 */ 13212 type PCONSOLE_SCREEN_BUFFER_INFOEX = uintptr /* wincon.h:330:33 */ 13213 13214 // * 13215 // This file has no copyright assigned and is placed in the Public Domain. 13216 // This file is part of the mingw-w64 runtime package. 13217 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13218 13219 // * 13220 // This file has no copyright assigned and is placed in the Public Domain. 13221 // This file is part of the mingw-w64 runtime package. 13222 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13223 13224 // * 13225 // This file has no copyright assigned and is placed in the Public Domain. 13226 // This file is part of the mingw-w64 runtime package. 13227 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13228 13229 type tagVS_FIXEDFILEINFO = struct { 13230 dwSignature DWORD 13231 dwStrucVersion DWORD 13232 dwFileVersionMS DWORD 13233 dwFileVersionLS DWORD 13234 dwProductVersionMS DWORD 13235 dwProductVersionLS DWORD 13236 dwFileFlagsMask DWORD 13237 dwFileFlags DWORD 13238 dwFileOS DWORD 13239 dwFileType DWORD 13240 dwFileSubtype DWORD 13241 dwFileDateMS DWORD 13242 dwFileDateLS DWORD 13243 } /* winver.h:113:11 */ 13244 13245 // * 13246 // This file has no copyright assigned and is placed in the Public Domain. 13247 // This file is part of the mingw-w64 runtime package. 13248 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13249 13250 // * 13251 // This file has no copyright assigned and is placed in the Public Domain. 13252 // This file is part of the mingw-w64 runtime package. 13253 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13254 13255 // * 13256 // This file has no copyright assigned and is placed in the Public Domain. 13257 // This file is part of the mingw-w64 runtime package. 13258 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13259 13260 type VS_FIXEDFILEINFO = tagVS_FIXEDFILEINFO /* winver.h:128:5 */ 13261 13262 // * 13263 // This file has no copyright assigned and is placed in the Public Domain. 13264 // This file is part of the mingw-w64 runtime package. 13265 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13266 13267 // * 13268 // This file has no copyright assigned and is placed in the Public Domain. 13269 // This file is part of the mingw-w64 runtime package. 13270 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13271 13272 // * 13273 // This file is part of the mingw-w64 runtime package. 13274 // No warranty is given; refer to the file DISCLAIMER within this package. 13275 13276 type REGSAM = ACCESS_MASK /* winreg.h:35:23 */ 13277 type LSTATUS = LONG /* winreg.h:36:16 */ 13278 13279 type val_context = struct { 13280 valuelen int32 13281 value_context LPVOID 13282 val_buff_ptr LPVOID 13283 } /* winreg.h:54:3 */ 13284 13285 type PVALCONTEXT = uintptr /* winreg.h:60:30 */ 13286 13287 type pvalueA = struct { 13288 pv_valuename LPSTR 13289 pv_valuelen int32 13290 pv_value_context LPVOID 13291 pv_type DWORD 13292 } /* winreg.h:62:11 */ 13293 13294 type PVALUEA = pvalueA /* winreg.h:67:4 */ 13295 type PPVALUEA = uintptr /* winreg.h:67:12 */ 13296 13297 type pvalueW = struct { 13298 pv_valuename LPWSTR 13299 pv_valuelen int32 13300 pv_value_context LPVOID 13301 pv_type DWORD 13302 } /* winreg.h:69:11 */ 13303 13304 type PVALUEW = pvalueW /* winreg.h:74:4 */ 13305 type PPVALUEW = uintptr /* winreg.h:74:12 */ 13306 13307 type PVALUE = PVALUEA /* winreg.h:76:3 */ 13308 type PPVALUE = PPVALUEA /* winreg.h:77:3 */ 13309 13310 type PQUERYHANDLER = uintptr /* winreg.h:81:24 */ 13311 13312 type provider_info = struct { 13313 pi_R0_1val PQUERYHANDLER 13314 pi_R0_allvals PQUERYHANDLER 13315 pi_R3_1val PQUERYHANDLER 13316 pi_R3_allvals PQUERYHANDLER 13317 pi_flags DWORD 13318 pi_key_context LPVOID 13319 } /* winreg.h:83:11 */ 13320 13321 type REG_PROVIDER = provider_info /* winreg.h:90:5 */ 13322 13323 type PPROVIDER = uintptr /* winreg.h:92:32 */ 13324 13325 type value_entA = struct { 13326 ve_valuename LPSTR 13327 ve_valuelen DWORD 13328 ve_valueptr DWORD_PTR 13329 ve_type DWORD 13330 } /* winreg.h:94:11 */ 13331 13332 type VALENTA = value_entA /* winreg.h:99:5 */ 13333 type PVALENTA = uintptr /* winreg.h:99:13 */ 13334 13335 type value_entW = struct { 13336 ve_valuename LPWSTR 13337 ve_valuelen DWORD 13338 ve_valueptr DWORD_PTR 13339 ve_type DWORD 13340 } /* winreg.h:101:11 */ 13341 13342 type VALENTW = value_entW /* winreg.h:106:5 */ 13343 type PVALENTW = uintptr /* winreg.h:106:13 */ 13344 13345 type VALENT = VALENTA /* winreg.h:108:3 */ 13346 type PVALENT = PVALENTA /* winreg.h:109:3 */ 13347 13348 // * 13349 // This file is part of the mingw-w64 runtime package. 13350 // No warranty is given; refer to the file DISCLAIMER within this package. 13351 13352 // * 13353 // This file is part of the mingw-w64 runtime package. 13354 // No warranty is given; refer to the file DISCLAIMER within this package. 13355 13356 // * 13357 // This file has no copyright assigned and is placed in the Public Domain. 13358 // This file is part of the mingw-w64 runtime package. 13359 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13360 13361 // * 13362 // This file is part of the mingw-w64 runtime package. 13363 // No warranty is given; refer to the file DISCLAIMER within this package. 13364 13365 // * 13366 // This file is part of the mingw-w64 runtime package. 13367 // No warranty is given; refer to the file DISCLAIMER within this package. 13368 13369 type _NETRESOURCEA = struct { 13370 dwScope DWORD 13371 dwType DWORD 13372 dwDisplayType DWORD 13373 dwUsage DWORD 13374 lpLocalName LPSTR 13375 lpRemoteName LPSTR 13376 lpComment LPSTR 13377 lpProvider LPSTR 13378 } /* winnetwk.h:53:11 */ 13379 13380 // * 13381 // This file is part of the mingw-w64 runtime package. 13382 // No warranty is given; refer to the file DISCLAIMER within this package. 13383 13384 // * 13385 // This file is part of the mingw-w64 runtime package. 13386 // No warranty is given; refer to the file DISCLAIMER within this package. 13387 13388 // * 13389 // This file has no copyright assigned and is placed in the Public Domain. 13390 // This file is part of the mingw-w64 runtime package. 13391 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13392 13393 // * 13394 // This file is part of the mingw-w64 runtime package. 13395 // No warranty is given; refer to the file DISCLAIMER within this package. 13396 13397 // * 13398 // This file is part of the mingw-w64 runtime package. 13399 // No warranty is given; refer to the file DISCLAIMER within this package. 13400 13401 type NETRESOURCEA = _NETRESOURCEA /* winnetwk.h:62:5 */ 13402 type LPNETRESOURCEA = uintptr /* winnetwk.h:62:18 */ 13403 type _NETRESOURCEW = struct { 13404 dwScope DWORD 13405 dwType DWORD 13406 dwDisplayType DWORD 13407 dwUsage DWORD 13408 lpLocalName LPWSTR 13409 lpRemoteName LPWSTR 13410 lpComment LPWSTR 13411 lpProvider LPWSTR 13412 } /* winnetwk.h:63:11 */ 13413 13414 type NETRESOURCEW = _NETRESOURCEW /* winnetwk.h:72:5 */ 13415 type LPNETRESOURCEW = uintptr /* winnetwk.h:72:18 */ 13416 13417 type NETRESOURCE = NETRESOURCEA /* winnetwk.h:74:3 */ 13418 type LPNETRESOURCE = LPNETRESOURCEA /* winnetwk.h:75:3 */ 13419 13420 type _CONNECTDLGSTRUCTA = struct { 13421 cbStructure DWORD 13422 hwndOwner HWND 13423 lpConnRes LPNETRESOURCEA 13424 dwFlags DWORD 13425 dwDevNum DWORD 13426 } /* winnetwk.h:129:11 */ 13427 13428 type CONNECTDLGSTRUCTA = _CONNECTDLGSTRUCTA /* winnetwk.h:135:5 */ 13429 type LPCONNECTDLGSTRUCTA = uintptr /* winnetwk.h:135:23 */ 13430 13431 type _CONNECTDLGSTRUCTW = struct { 13432 cbStructure DWORD 13433 hwndOwner HWND 13434 lpConnRes LPNETRESOURCEW 13435 dwFlags DWORD 13436 dwDevNum DWORD 13437 } /* winnetwk.h:137:11 */ 13438 13439 type CONNECTDLGSTRUCTW = _CONNECTDLGSTRUCTW /* winnetwk.h:143:5 */ 13440 type LPCONNECTDLGSTRUCTW = uintptr /* winnetwk.h:143:23 */ 13441 13442 type CONNECTDLGSTRUCT = CONNECTDLGSTRUCTA /* winnetwk.h:145:3 */ 13443 type LPCONNECTDLGSTRUCT = LPCONNECTDLGSTRUCTA /* winnetwk.h:146:3 */ 13444 13445 type _DISCDLGSTRUCTA = struct { 13446 cbStructure DWORD 13447 hwndOwner HWND 13448 lpLocalName LPSTR 13449 lpRemoteName LPSTR 13450 dwFlags DWORD 13451 } /* winnetwk.h:161:11 */ 13452 13453 type DISCDLGSTRUCTA = _DISCDLGSTRUCTA /* winnetwk.h:167:5 */ 13454 type LPDISCDLGSTRUCTA = uintptr /* winnetwk.h:167:20 */ 13455 13456 type _DISCDLGSTRUCTW = struct { 13457 cbStructure DWORD 13458 hwndOwner HWND 13459 lpLocalName LPWSTR 13460 lpRemoteName LPWSTR 13461 dwFlags DWORD 13462 } /* winnetwk.h:169:11 */ 13463 13464 type DISCDLGSTRUCTW = _DISCDLGSTRUCTW /* winnetwk.h:175:5 */ 13465 type LPDISCDLGSTRUCTW = uintptr /* winnetwk.h:175:20 */ 13466 13467 type DISCDLGSTRUCT = DISCDLGSTRUCTA /* winnetwk.h:177:3 */ 13468 type LPDISCDLGSTRUCT = LPDISCDLGSTRUCTA /* winnetwk.h:178:3 */ 13469 13470 type _UNIVERSAL_NAME_INFOA = struct{ lpUniversalName LPSTR } /* winnetwk.h:204:11 */ 13471 13472 type UNIVERSAL_NAME_INFOA = _UNIVERSAL_NAME_INFOA /* winnetwk.h:206:5 */ 13473 type LPUNIVERSAL_NAME_INFOA = uintptr /* winnetwk.h:206:26 */ 13474 13475 type _UNIVERSAL_NAME_INFOW = struct{ lpUniversalName LPWSTR } /* winnetwk.h:208:11 */ 13476 13477 type UNIVERSAL_NAME_INFOW = _UNIVERSAL_NAME_INFOW /* winnetwk.h:210:5 */ 13478 type LPUNIVERSAL_NAME_INFOW = uintptr /* winnetwk.h:210:26 */ 13479 13480 type UNIVERSAL_NAME_INFO = UNIVERSAL_NAME_INFOA /* winnetwk.h:212:3 */ 13481 type LPUNIVERSAL_NAME_INFO = LPUNIVERSAL_NAME_INFOA /* winnetwk.h:213:3 */ 13482 13483 type _REMOTE_NAME_INFOA = struct { 13484 lpUniversalName LPSTR 13485 lpConnectionName LPSTR 13486 lpRemainingPath LPSTR 13487 } /* winnetwk.h:215:11 */ 13488 13489 type REMOTE_NAME_INFOA = _REMOTE_NAME_INFOA /* winnetwk.h:219:5 */ 13490 type LPREMOTE_NAME_INFOA = uintptr /* winnetwk.h:219:23 */ 13491 13492 type _REMOTE_NAME_INFOW = struct { 13493 lpUniversalName LPWSTR 13494 lpConnectionName LPWSTR 13495 lpRemainingPath LPWSTR 13496 } /* winnetwk.h:221:11 */ 13497 13498 type REMOTE_NAME_INFOW = _REMOTE_NAME_INFOW /* winnetwk.h:225:5 */ 13499 type LPREMOTE_NAME_INFOW = uintptr /* winnetwk.h:225:23 */ 13500 13501 type REMOTE_NAME_INFO = REMOTE_NAME_INFOA /* winnetwk.h:227:3 */ 13502 type LPREMOTE_NAME_INFO = LPREMOTE_NAME_INFOA /* winnetwk.h:228:3 */ 13503 13504 type _NETINFOSTRUCT = struct { 13505 cbStructure DWORD 13506 dwProviderVersion DWORD 13507 dwStatus DWORD 13508 dwCharacteristics DWORD 13509 dwHandle ULONG_PTR 13510 wNetType WORD 13511 _ [2]byte 13512 dwPrinters DWORD 13513 dwDrives DWORD 13514 } /* winnetwk.h:247:11 */ 13515 13516 type NETINFOSTRUCT = _NETINFOSTRUCT /* winnetwk.h:256:5 */ 13517 type LPNETINFOSTRUCT = uintptr /* winnetwk.h:256:19 */ 13518 13519 type PFNGETPROFILEPATHA = uintptr /* winnetwk.h:267:16 */ 13520 type PFNGETPROFILEPATHW = uintptr /* winnetwk.h:268:16 */ 13521 13522 type PFNRECONCILEPROFILEA = uintptr /* winnetwk.h:272:16 */ 13523 type PFNRECONCILEPROFILEW = uintptr /* winnetwk.h:273:16 */ 13524 13525 type PFNPROCESSPOLICIESA = uintptr /* winnetwk.h:280:19 */ 13526 type PFNPROCESSPOLICIESW = uintptr /* winnetwk.h:281:19 */ 13527 13528 type _NETCONNECTINFOSTRUCT = struct { 13529 cbStructure DWORD 13530 dwFlags DWORD 13531 dwSpeed DWORD 13532 dwDelay DWORD 13533 dwOptDataSize DWORD 13534 } /* winnetwk.h:335:11 */ 13535 13536 type NETCONNECTINFOSTRUCT = _NETCONNECTINFOSTRUCT /* winnetwk.h:341:5 */ 13537 type LPNETCONNECTINFOSTRUCT = uintptr /* winnetwk.h:341:26 */ 13538 13539 // * 13540 // This file has no copyright assigned and is placed in the Public Domain. 13541 // This file is part of the mingw-w64 runtime package. 13542 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13543 13544 // * 13545 // This file has no copyright assigned and is placed in the Public Domain. 13546 // This file is part of the mingw-w64 runtime package. 13547 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13548 13549 // * 13550 // This file has no copyright assigned and is placed in the Public Domain. 13551 // This file is part of the mingw-w64 runtime package. 13552 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13553 13554 // * 13555 // This file has no copyright assigned and is placed in the Public Domain. 13556 // This file is part of the mingw-w64 runtime package. 13557 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13558 13559 // * 13560 // This file has no copyright assigned and is placed in the Public Domain. 13561 // This file is part of the mingw-w64 runtime package. 13562 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13563 13564 // * 13565 // This file is part of the mingw-w64 runtime package. 13566 // No warranty is given; refer to the file DISCLAIMER within this package. 13567 13568 type _SERVICE_DESCRIPTIONA = struct{ lpDescription LPSTR } /* winsvc.h:95:11 */ 13569 13570 // * 13571 // This file has no copyright assigned and is placed in the Public Domain. 13572 // This file is part of the mingw-w64 runtime package. 13573 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13574 13575 // * 13576 // This file has no copyright assigned and is placed in the Public Domain. 13577 // This file is part of the mingw-w64 runtime package. 13578 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13579 13580 // * 13581 // This file has no copyright assigned and is placed in the Public Domain. 13582 // This file is part of the mingw-w64 runtime package. 13583 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13584 13585 // * 13586 // This file has no copyright assigned and is placed in the Public Domain. 13587 // This file is part of the mingw-w64 runtime package. 13588 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13589 13590 // * 13591 // This file has no copyright assigned and is placed in the Public Domain. 13592 // This file is part of the mingw-w64 runtime package. 13593 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13594 13595 // * 13596 // This file is part of the mingw-w64 runtime package. 13597 // No warranty is given; refer to the file DISCLAIMER within this package. 13598 13599 type SERVICE_DESCRIPTIONA = _SERVICE_DESCRIPTIONA /* winsvc.h:97:5 */ 13600 type LPSERVICE_DESCRIPTIONA = uintptr /* winsvc.h:97:26 */ 13601 13602 type _SERVICE_DESCRIPTIONW = struct{ lpDescription LPWSTR } /* winsvc.h:99:11 */ 13603 13604 type SERVICE_DESCRIPTIONW = _SERVICE_DESCRIPTIONW /* winsvc.h:101:5 */ 13605 type LPSERVICE_DESCRIPTIONW = uintptr /* winsvc.h:101:26 */ 13606 13607 type SERVICE_DESCRIPTION = SERVICE_DESCRIPTIONA /* winsvc.h:103:3 */ 13608 type LPSERVICE_DESCRIPTION = LPSERVICE_DESCRIPTIONA /* winsvc.h:104:3 */ 13609 13610 type SC_ACTION_TYPE = uint32 /* winsvc.h:108:5 */ 13611 13612 type _SC_ACTION = struct { 13613 Type SC_ACTION_TYPE 13614 Delay DWORD 13615 } /* winsvc.h:110:11 */ 13616 13617 type SC_ACTION = _SC_ACTION /* winsvc.h:113:5 */ 13618 type LPSC_ACTION = uintptr /* winsvc.h:113:15 */ 13619 13620 type _SERVICE_FAILURE_ACTIONSA = struct { 13621 dwResetPeriod DWORD 13622 lpRebootMsg LPSTR 13623 lpCommand LPSTR 13624 cActions DWORD 13625 lpsaActions uintptr 13626 } /* winsvc.h:115:11 */ 13627 13628 type SERVICE_FAILURE_ACTIONSA = _SERVICE_FAILURE_ACTIONSA /* winsvc.h:121:5 */ 13629 type LPSERVICE_FAILURE_ACTIONSA = uintptr /* winsvc.h:121:30 */ 13630 13631 type _SERVICE_FAILURE_ACTIONSW = struct { 13632 dwResetPeriod DWORD 13633 lpRebootMsg LPWSTR 13634 lpCommand LPWSTR 13635 cActions DWORD 13636 lpsaActions uintptr 13637 } /* winsvc.h:123:11 */ 13638 13639 type SERVICE_FAILURE_ACTIONSW = _SERVICE_FAILURE_ACTIONSW /* winsvc.h:129:5 */ 13640 type LPSERVICE_FAILURE_ACTIONSW = uintptr /* winsvc.h:129:30 */ 13641 13642 type SERVICE_FAILURE_ACTIONS = SERVICE_FAILURE_ACTIONSA /* winsvc.h:131:3 */ 13643 type LPSERVICE_FAILURE_ACTIONS = LPSERVICE_FAILURE_ACTIONSA /* winsvc.h:132:3 */ 13644 13645 type SC_HANDLE__ = struct{ unused int32 } /* winsvc.h:134:3 */ 13646 13647 type SC_HANDLE = uintptr /* winsvc.h:134:3 */ 13648 type LPSC_HANDLE = uintptr /* winsvc.h:135:21 */ 13649 13650 type SERVICE_STATUS_HANDLE__ = struct{ unused int32 } /* winsvc.h:137:3 */ 13651 13652 type SERVICE_STATUS_HANDLE = uintptr /* winsvc.h:137:3 */ 13653 13654 type SC_STATUS_TYPE = uint32 /* winsvc.h:141:5 */ 13655 13656 type SC_ENUM_TYPE = uint32 /* winsvc.h:145:5 */ 13657 13658 type _SERVICE_STATUS = struct { 13659 dwServiceType DWORD 13660 dwCurrentState DWORD 13661 dwControlsAccepted DWORD 13662 dwWin32ExitCode DWORD 13663 dwServiceSpecificExitCode DWORD 13664 dwCheckPoint DWORD 13665 dwWaitHint DWORD 13666 } /* winsvc.h:147:11 */ 13667 13668 type SERVICE_STATUS = _SERVICE_STATUS /* winsvc.h:155:5 */ 13669 type LPSERVICE_STATUS = uintptr /* winsvc.h:155:20 */ 13670 13671 type _SERVICE_STATUS_PROCESS = struct { 13672 dwServiceType DWORD 13673 dwCurrentState DWORD 13674 dwControlsAccepted DWORD 13675 dwWin32ExitCode DWORD 13676 dwServiceSpecificExitCode DWORD 13677 dwCheckPoint DWORD 13678 dwWaitHint DWORD 13679 dwProcessId DWORD 13680 dwServiceFlags DWORD 13681 } /* winsvc.h:157:11 */ 13682 13683 type SERVICE_STATUS_PROCESS = _SERVICE_STATUS_PROCESS /* winsvc.h:167:5 */ 13684 type LPSERVICE_STATUS_PROCESS = uintptr /* winsvc.h:167:28 */ 13685 13686 type _ENUM_SERVICE_STATUSA = struct { 13687 lpServiceName LPSTR 13688 lpDisplayName LPSTR 13689 ServiceStatus SERVICE_STATUS 13690 } /* winsvc.h:169:11 */ 13691 13692 type ENUM_SERVICE_STATUSA = _ENUM_SERVICE_STATUSA /* winsvc.h:173:5 */ 13693 type LPENUM_SERVICE_STATUSA = uintptr /* winsvc.h:173:26 */ 13694 13695 type _ENUM_SERVICE_STATUSW = struct { 13696 lpServiceName LPWSTR 13697 lpDisplayName LPWSTR 13698 ServiceStatus SERVICE_STATUS 13699 } /* winsvc.h:175:11 */ 13700 13701 type ENUM_SERVICE_STATUSW = _ENUM_SERVICE_STATUSW /* winsvc.h:179:5 */ 13702 type LPENUM_SERVICE_STATUSW = uintptr /* winsvc.h:179:26 */ 13703 13704 type ENUM_SERVICE_STATUS = ENUM_SERVICE_STATUSA /* winsvc.h:181:3 */ 13705 type LPENUM_SERVICE_STATUS = LPENUM_SERVICE_STATUSA /* winsvc.h:182:3 */ 13706 13707 type _ENUM_SERVICE_STATUS_PROCESSA = struct { 13708 lpServiceName LPSTR 13709 lpDisplayName LPSTR 13710 ServiceStatusProcess SERVICE_STATUS_PROCESS 13711 } /* winsvc.h:184:11 */ 13712 13713 type ENUM_SERVICE_STATUS_PROCESSA = _ENUM_SERVICE_STATUS_PROCESSA /* winsvc.h:188:5 */ 13714 type LPENUM_SERVICE_STATUS_PROCESSA = uintptr /* winsvc.h:188:34 */ 13715 13716 type _ENUM_SERVICE_STATUS_PROCESSW = struct { 13717 lpServiceName LPWSTR 13718 lpDisplayName LPWSTR 13719 ServiceStatusProcess SERVICE_STATUS_PROCESS 13720 } /* winsvc.h:190:11 */ 13721 13722 type ENUM_SERVICE_STATUS_PROCESSW = _ENUM_SERVICE_STATUS_PROCESSW /* winsvc.h:194:5 */ 13723 type LPENUM_SERVICE_STATUS_PROCESSW = uintptr /* winsvc.h:194:34 */ 13724 13725 type ENUM_SERVICE_STATUS_PROCESS = ENUM_SERVICE_STATUS_PROCESSA /* winsvc.h:196:3 */ 13726 type LPENUM_SERVICE_STATUS_PROCESS = LPENUM_SERVICE_STATUS_PROCESSA /* winsvc.h:197:3 */ 13727 13728 type SC_LOCK = LPVOID /* winsvc.h:199:18 */ 13729 13730 type _QUERY_SERVICE_LOCK_STATUSA = struct { 13731 fIsLocked DWORD 13732 lpLockOwner LPSTR 13733 dwLockDuration DWORD 13734 } /* winsvc.h:201:11 */ 13735 13736 type QUERY_SERVICE_LOCK_STATUSA = _QUERY_SERVICE_LOCK_STATUSA /* winsvc.h:205:5 */ 13737 type LPQUERY_SERVICE_LOCK_STATUSA = uintptr /* winsvc.h:205:32 */ 13738 13739 type _QUERY_SERVICE_LOCK_STATUSW = struct { 13740 fIsLocked DWORD 13741 lpLockOwner LPWSTR 13742 dwLockDuration DWORD 13743 } /* winsvc.h:207:11 */ 13744 13745 type QUERY_SERVICE_LOCK_STATUSW = _QUERY_SERVICE_LOCK_STATUSW /* winsvc.h:211:5 */ 13746 type LPQUERY_SERVICE_LOCK_STATUSW = uintptr /* winsvc.h:211:32 */ 13747 13748 type QUERY_SERVICE_LOCK_STATUS = QUERY_SERVICE_LOCK_STATUSA /* winsvc.h:213:3 */ 13749 type LPQUERY_SERVICE_LOCK_STATUS = LPQUERY_SERVICE_LOCK_STATUSA /* winsvc.h:214:3 */ 13750 13751 type _QUERY_SERVICE_CONFIGA = struct { 13752 dwServiceType DWORD 13753 dwStartType DWORD 13754 dwErrorControl DWORD 13755 lpBinaryPathName LPSTR 13756 lpLoadOrderGroup LPSTR 13757 dwTagId DWORD 13758 lpDependencies LPSTR 13759 lpServiceStartName LPSTR 13760 lpDisplayName LPSTR 13761 } /* winsvc.h:216:11 */ 13762 13763 type QUERY_SERVICE_CONFIGA = _QUERY_SERVICE_CONFIGA /* winsvc.h:226:5 */ 13764 type LPQUERY_SERVICE_CONFIGA = uintptr /* winsvc.h:226:27 */ 13765 13766 type _QUERY_SERVICE_CONFIGW = struct { 13767 dwServiceType DWORD 13768 dwStartType DWORD 13769 dwErrorControl DWORD 13770 lpBinaryPathName LPWSTR 13771 lpLoadOrderGroup LPWSTR 13772 dwTagId DWORD 13773 lpDependencies LPWSTR 13774 lpServiceStartName LPWSTR 13775 lpDisplayName LPWSTR 13776 } /* winsvc.h:228:11 */ 13777 13778 type QUERY_SERVICE_CONFIGW = _QUERY_SERVICE_CONFIGW /* winsvc.h:238:5 */ 13779 type LPQUERY_SERVICE_CONFIGW = uintptr /* winsvc.h:238:27 */ 13780 13781 type QUERY_SERVICE_CONFIG = QUERY_SERVICE_CONFIGA /* winsvc.h:240:3 */ 13782 type LPQUERY_SERVICE_CONFIG = LPQUERY_SERVICE_CONFIGA /* winsvc.h:241:3 */ 13783 13784 type LPSERVICE_MAIN_FUNCTIONW = uintptr /* winsvc.h:243:16 */ 13785 type LPSERVICE_MAIN_FUNCTIONA = uintptr /* winsvc.h:244:16 */ 13786 13787 type _SERVICE_TABLE_ENTRYA = struct { 13788 lpServiceName LPSTR 13789 lpServiceProc LPSERVICE_MAIN_FUNCTIONA 13790 } /* winsvc.h:248:11 */ 13791 13792 type SERVICE_TABLE_ENTRYA = _SERVICE_TABLE_ENTRYA /* winsvc.h:251:5 */ 13793 type LPSERVICE_TABLE_ENTRYA = uintptr /* winsvc.h:251:26 */ 13794 13795 type _SERVICE_TABLE_ENTRYW = struct { 13796 lpServiceName LPWSTR 13797 lpServiceProc LPSERVICE_MAIN_FUNCTIONW 13798 } /* winsvc.h:253:11 */ 13799 13800 type SERVICE_TABLE_ENTRYW = _SERVICE_TABLE_ENTRYW /* winsvc.h:256:5 */ 13801 type LPSERVICE_TABLE_ENTRYW = uintptr /* winsvc.h:256:26 */ 13802 13803 type SERVICE_TABLE_ENTRY = SERVICE_TABLE_ENTRYA /* winsvc.h:258:3 */ 13804 type LPSERVICE_TABLE_ENTRY = LPSERVICE_TABLE_ENTRYA /* winsvc.h:259:3 */ 13805 13806 type LPHANDLER_FUNCTION = uintptr /* winsvc.h:261:16 */ 13807 type LPHANDLER_FUNCTION_EX = uintptr /* winsvc.h:262:17 */ 13808 13809 // * 13810 // This file has no copyright assigned and is placed in the Public Domain. 13811 // This file is part of the mingw-w64 runtime package. 13812 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13813 13814 type _MODEMDEVCAPS = struct { 13815 dwActualSize DWORD 13816 dwRequiredSize DWORD 13817 dwDevSpecificOffset DWORD 13818 dwDevSpecificSize DWORD 13819 dwModemProviderVersion DWORD 13820 dwModemManufacturerOffset DWORD 13821 dwModemManufacturerSize DWORD 13822 dwModemModelOffset DWORD 13823 dwModemModelSize DWORD 13824 dwModemVersionOffset DWORD 13825 dwModemVersionSize DWORD 13826 dwDialOptions DWORD 13827 dwCallSetupFailTimer DWORD 13828 dwInactivityTimeout DWORD 13829 dwSpeakerVolume DWORD 13830 dwSpeakerMode DWORD 13831 dwModemOptions DWORD 13832 dwMaxDTERate DWORD 13833 dwMaxDCERate DWORD 13834 abVariablePortion [1]BYTE 13835 _ [3]byte 13836 } /* mcx.h:9:9 */ 13837 13838 // * 13839 // This file has no copyright assigned and is placed in the Public Domain. 13840 // This file is part of the mingw-w64 runtime package. 13841 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13842 13843 type MODEMDEVCAPS = _MODEMDEVCAPS /* mcx.h:30:3 */ 13844 type PMODEMDEVCAPS = uintptr /* mcx.h:30:16 */ 13845 type LPMODEMDEVCAPS = uintptr /* mcx.h:30:31 */ 13846 13847 type _MODEMSETTINGS = struct { 13848 dwActualSize DWORD 13849 dwRequiredSize DWORD 13850 dwDevSpecificOffset DWORD 13851 dwDevSpecificSize DWORD 13852 dwCallSetupFailTimer DWORD 13853 dwInactivityTimeout DWORD 13854 dwSpeakerVolume DWORD 13855 dwSpeakerMode DWORD 13856 dwPreferredModemOptions DWORD 13857 dwNegotiatedModemOptions DWORD 13858 dwNegotiatedDCERate DWORD 13859 abVariablePortion [1]BYTE 13860 _ [3]byte 13861 } /* mcx.h:32:9 */ 13862 13863 type MODEMSETTINGS = _MODEMSETTINGS /* mcx.h:45:3 */ 13864 type PMODEMSETTINGS = uintptr /* mcx.h:45:17 */ 13865 type LPMODEMSETTINGS = uintptr /* mcx.h:45:33 */ 13866 13867 // * 13868 // This file has no copyright assigned and is placed in the Public Domain. 13869 // This file is part of the mingw-w64 runtime package. 13870 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13871 13872 // * 13873 // This file has no copyright assigned and is placed in the Public Domain. 13874 // This file is part of the mingw-w64 runtime package. 13875 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 13876 13877 type HIMC__ = struct{ unused int32 } /* imm.h:18:3 */ 13878 13879 type HIMC = uintptr /* imm.h:18:3 */ 13880 type HIMCC__ = struct{ unused int32 } /* imm.h:19:3 */ 13881 13882 type HIMCC = uintptr /* imm.h:19:3 */ 13883 13884 type LPHKL = uintptr /* imm.h:21:15 */ 13885 type LPUINT = uintptr /* imm.h:24:16 */ 13886 13887 type tagCOMPOSITIONFORM = struct { 13888 dwStyle DWORD 13889 ptCurrentPos POINT 13890 rcArea RECT 13891 } /* imm.h:27:11 */ 13892 13893 type COMPOSITIONFORM = tagCOMPOSITIONFORM /* imm.h:31:5 */ 13894 type PCOMPOSITIONFORM = uintptr /* imm.h:31:21 */ 13895 type NPCOMPOSITIONFORM = uintptr /* imm.h:31:39 */ 13896 type LPCOMPOSITIONFORM = uintptr /* imm.h:31:58 */ 13897 13898 type tagCANDIDATEFORM = struct { 13899 dwIndex DWORD 13900 dwStyle DWORD 13901 ptCurrentPos POINT 13902 rcArea RECT 13903 } /* imm.h:33:11 */ 13904 13905 type CANDIDATEFORM = tagCANDIDATEFORM /* imm.h:38:5 */ 13906 type PCANDIDATEFORM = uintptr /* imm.h:38:19 */ 13907 type NPCANDIDATEFORM = uintptr /* imm.h:38:35 */ 13908 type LPCANDIDATEFORM = uintptr /* imm.h:38:52 */ 13909 13910 type tagCANDIDATELIST = struct { 13911 dwSize DWORD 13912 dwStyle DWORD 13913 dwCount DWORD 13914 dwSelection DWORD 13915 dwPageStart DWORD 13916 dwPageSize DWORD 13917 dwOffset [1]DWORD 13918 } /* imm.h:40:11 */ 13919 13920 type CANDIDATELIST = tagCANDIDATELIST /* imm.h:48:5 */ 13921 type PCANDIDATELIST = uintptr /* imm.h:48:19 */ 13922 type NPCANDIDATELIST = uintptr /* imm.h:48:35 */ 13923 type LPCANDIDATELIST = uintptr /* imm.h:48:52 */ 13924 13925 type tagREGISTERWORDA = struct { 13926 lpReading LPSTR 13927 lpWord LPSTR 13928 } /* imm.h:50:11 */ 13929 13930 type REGISTERWORDA = tagREGISTERWORDA /* imm.h:53:5 */ 13931 type PREGISTERWORDA = uintptr /* imm.h:53:19 */ 13932 type NPREGISTERWORDA = uintptr /* imm.h:53:35 */ 13933 type LPREGISTERWORDA = uintptr /* imm.h:53:52 */ 13934 13935 type tagREGISTERWORDW = struct { 13936 lpReading LPWSTR 13937 lpWord LPWSTR 13938 } /* imm.h:55:11 */ 13939 13940 type REGISTERWORDW = tagREGISTERWORDW /* imm.h:58:5 */ 13941 type PREGISTERWORDW = uintptr /* imm.h:58:19 */ 13942 type NPREGISTERWORDW = uintptr /* imm.h:58:35 */ 13943 type LPREGISTERWORDW = uintptr /* imm.h:58:52 */ 13944 13945 type REGISTERWORD = REGISTERWORDA /* imm.h:60:3 */ 13946 type PREGISTERWORD = PREGISTERWORDA /* imm.h:61:3 */ 13947 type NPREGISTERWORD = NPREGISTERWORDA /* imm.h:62:3 */ 13948 type LPREGISTERWORD = LPREGISTERWORDA /* imm.h:63:3 */ 13949 13950 type tagRECONVERTSTRING = struct { 13951 dwSize DWORD 13952 dwVersion DWORD 13953 dwStrLen DWORD 13954 dwStrOffset DWORD 13955 dwCompStrLen DWORD 13956 dwCompStrOffset DWORD 13957 dwTargetStrLen DWORD 13958 dwTargetStrOffset DWORD 13959 } /* imm.h:65:11 */ 13960 13961 type RECONVERTSTRING = tagRECONVERTSTRING /* imm.h:74:5 */ 13962 type PRECONVERTSTRING = uintptr /* imm.h:74:21 */ 13963 type NPRECONVERTSTRING = uintptr /* imm.h:74:39 */ 13964 type LPRECONVERTSTRING = uintptr /* imm.h:74:58 */ 13965 13966 type tagSTYLEBUFA = struct { 13967 dwStyle DWORD 13968 szDescription [32]CHAR 13969 } /* imm.h:78:11 */ 13970 13971 type STYLEBUFA = tagSTYLEBUFA /* imm.h:81:5 */ 13972 type PSTYLEBUFA = uintptr /* imm.h:81:15 */ 13973 type NPSTYLEBUFA = uintptr /* imm.h:81:27 */ 13974 type LPSTYLEBUFA = uintptr /* imm.h:81:40 */ 13975 13976 type tagSTYLEBUFW = struct { 13977 dwStyle DWORD 13978 szDescription [32]WCHAR 13979 } /* imm.h:83:11 */ 13980 13981 type STYLEBUFW = tagSTYLEBUFW /* imm.h:86:5 */ 13982 type PSTYLEBUFW = uintptr /* imm.h:86:15 */ 13983 type NPSTYLEBUFW = uintptr /* imm.h:86:27 */ 13984 type LPSTYLEBUFW = uintptr /* imm.h:86:40 */ 13985 13986 type STYLEBUF = STYLEBUFA /* imm.h:88:3 */ 13987 type PSTYLEBUF = PSTYLEBUFA /* imm.h:89:3 */ 13988 type NPSTYLEBUF = NPSTYLEBUFA /* imm.h:90:3 */ 13989 type LPSTYLEBUF = LPSTYLEBUFA /* imm.h:91:3 */ 13990 13991 type tagIMEMENUITEMINFOA = struct { 13992 cbSize UINT 13993 fType UINT 13994 fState UINT 13995 wID UINT 13996 hbmpChecked HBITMAP 13997 hbmpUnchecked HBITMAP 13998 dwItemData DWORD 13999 szString [80]CHAR 14000 hbmpItem HBITMAP 14001 } /* imm.h:95:11 */ 14002 14003 type IMEMENUITEMINFOA = tagIMEMENUITEMINFOA /* imm.h:105:5 */ 14004 type PIMEMENUITEMINFOA = uintptr /* imm.h:105:22 */ 14005 type NPIMEMENUITEMINFOA = uintptr /* imm.h:105:41 */ 14006 type LPIMEMENUITEMINFOA = uintptr /* imm.h:105:61 */ 14007 14008 type tagIMEMENUITEMINFOW = struct { 14009 cbSize UINT 14010 fType UINT 14011 fState UINT 14012 wID UINT 14013 hbmpChecked HBITMAP 14014 hbmpUnchecked HBITMAP 14015 dwItemData DWORD 14016 szString [80]WCHAR 14017 hbmpItem HBITMAP 14018 } /* imm.h:107:11 */ 14019 14020 type IMEMENUITEMINFOW = tagIMEMENUITEMINFOW /* imm.h:117:5 */ 14021 type PIMEMENUITEMINFOW = uintptr /* imm.h:117:22 */ 14022 type NPIMEMENUITEMINFOW = uintptr /* imm.h:117:41 */ 14023 type LPIMEMENUITEMINFOW = uintptr /* imm.h:117:61 */ 14024 14025 type IMEMENUITEMINFO = IMEMENUITEMINFOA /* imm.h:119:3 */ 14026 type PIMEMENUITEMINFO = PIMEMENUITEMINFOA /* imm.h:120:3 */ 14027 type NPIMEMENUITEMINFO = NPIMEMENUITEMINFOA /* imm.h:121:3 */ 14028 type LPIMEMENUITEMINFO = LPIMEMENUITEMINFOA /* imm.h:122:3 */ 14029 14030 type tagIMECHARPOSITION = struct { 14031 dwSize DWORD 14032 dwCharPos DWORD 14033 pt POINT 14034 cLineHeight UINT 14035 rcDocument RECT 14036 } /* imm.h:124:11 */ 14037 14038 type IMECHARPOSITION = tagIMECHARPOSITION /* imm.h:130:5 */ 14039 type PIMECHARPOSITION = uintptr /* imm.h:130:21 */ 14040 type NPIMECHARPOSITION = uintptr /* imm.h:130:39 */ 14041 type LPIMECHARPOSITION = uintptr /* imm.h:130:58 */ 14042 14043 type IMCENUMPROC = uintptr /* imm.h:132:19 */ 14044 14045 type REGISTERWORDENUMPROCA = uintptr /* imm.h:185:15 */ 14046 type REGISTERWORDENUMPROCW = uintptr /* imm.h:186:15 */ 14047 14048 // Posix thread extensions. 14049 14050 // Extension defined as by report VC 10+ defines error-numbers. 14051 14052 // Defined as WSAETIMEDOUT. 14053 14054 // * 14055 // This file has no copyright assigned and is placed in the Public Domain. 14056 // This file is part of the mingw-w64 runtime package. 14057 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 14058 14059 // * 14060 // This file has no copyright assigned and is placed in the Public Domain. 14061 // This file is part of the mingw-w64 runtime package. 14062 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 14063 14064 // Copyright (C) 1992-2018 Free Software Foundation, Inc. 14065 // 14066 // This file is part of GCC. 14067 // 14068 // GCC is free software; you can redistribute it and/or modify it under 14069 // the terms of the GNU General Public License as published by the Free 14070 // Software Foundation; either version 3, or (at your option) any later 14071 // version. 14072 // 14073 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 14074 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 14075 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14076 // for more details. 14077 // 14078 // Under Section 7 of GPL version 3, you are granted additional 14079 // permissions described in the GCC Runtime Library Exception, version 14080 // 3.1, as published by the Free Software Foundation. 14081 // 14082 // You should have received a copy of the GNU General Public License and 14083 // a copy of the GCC Runtime Library Exception along with this program; 14084 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 14085 // <http://www.gnu.org/licenses/>. 14086 14087 // This administrivia gets added to the beginning of limits.h 14088 // if the system has its own version of limits.h. 14089 14090 // We use _GCC_LIMITS_H_ because we want this not to match 14091 // any macros that the system's limits.h uses for its own purposes. 14092 14093 // Use "..." so that we find syslimits.h only in this same directory. 14094 // syslimits.h stands for the system's own limits.h file. 14095 // If we can use it ok unmodified, then we install this text. 14096 // If fixincludes fixes it, then the fixed version is installed 14097 // instead of this text. 14098 14099 // * 14100 // This file has no copyright assigned and is placed in the Public Domain. 14101 // This file is part of the mingw-w64 runtime package. 14102 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 14103 // * 14104 // This file has no copyright assigned and is placed in the Public Domain. 14105 // This file is part of the mingw-w64 runtime package. 14106 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 14107 14108 // File system limits 14109 // 14110 // NOTE: Apparently the actual size of PATH_MAX is 260, but a space is 14111 // required for the NUL. TODO: Test? 14112 // NOTE: PATH_MAX is the POSIX equivalent for Microsoft's MAX_PATH; the two 14113 // are semantically identical, with a limit of 259 characters for the 14114 // path name, plus one for a terminating NUL, for a total of 260. 14115 14116 // Copyright (C) 1991-2018 Free Software Foundation, Inc. 14117 // 14118 // This file is part of GCC. 14119 // 14120 // GCC is free software; you can redistribute it and/or modify it under 14121 // the terms of the GNU General Public License as published by the Free 14122 // Software Foundation; either version 3, or (at your option) any later 14123 // version. 14124 // 14125 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 14126 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 14127 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14128 // for more details. 14129 // 14130 // Under Section 7 of GPL version 3, you are granted additional 14131 // permissions described in the GCC Runtime Library Exception, version 14132 // 3.1, as published by the Free Software Foundation. 14133 // 14134 // You should have received a copy of the GNU General Public License and 14135 // a copy of the GCC Runtime Library Exception along with this program; 14136 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 14137 // <http://www.gnu.org/licenses/>. 14138 14139 // Number of bits in a `char'. 14140 14141 // Maximum length of a multibyte character. 14142 14143 // Minimum and maximum values a `signed char' can hold. 14144 14145 // Maximum value an `unsigned char' can hold. (Minimum is 0). 14146 14147 // Minimum and maximum values a `char' can hold. 14148 14149 // Minimum and maximum values a `signed short int' can hold. 14150 14151 // Maximum value an `unsigned short int' can hold. (Minimum is 0). 14152 14153 // Minimum and maximum values a `signed int' can hold. 14154 14155 // Maximum value an `unsigned int' can hold. (Minimum is 0). 14156 14157 // Minimum and maximum values a `signed long int' can hold. 14158 // (Same as `int'). 14159 14160 // Maximum value an `unsigned long int' can hold. (Minimum is 0). 14161 14162 // Minimum and maximum values a `signed long long int' can hold. 14163 14164 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 14165 14166 // Minimum and maximum values a `signed long long int' can hold. 14167 14168 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 14169 14170 // This administrivia gets added to the end of limits.h 14171 // if the system has its own version of limits.h. 14172 14173 type _onexit_t = uintptr /* stdlib.h:49:15 */ 14174 14175 type _div_t = struct { 14176 quot int32 14177 rem int32 14178 } /* stdlib.h:59:11 */ 14179 14180 type div_t = _div_t /* stdlib.h:62:5 */ 14181 14182 type _ldiv_t = struct { 14183 quot int32 14184 rem int32 14185 } /* stdlib.h:64:11 */ 14186 14187 type ldiv_t = _ldiv_t /* stdlib.h:67:5 */ 14188 14189 type _LDOUBLE = struct{ ld [10]uint8 } /* stdlib.h:76:5 */ 14190 14191 type _CRT_DOUBLE = struct{ x float64 } /* stdlib.h:83:5 */ 14192 14193 type _CRT_FLOAT = struct{ f float32 } /* stdlib.h:87:5 */ 14194 14195 type _LONGDOUBLE = struct{ x float64 } /* stdlib.h:94:5 */ 14196 14197 type _LDBL12 = struct{ ld12 [12]uint8 } /* stdlib.h:101:5 */ 14198 14199 type _purecall_handler = uintptr /* stdlib.h:142:16 */ 14200 14201 type _invalid_parameter_handler = uintptr /* stdlib.h:147:16 */ 14202 14203 type lldiv_t = struct { 14204 quot int64 14205 rem int64 14206 } /* stdlib.h:699:61 */ 14207 14208 // * 14209 // This file has no copyright assigned and is placed in the Public Domain. 14210 // This file is part of the mingw-w64 runtime package. 14211 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 14212 14213 // * 14214 // This file has no copyright assigned and is placed in the Public Domain. 14215 // This file is part of the mingw-w64 runtime package. 14216 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 14217 14218 // Return codes for _heapwalk() 14219 14220 // Values for _heapinfo.useflag 14221 14222 // The structure used to walk through the heap with _heapwalk. 14223 type _heapinfo = struct { 14224 _pentry uintptr 14225 _size size_t 14226 _useflag int32 14227 } /* malloc.h:46:11 */ 14228 14229 // * 14230 // This file has no copyright assigned and is placed in the Public Domain. 14231 // This file is part of the mingw-w64 runtime package. 14232 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 14233 14234 // * 14235 // This file has no copyright assigned and is placed in the Public Domain. 14236 // This file is part of the mingw-w64 runtime package. 14237 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 14238 14239 // Return codes for _heapwalk() 14240 14241 // Values for _heapinfo.useflag 14242 14243 // The structure used to walk through the heap with _heapwalk. 14244 type _HEAPINFO = _heapinfo /* malloc.h:50:5 */ 14245 14246 // Static assertion. Requires support in the compiler. 14247 14248 // * 14249 // This file has no copyright assigned and is placed in the Public Domain. 14250 // This file is part of the mingw-w64 runtime package. 14251 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 14252 14253 // The suffix to append to the child command lines, if any 14254 14255 // The directory separator character(s) 14256 14257 // Mark a parameter as unused to suppress compiler warnings 14258 14259 // Global data 14260 type Global = struct { 14261 argv0 uintptr 14262 zVfs uintptr 14263 zDbFile uintptr 14264 db uintptr 14265 zErrLog uintptr 14266 pErrLog uintptr 14267 zLog uintptr 14268 pLog uintptr 14269 zName [32]int8 14270 taskId int32 14271 iTrace int32 14272 bSqlTrace int32 14273 bIgnoreSqlErrors int32 14274 nError int32 14275 nTest int32 14276 iTimeout int32 14277 bSync int32 14278 } /* mptest.c:72:8 */ 14279 14280 // Static assertion. Requires support in the compiler. 14281 14282 // * 14283 // This file has no copyright assigned and is placed in the Public Domain. 14284 // This file is part of the mingw-w64 runtime package. 14285 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 14286 14287 // The suffix to append to the child command lines, if any 14288 14289 // The directory separator character(s) 14290 14291 // Mark a parameter as unused to suppress compiler warnings 14292 14293 // Global data 14294 var g Global /* mptest.c:90:3: */ 14295 14296 // Default timeout 14297 14298 // Print a message adding zPrefix[] to the beginning of every line. 14299 func printWithPrefix(tls *libc.TLS, pOut uintptr, zPrefix uintptr, zMsg uintptr) { /* mptest.c:98:13: */ 14300 bp := tls.Alloc(32) 14301 defer tls.Free(32) 14302 14303 for (zMsg != 0) && (*(*int8)(unsafe.Pointer(zMsg + uintptr(0))) != 0) { 14304 var i int32 14305 for i = 0; ((*(*int8)(unsafe.Pointer(zMsg + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\n')) && (int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\r'); i++ { 14306 } 14307 libc.Xfprintf(tls, pOut, ts /* "%s%.*s\n" */, libc.VaList(bp, zPrefix, i, zMsg)) 14308 zMsg += uintptr(i) 14309 for (int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(0)))) == '\n') || (int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(0)))) == '\r') { 14310 zMsg++ 14311 } 14312 } 14313 } 14314 14315 // Compare two pointers to strings, where the pointers might be NULL. 14316 func safe_strcmp(tls *libc.TLS, a uintptr, b uintptr) int32 { /* mptest.c:111:12: */ 14317 if a == b { 14318 return 0 14319 } 14320 if a == uintptr(0) { 14321 return -1 14322 } 14323 if b == uintptr(0) { 14324 return 1 14325 } 14326 return libc.Xstrcmp(tls, a, b) 14327 } 14328 14329 // Return TRUE if string z[] matches glob pattern zGlob[]. 14330 // Return FALSE if the pattern does not match. 14331 // 14332 // Globbing rules: 14333 // 14334 // '*' Matches any sequence of zero or more characters. 14335 // 14336 // '?' Matches exactly one character. 14337 // 14338 // [...] Matches one character from the enclosed list of 14339 // characters. 14340 // 14341 // [^...] Matches one character not in the enclosed list. 14342 // 14343 // '#' Matches any sequence of one or more digits with an 14344 // optional + or - sign in front 14345 func strglob(tls *libc.TLS, zGlob uintptr, z uintptr) int32 { /* mptest.c:136:5: */ 14346 var c int32 14347 var c2 int32 14348 var invert int32 14349 var seen int32 14350 14351 for (libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))))) != 0 { 14352 if c == '*' { 14353 for ((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))))) == '*') || (c == '?') { 14354 if (c == '?') && ((int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))) == 0) { 14355 return 0 14356 } 14357 } 14358 if c == 0 { 14359 return 1 14360 } else if c == '[' { 14361 for (*(*int8)(unsafe.Pointer(z)) != 0) && (strglob(tls, (zGlob-uintptr(1)), z) != 0) { 14362 z++ 14363 } 14364 return (libc.Bool32((int32(*(*int8)(unsafe.Pointer(z)))) != 0)) 14365 } 14366 for (libc.AssignInt32(&c2, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))))) != 0 { 14367 for c2 != c { 14368 c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) 14369 if c2 == 0 { 14370 return 0 14371 } 14372 } 14373 if strglob(tls, zGlob, z) != 0 { 14374 return 1 14375 } 14376 } 14377 return 0 14378 } else if c == '?' { 14379 if (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))) == 0 { 14380 return 0 14381 } 14382 } else if c == '[' { 14383 var prior_c int32 = 0 14384 seen = 0 14385 invert = 0 14386 c = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) 14387 if c == 0 { 14388 return 0 14389 } 14390 c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 14391 if c2 == '^' { 14392 invert = 1 14393 c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 14394 } 14395 if c2 == ']' { 14396 if c == ']' { 14397 seen = 1 14398 } 14399 c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 14400 } 14401 for (c2 != 0) && (c2 != ']') { 14402 if (((c2 == '-') && (int32(*(*int8)(unsafe.Pointer(zGlob + uintptr(0)))) != ']')) && (int32(*(*int8)(unsafe.Pointer(zGlob + uintptr(0)))) != 0)) && (prior_c > 0) { 14403 c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 14404 if (c >= prior_c) && (c <= c2) { 14405 seen = 1 14406 } 14407 prior_c = 0 14408 } else { 14409 if c == c2 { 14410 seen = 1 14411 } 14412 prior_c = c2 14413 } 14414 c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1)))) 14415 } 14416 if (c2 == 0) || ((seen ^ invert) == 0) { 14417 return 0 14418 } 14419 } else if c == '#' { 14420 if ((int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '-') || (int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '+')) && (libc.Xisdigit(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(1)))))) != 0) { 14421 z++ 14422 } 14423 if !(libc.Xisdigit(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(0)))))) != 0) { 14424 return 0 14425 } 14426 z++ 14427 for libc.Xisdigit(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(0)))))) != 0 { 14428 z++ 14429 } 14430 } else { 14431 if c != (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))) { 14432 return 0 14433 } 14434 } 14435 } 14436 return (libc.Bool32(int32(*(*int8)(unsafe.Pointer(z))) == 0)) 14437 } 14438 14439 // Close output stream pOut if it is not stdout or stderr 14440 func maybeClose(tls *libc.TLS, pOut uintptr) { /* mptest.c:208:13: */ 14441 if (pOut != (libc.X__acrt_iob_func(tls, uint32(1)))) && (pOut != (libc.X__acrt_iob_func(tls, uint32(2)))) { 14442 libc.Xfclose(tls, pOut) 14443 } 14444 } 14445 14446 // Print an error message 14447 func errorMessage(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:215:13: */ 14448 bp := tls.Alloc(46) 14449 defer tls.Free(46) 14450 14451 var ap va_list 14452 _ = ap 14453 var zMsg uintptr 14454 // var zPrefix [30]int8 at bp+16, 30 14455 14456 ap = va 14457 zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 14458 _ = ap 14459 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16 /* &zPrefix[0] */, ts+8 /* "%s:ERROR: " */, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+32 /* &.zName */)) 14460 if g.pLog != 0 { 14461 printWithPrefix(tls, g.pLog, bp+16 /* &zPrefix[0] */, zMsg) 14462 libc.Xfflush(tls, g.pLog) 14463 } 14464 if (g.pErrLog != 0) && (safe_strcmp(tls, g.zErrLog, g.zLog) != 0) { 14465 printWithPrefix(tls, g.pErrLog, bp+16 /* &zPrefix[0] */, zMsg) 14466 libc.Xfflush(tls, g.pErrLog) 14467 } 14468 sqlite3.Xsqlite3_free(tls, zMsg) 14469 g.nError++ 14470 } 14471 14472 // Print an error message and then quit. 14473 func fatalError(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:241:13: */ 14474 bp := tls.Alloc(46) 14475 defer tls.Free(46) 14476 14477 var ap va_list 14478 _ = ap 14479 var zMsg uintptr 14480 // var zPrefix [30]int8 at bp+16, 30 14481 14482 ap = va 14483 zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 14484 _ = ap 14485 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16 /* &zPrefix[0] */, ts+19 /* "%s:FATAL: " */, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+32 /* &.zName */)) 14486 if g.pLog != 0 { 14487 printWithPrefix(tls, g.pLog, bp+16 /* &zPrefix[0] */, zMsg) 14488 libc.Xfflush(tls, g.pLog) 14489 maybeClose(tls, g.pLog) 14490 } 14491 if (g.pErrLog != 0) && (safe_strcmp(tls, g.zErrLog, g.zLog) != 0) { 14492 printWithPrefix(tls, g.pErrLog, bp+16 /* &zPrefix[0] */, zMsg) 14493 libc.Xfflush(tls, g.pErrLog) 14494 maybeClose(tls, g.pErrLog) 14495 } 14496 sqlite3.Xsqlite3_free(tls, zMsg) 14497 if g.db != 0 { 14498 var nTry int32 = 0 14499 g.iTimeout = 0 14500 for (trySql(tls, ts+30 /* "UPDATE client SE..." */, 0) == 5) && 14501 ((libc.PostIncInt32(&nTry, 1)) < 100) { 14502 sqlite3.Xsqlite3_sleep(tls, 10) 14503 } 14504 } 14505 sqlite3.Xsqlite3_close(tls, g.db) 14506 libc.Xexit(tls, 1) 14507 } 14508 14509 // Print a log message 14510 func logMessage(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:276:13: */ 14511 bp := tls.Alloc(46) 14512 defer tls.Free(46) 14513 14514 var ap va_list 14515 _ = ap 14516 var zMsg uintptr 14517 // var zPrefix [30]int8 at bp+16, 30 14518 14519 ap = va 14520 zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 14521 _ = ap 14522 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16 /* &zPrefix[0] */, ts+60 /* "%s: " */, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+32 /* &.zName */)) 14523 if g.pLog != 0 { 14524 printWithPrefix(tls, g.pLog, bp+16 /* &zPrefix[0] */, zMsg) 14525 libc.Xfflush(tls, g.pLog) 14526 } 14527 sqlite3.Xsqlite3_free(tls, zMsg) 14528 } 14529 14530 // Return the length of a string omitting trailing whitespace 14531 func clipLength(tls *libc.TLS, z uintptr) int32 { /* mptest.c:294:12: */ 14532 var n int32 = int32(libc.Xstrlen(tls, z)) 14533 for (n > 0) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n - 1))))))) != 0) { 14534 n-- 14535 } 14536 return n 14537 } 14538 14539 // Auxiliary SQL function to return the name of the VFS 14540 func vfsNameFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* mptest.c:303:13: */ 14541 bp := tls.Alloc(4) 14542 defer tls.Free(4) 14543 14544 var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context) 14545 *(*uintptr)(unsafe.Pointer(bp /* zVfs */)) = uintptr(0) 14546 _ = argc 14547 _ = argv 14548 sqlite3.Xsqlite3_file_control(tls, db, ts+65 /* "main" */, 12, bp /* &zVfs */) 14549 if *(*uintptr)(unsafe.Pointer(bp /* zVfs */)) != 0 { 14550 sqlite3.Xsqlite3_result_text(tls, context, *(*uintptr)(unsafe.Pointer(bp /* zVfs */)), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) 14551 } 14552 } 14553 14554 // Busy handler with a g.iTimeout-millisecond timeout 14555 func busyHandler(tls *libc.TLS, pCD uintptr, count int32) int32 { /* mptest.c:321:12: */ 14556 bp := tls.Alloc(16) 14557 defer tls.Free(16) 14558 14559 _ = pCD 14560 if (count * 10) > g.iTimeout { 14561 if g.iTimeout > 0 { 14562 errorMessage(tls, ts+70 /* "timeout after %d..." */, libc.VaList(bp, g.iTimeout)) 14563 } 14564 return 0 14565 } 14566 sqlite3.Xsqlite3_sleep(tls, 10) 14567 return 1 14568 } 14569 14570 // SQL Trace callback 14571 func sqlTraceCallback(tls *libc.TLS, NotUsed1 uintptr, zSql uintptr) { /* mptest.c:334:13: */ 14572 bp := tls.Alloc(24) 14573 defer tls.Free(24) 14574 14575 _ = NotUsed1 14576 logMessage(tls, ts+89 /* "[%.*s]" */, libc.VaList(bp, clipLength(tls, zSql), zSql)) 14577 } 14578 14579 // SQL error log callback 14580 func sqlErrorCallback(tls *libc.TLS, pArg uintptr, iErrCode int32, zMsg uintptr) { /* mptest.c:342:13: */ 14581 bp := tls.Alloc(40) 14582 defer tls.Free(40) 14583 14584 _ = pArg 14585 if (iErrCode == 1) && (g.bIgnoreSqlErrors != 0) { 14586 return 14587 } 14588 if ((iErrCode & 0xff) == 17) && (g.iTrace < 3) { 14589 return 14590 } 14591 if ((g.iTimeout == 0) && ((iErrCode & 0xff) == 5)) && (g.iTrace < 3) { 14592 return 14593 } 14594 if (iErrCode & 0xff) == 27 { 14595 logMessage(tls, ts+96 /* "(info) %s" */, libc.VaList(bp, zMsg)) 14596 } else { 14597 errorMessage(tls, ts+106 /* "(errcode=%d) %s" */, libc.VaList(bp+16, iErrCode, zMsg)) 14598 } 14599 } 14600 14601 // Prepare an SQL statement. Issue a fatal error if unable. 14602 func prepareSql(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { /* mptest.c:357:21: */ 14603 bp := tls.Alloc(28) 14604 defer tls.Free(28) 14605 14606 var ap va_list 14607 _ = ap 14608 var zSql uintptr 14609 var rc int32 14610 *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) = uintptr(0) 14611 ap = va 14612 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 14613 _ = ap 14614 rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+24 /* &pStmt */, uintptr(0)) 14615 if rc != 0 { 14616 sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) 14617 fatalError(tls, ts+122 /* "%s\n%s\n" */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql)) 14618 } 14619 sqlite3.Xsqlite3_free(tls, zSql) 14620 return *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) 14621 } 14622 14623 // Run arbitrary SQL. Issue a fatal error on failure. 14624 func runSql(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:377:13: */ 14625 bp := tls.Alloc(24) 14626 defer tls.Free(24) 14627 14628 var ap va_list 14629 _ = ap 14630 var zSql uintptr 14631 var rc int32 14632 ap = va 14633 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 14634 _ = ap 14635 rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0)) 14636 if rc != 0 { 14637 fatalError(tls, ts+122 /* "%s\n%s\n" */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql)) 14638 } 14639 sqlite3.Xsqlite3_free(tls, zSql) 14640 } 14641 14642 // Try to run arbitrary SQL. Return success code. 14643 func trySql(tls *libc.TLS, zFormat uintptr, va uintptr) int32 { /* mptest.c:394:12: */ 14644 var ap va_list 14645 _ = ap 14646 var zSql uintptr 14647 var rc int32 14648 ap = va 14649 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 14650 _ = ap 14651 rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0)) 14652 sqlite3.Xsqlite3_free(tls, zSql) 14653 return rc 14654 } 14655 14656 // Structure for holding an arbitrary length string 14657 type String1 = struct { 14658 z uintptr 14659 n int32 14660 nAlloc int32 14661 } /* mptest.c:408:9 */ 14662 14663 // Structure for holding an arbitrary length string 14664 type String = String1 /* mptest.c:408:23 */ 14665 14666 // Free a string 14667 func stringFree(tls *libc.TLS, p uintptr) { /* mptest.c:416:13: */ 14668 if (*String)(unsafe.Pointer(p)).z != 0 { 14669 sqlite3.Xsqlite3_free(tls, (*String)(unsafe.Pointer(p)).z) 14670 } 14671 libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(String{}))) 14672 } 14673 14674 // Append n bytes of text to a string. If n<0 append the entire string. 14675 func stringAppend(tls *libc.TLS, p uintptr, z uintptr, n int32) { /* mptest.c:422:13: */ 14676 if n < 0 { 14677 n = int32(libc.Xstrlen(tls, z)) 14678 } 14679 if ((*String)(unsafe.Pointer(p)).n + n) >= (*String)(unsafe.Pointer(p)).nAlloc { 14680 var nAlloc int32 = ((((*String)(unsafe.Pointer(p)).nAlloc * 2) + n) + 100) 14681 var zNew uintptr = sqlite3.Xsqlite3_realloc(tls, (*String)(unsafe.Pointer(p)).z, nAlloc) 14682 if zNew == uintptr(0) { 14683 fatalError(tls, ts+129 /* "out of memory" */, 0) 14684 } 14685 (*String)(unsafe.Pointer(p)).z = zNew 14686 (*String)(unsafe.Pointer(p)).nAlloc = nAlloc 14687 } 14688 libc.Xmemcpy(tls, ((*String)(unsafe.Pointer(p)).z + uintptr((*String)(unsafe.Pointer(p)).n)), z, uint32(n)) 14689 *(*int32)(unsafe.Pointer(p + 4 /* &.n */)) += (n) 14690 *(*int8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z + uintptr((*String)(unsafe.Pointer(p)).n))) = int8(0) 14691 } 14692 14693 // Reset a string to an empty string 14694 func stringReset(tls *libc.TLS, p uintptr) { /* mptest.c:437:13: */ 14695 if (*String)(unsafe.Pointer(p)).z == uintptr(0) { 14696 stringAppend(tls, p, ts+143 /* " " */, 1) 14697 } 14698 (*String)(unsafe.Pointer(p)).n = 0 14699 *(*int8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z + uintptr(0))) = int8(0) 14700 } 14701 14702 // Append a new token onto the end of the string 14703 func stringAppendTerm(tls *libc.TLS, p uintptr, z uintptr) { /* mptest.c:444:13: */ 14704 var i int32 14705 if (*String)(unsafe.Pointer(p)).n != 0 { 14706 stringAppend(tls, p, ts+143 /* " " */, 1) 14707 } 14708 if z == uintptr(0) { 14709 stringAppend(tls, p, ts+145 /* "nil" */, 3) 14710 return 14711 } 14712 for i = 0; (*(*int8)(unsafe.Pointer(z + uintptr(i))) != 0) && !(libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(i)))))) != 0); i++ { 14713 } 14714 if (i > 0) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == 0) { 14715 stringAppend(tls, p, z, i) 14716 return 14717 } 14718 stringAppend(tls, p, ts+149 /* "'" */, 1) 14719 for *(*int8)(unsafe.Pointer(z + uintptr(0))) != 0 { 14720 for i = 0; (*(*int8)(unsafe.Pointer(z + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) != '\''); i++ { 14721 } 14722 if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 { 14723 stringAppend(tls, p, z, (i + 1)) 14724 stringAppend(tls, p, ts+149 /* "'" */, 1) 14725 z += (uintptr(i + 1)) 14726 } else { 14727 stringAppend(tls, p, z, i) 14728 break 14729 } 14730 } 14731 stringAppend(tls, p, ts+149 /* "'" */, 1) 14732 } 14733 14734 // Callback function for evalSql() 14735 func evalCallback(tls *libc.TLS, pCData uintptr, argc int32, argv uintptr, azCol uintptr) int32 { /* mptest.c:474:12: */ 14736 var p uintptr = pCData 14737 var i int32 14738 _ = azCol 14739 for i = 0; i < argc; i++ { 14740 stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) 14741 } 14742 return 0 14743 } 14744 14745 // Run arbitrary SQL and record the results in an output string 14746 // given by the first parameter. 14747 func evalSql(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) int32 { /* mptest.c:486:12: */ 14748 bp := tls.Alloc(50) 14749 defer tls.Free(50) 14750 14751 var ap va_list 14752 _ = ap 14753 var zSql uintptr 14754 var rc int32 14755 *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)) = uintptr(0) 14756 ap = va 14757 zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) 14758 _ = ap 14759 14760 rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, *(*uintptr)(unsafe.Pointer(&struct { 14761 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 14762 }{evalCallback})), p, bp+16 /* &zErrMsg */) 14763 sqlite3.Xsqlite3_free(tls, zSql) 14764 if rc != 0 { 14765 // var zErr [30]int8 at bp+20, 30 14766 14767 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+20 /* &zErr[0] */, ts+151 /* "error(%d)" */, libc.VaList(bp, rc)) 14768 stringAppendTerm(tls, p, bp+20 /* &zErr[0] */) 14769 if *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)) != 0 { 14770 stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */))) 14771 sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */))) 14772 } 14773 } 14774 return rc 14775 } 14776 14777 // Auxiliary SQL function to recursively evaluate SQL. 14778 func evalFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* mptest.c:512:13: */ 14779 bp := tls.Alloc(16) 14780 defer tls.Free(16) 14781 14782 var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context) 14783 var zSql uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*4))) 14784 // var res String at bp, 12 14785 14786 *(*uintptr)(unsafe.Pointer(bp + 12 /* zErrMsg */)) = uintptr(0) 14787 var rc int32 14788 _ = argc 14789 libc.Xmemset(tls, bp /* &res */, 0, uint32(unsafe.Sizeof(String{}))) 14790 rc = sqlite3.Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct { 14791 f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 14792 }{evalCallback})), bp /* &res */, bp+12 /* &zErrMsg */) 14793 if *(*uintptr)(unsafe.Pointer(bp + 12 /* zErrMsg */)) != 0 { 14794 sqlite3.Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 12 /* zErrMsg */)), -1) 14795 sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 12 /* zErrMsg */))) 14796 } else if rc != 0 { 14797 sqlite3.Xsqlite3_result_error_code(tls, context, rc) 14798 } else { 14799 sqlite3.Xsqlite3_result_text(tls, context, (*String)(unsafe.Pointer(bp /* &res */)).z, -1, libc.UintptrFromInt32(-1)) 14800 } 14801 stringFree(tls, bp /* &res */) 14802 } 14803 14804 // Look up the next task for client iClient in the database. 14805 // Return the task script and the task number and mark that 14806 // task as being under way. 14807 func startScript(tls *libc.TLS, iClient int32, pzScript uintptr, pTaskId uintptr, pzTaskName uintptr) int32 { /* mptest.c:541:12: */ 14808 bp := tls.Alloc(152) 14809 defer tls.Free(152) 14810 14811 var pStmt uintptr = uintptr(0) 14812 var taskId int32 14813 var rc int32 14814 var totalTime int32 = 0 14815 14816 *(*uintptr)(unsafe.Pointer(pzScript)) = uintptr(0) 14817 g.iTimeout = 0 14818 for 1 != 0 { 14819 rc = trySql(tls, ts+161 /* "BEGIN IMMEDIATE" */, 0) 14820 if rc == 5 { 14821 sqlite3.Xsqlite3_sleep(tls, 10) 14822 totalTime = totalTime + (10) 14823 continue 14824 } 14825 if rc != 0 { 14826 fatalError(tls, ts+177 /* "in startScript: ..." */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db))) 14827 } 14828 if (g.nError != 0) || (g.nTest != 0) { 14829 runSql(tls, ts+196, /* "UPDATE counters ..." */ 14830 libc.VaList(bp+16, g.nError, g.nTest)) 14831 g.nError = 0 14832 g.nTest = 0 14833 } 14834 pStmt = prepareSql(tls, ts+249 /* "SELECT 1 FROM cl..." */, libc.VaList(bp+40, iClient)) 14835 rc = sqlite3.Xsqlite3_step(tls, pStmt) 14836 sqlite3.Xsqlite3_finalize(tls, pStmt) 14837 if rc == 100 { 14838 runSql(tls, ts+295 /* "DELETE FROM clie..." */, libc.VaList(bp+56, iClient)) 14839 g.iTimeout = 10000 14840 runSql(tls, ts+326 /* "COMMIT TRANSACTI..." */, 0) 14841 return 101 14842 } 14843 pStmt = prepareSql(tls, 14844 14845 ts+346 /* "SELECT script, i..." */, libc.VaList(bp+72, iClient)) 14846 rc = sqlite3.Xsqlite3_step(tls, pStmt) 14847 if rc == 100 { 14848 var n int32 = sqlite3.Xsqlite3_column_bytes(tls, pStmt, 0) 14849 *(*uintptr)(unsafe.Pointer(pzScript)) = sqlite3.Xsqlite3_malloc(tls, (n + 1)) 14850 libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(pzScript)), sqlite3.Xsqlite3_column_text(tls, pStmt, 0)) 14851 *(*int32)(unsafe.Pointer(pTaskId)) = libc.AssignInt32(&taskId, sqlite3.Xsqlite3_column_int(tls, pStmt, 1)) 14852 *(*uintptr)(unsafe.Pointer(pzTaskName)) = sqlite3.Xsqlite3_mprintf(tls, ts+438 /* "%s" */, libc.VaList(bp+88, sqlite3.Xsqlite3_column_text(tls, pStmt, 2))) 14853 sqlite3.Xsqlite3_finalize(tls, pStmt) 14854 runSql(tls, 14855 14856 ts+441 /* "UPDATE task SE..." */, libc.VaList(bp+104, taskId)) 14857 g.iTimeout = 10000 14858 runSql(tls, ts+326 /* "COMMIT TRANSACTI..." */, 0) 14859 return 0 14860 } 14861 sqlite3.Xsqlite3_finalize(tls, pStmt) 14862 if rc == 101 { 14863 if totalTime > 30000 { 14864 errorMessage(tls, ts+524 /* "Waited over 30 s..." */, 0) 14865 runSql(tls, ts+573 /* "DELETE FROM clie..." */, libc.VaList(bp+120, iClient)) 14866 sqlite3.Xsqlite3_close(tls, g.db) 14867 libc.Xexit(tls, 1) 14868 } 14869 for trySql(tls, ts+613 /* "COMMIT" */, 0) == 5 { 14870 sqlite3.Xsqlite3_sleep(tls, 10) 14871 totalTime = totalTime + (10) 14872 } 14873 sqlite3.Xsqlite3_sleep(tls, 100) 14874 totalTime = totalTime + (100) 14875 continue 14876 } 14877 fatalError(tls, ts+438 /* "%s" */, libc.VaList(bp+136, sqlite3.Xsqlite3_errmsg(tls, g.db))) 14878 } 14879 g.iTimeout = 10000 14880 return int32(0) 14881 } 14882 14883 // Mark a script as having finished. Remove the CLIENT table entry 14884 // if bShutdown is true. 14885 func finishScript(tls *libc.TLS, iClient int32, taskId int32, bShutdown int32) int32 { /* mptest.c:623:12: */ 14886 bp := tls.Alloc(32) 14887 defer tls.Free(32) 14888 14889 runSql(tls, 14890 14891 ts+620 /* "UPDATE task SE..." */, libc.VaList(bp, taskId)) 14892 if bShutdown != 0 { 14893 runSql(tls, ts+295 /* "DELETE FROM clie..." */, libc.VaList(bp+16, iClient)) 14894 } 14895 return 0 14896 } 14897 14898 // Start up a client process for iClient, if it is not already 14899 // running. If the client is already running, then this routine 14900 // is a no-op. 14901 func startClient(tls *libc.TLS, iClient int32) { /* mptest.c:638:13: */ 14902 bp := tls.Alloc(228) 14903 defer tls.Free(228) 14904 14905 runSql(tls, ts+701 /* "INSERT OR IGNORE..." */, libc.VaList(bp, iClient)) 14906 if sqlite3.Xsqlite3_changes(tls, g.db) != 0 { 14907 var zSys uintptr 14908 var rc int32 14909 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+743, /* "%s \"%s\" --client..." */ 14910 libc.VaList(bp+16, g.argv0, g.zDbFile, iClient, g.iTrace)) 14911 if g.bSqlTrace != 0 { 14912 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+774 /* "%z --sqltrace" */, libc.VaList(bp+56, zSys)) 14913 } 14914 if g.bSync != 0 { 14915 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+788 /* "%z --sync" */, libc.VaList(bp+72, zSys)) 14916 } 14917 if g.zVfs != 0 { 14918 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+798 /* "%z --vfs \"%s\"" */, libc.VaList(bp+88, zSys, g.zVfs)) 14919 } 14920 if g.iTrace >= 2 { 14921 logMessage(tls, ts+812 /* "system('%q')" */, libc.VaList(bp+112, zSys)) 14922 } 14923 { 14924 // var startupInfo STARTUPINFOA at bp+144, 68 14925 14926 // var processInfo PROCESS_INFORMATION at bp+212, 16 14927 14928 libc.Xmemset(tls, bp+144 /* &startupInfo */, 0, uint32(unsafe.Sizeof(STARTUPINFOA{}))) 14929 (*STARTUPINFOA)(unsafe.Pointer(bp + 144 /* &startupInfo */)).cb = DWORD(unsafe.Sizeof(STARTUPINFOA{})) 14930 libc.Xmemset(tls, bp+212 /* &processInfo */, 0, uint32(unsafe.Sizeof(PROCESS_INFORMATION{}))) 14931 rc = libc.XCreateProcessA(tls, uintptr(0), zSys, uintptr(0), uintptr(0), 0, uint32(0), uintptr(0), uintptr(0), 14932 bp+144 /* &startupInfo */, bp+212 /* &processInfo */) 14933 if rc != 0 { 14934 libc.XCloseHandle(tls, (*PROCESS_INFORMATION)(unsafe.Pointer(bp+212 /* &processInfo */)).hThread) 14935 libc.XCloseHandle(tls, (*PROCESS_INFORMATION)(unsafe.Pointer(bp+212 /* &processInfo */)).hProcess) 14936 } else { 14937 errorMessage(tls, ts+825, /* "CreateProcessA()..." */ 14938 libc.VaList(bp+128, libc.XGetLastError(tls))) 14939 } 14940 14941 } 14942 sqlite3.Xsqlite3_free(tls, zSys) 14943 } 14944 } 14945 14946 // Read the entire content of a file into memory 14947 func readFile(tls *libc.TLS, zFilename uintptr) uintptr { /* mptest.c:684:13: */ 14948 bp := tls.Alloc(16) 14949 defer tls.Free(16) 14950 14951 var in uintptr = libc.Xfopen(tls, zFilename, ts+868 /* "rb" */) 14952 var sz int32 14953 var z uintptr 14954 if in == uintptr(0) { 14955 fatalError(tls, ts+871 /* "cannot open \"%s\"..." */, libc.VaList(bp, zFilename)) 14956 } 14957 libc.Xfseek(tls, in, 0, 2) 14958 sz = libc.Xftell(tls, in) 14959 libc.Xrewind(tls, in) 14960 z = sqlite3.Xsqlite3_malloc(tls, (int32(sz + 1))) 14961 sz = int32(libc.Xfread(tls, z, uint32(1), uint32(sz), in)) 14962 *(*int8)(unsafe.Pointer(z + uintptr(sz))) = int8(0) 14963 libc.Xfclose(tls, in) 14964 return z 14965 } 14966 14967 // Return the length of the next token. 14968 func tokenLength(tls *libc.TLS, z uintptr, pnLine uintptr) int32 { /* mptest.c:704:12: */ 14969 var n int32 = 0 14970 if (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(0)))))) != 0) || ((int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '/') && (int32(*(*int8)(unsafe.Pointer(z + uintptr(1)))) == '*')) { 14971 var inC int32 = 0 14972 var c int32 14973 if int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '/' { 14974 inC = 1 14975 n = 2 14976 } 14977 for (libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&n, 1))))))) != 0 { 14978 if c == '\n' { 14979 (*(*int32)(unsafe.Pointer(pnLine)))++ 14980 } 14981 if libc.Xisspace(tls, int32(uint8(c))) != 0 { 14982 continue 14983 } 14984 if ((inC != 0) && (c == '*')) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '/') { 14985 n++ 14986 inC = 0 14987 } else if (!(inC != 0) && (c == '/')) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '*') { 14988 n++ 14989 inC = 1 14990 } else if !(inC != 0) { 14991 break 14992 } 14993 } 14994 n-- 14995 } else if (int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '-') && (int32(*(*int8)(unsafe.Pointer(z + uintptr(1)))) == '-') { 14996 for n = 2; (*(*int8)(unsafe.Pointer(z + uintptr(n))) != 0) && (int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) != '\n'); n++ { 14997 } 14998 if *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 { 14999 (*(*int32)(unsafe.Pointer(pnLine)))++ 15000 n++ 15001 } 15002 } else if (int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '"') || (int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '\'') { 15003 var delim int32 = int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) 15004 for n = 1; *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0; n++ { 15005 if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '\n' { 15006 (*(*int32)(unsafe.Pointer(pnLine)))++ 15007 } 15008 if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == delim { 15009 n++ 15010 if int32(*(*int8)(unsafe.Pointer(z + uintptr((n + 1))))) != delim { 15011 break 15012 } 15013 } 15014 } 15015 } else { 15016 var c int32 15017 for n = 1; (((((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))))) != 0) && !(libc.Xisspace(tls, int32(uint8(c))) != 0)) && (c != '"')) && (c != '\'')) && (c != ';'); n++ { 15018 } 15019 } 15020 return n 15021 } 15022 15023 // Copy a single token into a string buffer. 15024 func extractToken(tls *libc.TLS, zIn uintptr, nIn int32, zOut uintptr, nOut int32) int32 { /* mptest.c:749:12: */ 15025 var i int32 15026 if nIn <= 0 { 15027 *(*int8)(unsafe.Pointer(zOut + uintptr(0))) = int8(0) 15028 return 0 15029 } 15030 for i = 0; ((i < nIn) && (i < (nOut - 1))) && !(libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))))) != 0); i++ { 15031 *(*int8)(unsafe.Pointer(zOut + uintptr(i))) = *(*int8)(unsafe.Pointer(zIn + uintptr(i))) 15032 } 15033 *(*int8)(unsafe.Pointer(zOut + uintptr(i))) = int8(0) 15034 return i 15035 } 15036 15037 // Find the number of characters up to the start of the next "--end" token. 15038 func findEnd(tls *libc.TLS, z uintptr, pnLine uintptr) int32 { /* mptest.c:763:12: */ 15039 var n int32 = 0 15040 for (*(*int8)(unsafe.Pointer(z + uintptr(n))) != 0) && ((libc.Xstrncmp(tls, (z+uintptr(n)), ts+900 /* "--end" */, uint32(5)) != 0) || !(libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 5))))))) != 0)) { 15041 n = n + (tokenLength(tls, (z + uintptr(n)), pnLine)) 15042 } 15043 return n 15044 } 15045 15046 // Find the number of characters up to the first character past the 15047 // of the next "--endif" or "--else" token. Nested --if commands are 15048 // also skipped. 15049 func findEndif(tls *libc.TLS, z uintptr, stopAtElse int32, pnLine uintptr) int32 { /* mptest.c:776:12: */ 15050 var n int32 = 0 15051 for *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 { 15052 var len int32 = tokenLength(tls, (z + uintptr(n)), pnLine) 15053 if ((libc.Xstrncmp(tls, (z+uintptr(n)), ts+906 /* "--endif" */, uint32(7)) == 0) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 7))))))) != 0)) || 15054 (((stopAtElse != 0) && (libc.Xstrncmp(tls, (z+uintptr(n)), ts+914 /* "--else" */, uint32(6)) == 0)) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 6))))))) != 0)) { 15055 return (n + len) 15056 } 15057 if (libc.Xstrncmp(tls, (z+uintptr(n)), ts+921 /* "--if" */, uint32(4)) == 0) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr((n + 4))))))) != 0) { 15058 var skip int32 = findEndif(tls, ((z + uintptr(n)) + uintptr(len)), 0, pnLine) 15059 n = n + (skip + len) 15060 } else { 15061 n = n + (len) 15062 } 15063 } 15064 return n 15065 } 15066 15067 // Wait for a client process to complete all its tasks 15068 func waitForClient(tls *libc.TLS, iClient int32, iTimeout int32, zErrPrefix uintptr) { /* mptest.c:798:13: */ 15069 bp := tls.Alloc(56) 15070 defer tls.Free(56) 15071 15072 var pStmt uintptr 15073 var rc int32 15074 if iClient > 0 { 15075 pStmt = prepareSql(tls, 15076 15077 ts+926, /* "SELECT 1 FROM ta..." */ 15078 libc.VaList(bp, iClient)) 15079 } else { 15080 pStmt = prepareSql(tls, 15081 15082 ts+1022 /* "SELECT 1 FROM ta..." */, 0) 15083 } 15084 g.iTimeout = 0 15085 for (((libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt))) == 5) || (rc == 100)) && 15086 (iTimeout > 0) { 15087 sqlite3.Xsqlite3_reset(tls, pStmt) 15088 sqlite3.Xsqlite3_sleep(tls, 50) 15089 iTimeout = iTimeout - (50) 15090 } 15091 sqlite3.Xsqlite3_finalize(tls, pStmt) 15092 g.iTimeout = 10000 15093 if rc != 101 { 15094 if zErrPrefix == uintptr(0) { 15095 zErrPrefix = ts + 1103 /* "" */ 15096 } 15097 if iClient > 0 { 15098 errorMessage(tls, ts+1104 /* "%stimeout waitin..." */, libc.VaList(bp+16, zErrPrefix, iClient)) 15099 } else { 15100 errorMessage(tls, ts+1136 /* "%stimeout waitin..." */, libc.VaList(bp+40, zErrPrefix)) 15101 } 15102 } 15103 } 15104 15105 // Return a pointer to the tail of a filename 15106 func filenameTail(tls *libc.TLS, z uintptr) uintptr { /* mptest.c:836:13: */ 15107 var i int32 15108 var j int32 15109 for i = libc.AssignInt32(&j, 0); *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0; i++ { 15110 if ((int32(*(*int8)(unsafe.Pointer(z + uintptr(i))))) == '/') || ((int32(*(*int8)(unsafe.Pointer(z + uintptr(i))))) == '\\') { 15111 j = (i + 1) 15112 } 15113 } 15114 return (z + uintptr(j)) 15115 } 15116 15117 // Interpret zArg as a boolean value. Return either 0 or 1. 15118 func booleanValue(tls *libc.TLS, zArg uintptr) int32 { /* mptest.c:845:12: */ 15119 bp := tls.Alloc(16) 15120 defer tls.Free(16) 15121 15122 var i int32 15123 if zArg == uintptr(0) { 15124 return 0 15125 } 15126 for i = 0; (int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) >= '0') && (int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) <= '9'); i++ { 15127 } 15128 if (i > 0) && (int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) == 0) { 15129 return libc.Xatoi(tls, zArg) 15130 } 15131 if (sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1170 /* "on" */) == 0) || (sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1173 /* "yes" */) == 0) { 15132 return 1 15133 } 15134 if (sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1177 /* "off" */) == 0) || (sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1181 /* "no" */) == 0) { 15135 return 0 15136 } 15137 errorMessage(tls, ts+1184 /* "unknown boolean:..." */, libc.VaList(bp, zArg)) 15138 return 0 15139 } 15140 15141 // This routine exists as a convenient place to set a debugger 15142 // breakpoint. 15143 func test_breakpoint(tls *libc.TLS) { /* mptest.c:864:13: */ 15144 atomic.AddInt32(&cnt, 1) 15145 } 15146 15147 var cnt int32 = 0 /* mptest.c:864:56 */ 15148 15149 // Maximum number of arguments to a --command 15150 15151 // Run a script. 15152 func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFilename uintptr) { /* mptest.c:872:13: */ 15153 bp := tls.Alloc(1766) 15154 defer tls.Free(1766) 15155 15156 *(*int32)(unsafe.Pointer(bp + 532 /* lineno */)) = 1 15157 var prevLine int32 = 1 15158 var ii int32 = 0 15159 var iBegin int32 = 0 15160 var n int32 15161 var c int32 15162 var j int32 15163 var len int32 15164 var nArg int32 15165 // var sResult String at bp+520, 12 15166 15167 // var zCmd [30]int8 at bp+536, 30 15168 15169 // var zError [1000]int8 at bp+766, 1000 15170 15171 // var azArg [2][100]int8 at bp+566, 200 15172 15173 libc.Xmemset(tls, bp+520 /* &sResult */, 0, uint32(unsafe.Sizeof(String{}))) 15174 stringReset(tls, bp+520 /* &sResult */) 15175 for (libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii)))))) != 0 { 15176 prevLine = *(*int32)(unsafe.Pointer(bp + 532 /* lineno */)) 15177 len = tokenLength(tls, (zScript + uintptr(ii)), bp+532 /* &lineno */) 15178 if (libc.Xisspace(tls, int32(uint8(c))) != 0) || ((c == '/') && (int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 1))))) == '*')) { 15179 ii = ii + (len) 15180 continue 15181 } 15182 if ((c != '-') || (int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 1))))) != '-')) || !(libc.Xisalpha(tls, int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 2)))))) != 0) { 15183 ii = ii + (len) 15184 continue 15185 } 15186 15187 // Run any prior SQL before processing the new --command 15188 if ii > iBegin { 15189 var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1206 /* "%.*s" */, libc.VaList(bp, (ii-iBegin), (zScript+uintptr(iBegin)))) 15190 evalSql(tls, bp+520 /* &sResult */, zSql, 0) 15191 sqlite3.Xsqlite3_free(tls, zSql) 15192 iBegin = (ii + len) 15193 } 15194 15195 // Parse the --command 15196 if g.iTrace >= 2 { 15197 logMessage(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+24, len, (zScript+uintptr(ii)))) 15198 } 15199 n = extractToken(tls, ((zScript + uintptr(ii)) + uintptr(2)), (len - 2), bp+536 /* &zCmd[0] */, int32(unsafe.Sizeof([30]int8{}))) 15200 for nArg = 0; (n < (len - 2)) && (nArg < 2); nArg++ { 15201 for (n < (len - 2)) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(((ii + 2) + n))))))) != 0) { 15202 n++ 15203 } 15204 if n >= (len - 2) { 15205 break 15206 } 15207 n = n + (extractToken(tls, (((zScript + uintptr(ii)) + uintptr(2)) + uintptr(n)), ((len - 2) - n), 15208 (bp + 566 /* &azArg[0] */ + uintptr(nArg)*100), int32(unsafe.Sizeof([100]int8{})))) 15209 } 15210 for j = nArg; j < 2; j++ { 15211 *(*int8)(unsafe.Pointer((bp + 566 /* &azArg[0] */ + uintptr(libc.PostIncInt32(&j, 1))*100) + uintptr(0))) = int8(0) 15212 } 15213 15214 // --sleep N 15215 // 15216 // Pause for N milliseconds 15217 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1211 /* "sleep" */) == 0 { 15218 sqlite3.Xsqlite3_sleep(tls, libc.Xatoi(tls, (bp+566 /* &azArg[0] */ +uintptr(0)*100))) 15219 } else 15220 15221 // --exit N 15222 // 15223 // Exit this process. If N>0 then exit without shutting down 15224 // SQLite. (In other words, simulate a crash.) 15225 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1217 /* "exit" */) == 0 { 15226 var rc int32 = libc.Xatoi(tls, (bp + 566 /* &azArg[0] */ + uintptr(0)*100)) 15227 finishScript(tls, iClient, taskId, 1) 15228 if rc == 0 { 15229 sqlite3.Xsqlite3_close(tls, g.db) 15230 } 15231 libc.Xexit(tls, rc) 15232 } else 15233 15234 // --testcase NAME 15235 // 15236 // Begin a new test case. Announce in the log that the test case 15237 // has begun. 15238 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1222 /* "testcase" */) == 0 { 15239 if g.iTrace == 1 { 15240 logMessage(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+48, (len-1), (zScript+uintptr(ii)))) 15241 } 15242 stringReset(tls, bp+520 /* &sResult */) 15243 } else 15244 15245 // --finish 15246 // 15247 // Mark the current task as having finished, even if it is not. 15248 // This can be used in conjunction with --exit to simulate a crash. 15249 if (libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1231 /* "finish" */) == 0) && (iClient > 0) { 15250 finishScript(tls, iClient, taskId, 1) 15251 } else 15252 15253 // --reset 15254 // 15255 // Reset accumulated results back to an empty string 15256 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1238 /* "reset" */) == 0 { 15257 stringReset(tls, bp+520 /* &sResult */) 15258 } else 15259 15260 // --match ANSWER... 15261 // 15262 // Check to see if output matches ANSWER. Report an error if not. 15263 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1244 /* "match" */) == 0 { 15264 var jj int32 15265 var zAns uintptr = (zScript + uintptr(ii)) 15266 for jj = 7; (jj < (len - 1)) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj)))))) != 0); jj++ { 15267 } 15268 zAns += uintptr(jj) 15269 if (((len - jj) - 1) != (*String)(unsafe.Pointer(bp+520 /* &sResult */)).n) || (libc.Xstrncmp(tls, (*String)(unsafe.Pointer(bp+520 /* &sResult */)).z, zAns, (uint32((len-jj)-1))) != 0) { 15270 errorMessage(tls, ts+1250, /* "line %d of %s:\nE..." */ 15271 libc.VaList(bp+72, prevLine, zFilename, ((len-jj)-1), zAns, (*String)(unsafe.Pointer(bp+520 /* &sResult */)).z)) 15272 } 15273 g.nTest++ 15274 stringReset(tls, bp+520 /* &sResult */) 15275 } else 15276 15277 // --glob ANSWER... 15278 // --notglob ANSWER.... 15279 // 15280 // Check to see if output does or does not match the glob pattern 15281 // ANSWER. 15282 if (libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1295 /* "glob" */) == 0) || (libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1300 /* "notglob" */) == 0) { 15283 var jj int32 15284 var zAns uintptr = (zScript + uintptr(ii)) 15285 var zCopy uintptr 15286 var isGlob int32 = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(bp + 536 /* &zCmd[0] */ + uintptr(0)))) == 'g')) 15287 for jj = (9 - (3 * isGlob)); (jj < (len - 1)) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj)))))) != 0); jj++ { 15288 } 15289 zAns += uintptr(jj) 15290 zCopy = sqlite3.Xsqlite3_mprintf(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+120, ((len-jj)-1), zAns)) 15291 if ((libc.Bool32(sqlite3.Xsqlite3_strglob(tls, zCopy, (*String)(unsafe.Pointer(bp+520 /* &sResult */)).z) == 0)) ^ isGlob) != 0 { 15292 errorMessage(tls, ts+1308, /* "line %d of %s:\nE..." */ 15293 libc.VaList(bp+144, prevLine, zFilename, zCopy, (*String)(unsafe.Pointer(bp+520 /* &sResult */)).z)) 15294 } 15295 sqlite3.Xsqlite3_free(tls, zCopy) 15296 g.nTest++ 15297 stringReset(tls, bp+520 /* &sResult */) 15298 } else 15299 15300 // --output 15301 // 15302 // Output the result of the previous SQL. 15303 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1351 /* "output" */) == 0 { 15304 logMessage(tls, ts+438 /* "%s" */, libc.VaList(bp+184, (*String)(unsafe.Pointer(bp+520 /* &sResult */)).z)) 15305 } else 15306 15307 // --source FILENAME 15308 // 15309 // Run a subscript from a separate file. 15310 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1358 /* "source" */) == 0 { 15311 var zNewFile uintptr 15312 var zNewScript uintptr 15313 var zToDel uintptr = uintptr(0) 15314 zNewFile = (bp + 566 /* &azArg[0] */ + uintptr(0)*100) 15315 if !(((int32(*(*int8)(unsafe.Pointer(zNewFile + uintptr(0))))) == '/') || ((int32(*(*int8)(unsafe.Pointer(zNewFile + uintptr(0))))) == '\\')) { 15316 var k int32 15317 for k = (int32(libc.Xstrlen(tls, zFilename)) - 1); (k >= 0) && !(((int32(*(*int8)(unsafe.Pointer(zFilename + uintptr(k))))) == '/') || ((int32(*(*int8)(unsafe.Pointer(zFilename + uintptr(k))))) == '\\')); k-- { 15318 } 15319 if k > 0 { 15320 zNewFile = libc.AssignUintptr(&zToDel, sqlite3.Xsqlite3_mprintf(tls, ts+1365 /* "%.*s/%s" */, libc.VaList(bp+200, k, zFilename, zNewFile))) 15321 } 15322 } 15323 zNewScript = readFile(tls, zNewFile) 15324 if g.iTrace != 0 { 15325 logMessage(tls, ts+1373 /* "begin script [%s..." */, libc.VaList(bp+232, zNewFile)) 15326 } 15327 runScript(tls, 0, 0, zNewScript, zNewFile) 15328 sqlite3.Xsqlite3_free(tls, zNewScript) 15329 if g.iTrace != 0 { 15330 logMessage(tls, ts+1392 /* "end script [%s]\n" */, libc.VaList(bp+248, zNewFile)) 15331 } 15332 sqlite3.Xsqlite3_free(tls, zToDel) 15333 } else 15334 15335 // --print MESSAGE.... 15336 // 15337 // Output the remainder of the line to the log file 15338 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1409 /* "print" */) == 0 { 15339 var jj int32 15340 for jj = 7; (jj < len) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + jj))))))) != 0); jj++ { 15341 } 15342 logMessage(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+264, (len-jj), ((zScript+uintptr(ii))+uintptr(jj)))) 15343 } else 15344 15345 // --if EXPR 15346 // 15347 // Skip forward to the next matching --endif or --else if EXPR is false. 15348 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1415 /* "if" */) == 0 { 15349 var jj int32 15350 var rc int32 15351 var pStmt uintptr 15352 for jj = 4; (jj < len) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + jj))))))) != 0); jj++ { 15353 } 15354 pStmt = prepareSql(tls, ts+1418 /* "SELECT %.*s" */, libc.VaList(bp+288, (len-jj), ((zScript+uintptr(ii))+uintptr(jj)))) 15355 rc = sqlite3.Xsqlite3_step(tls, pStmt) 15356 if (rc != 100) || (sqlite3.Xsqlite3_column_int(tls, pStmt, 0) == 0) { 15357 ii = ii + (findEndif(tls, ((zScript + uintptr(ii)) + uintptr(len)), 1, bp+532 /* &lineno */)) 15358 } 15359 sqlite3.Xsqlite3_finalize(tls, pStmt) 15360 } else 15361 15362 // --else 15363 // 15364 // This command can only be encountered if currently inside an --if that 15365 // is true. Skip forward to the next matching --endif. 15366 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1430 /* "else" */) == 0 { 15367 ii = ii + (findEndif(tls, ((zScript + uintptr(ii)) + uintptr(len)), 0, bp+532 /* &lineno */)) 15368 } else 15369 15370 // --endif 15371 // 15372 // This command can only be encountered if currently inside an --if that 15373 // is true or an --else of a false if. This is a no-op. 15374 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1435 /* "endif" */) == 0 { 15375 // no-op 15376 } else 15377 15378 // --start CLIENT 15379 // 15380 // Start up the given client. 15381 if (libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1441 /* "start" */) == 0) && (iClient == 0) { 15382 var iNewClient int32 = libc.Xatoi(tls, (bp + 566 /* &azArg[0] */ + uintptr(0)*100)) 15383 if iNewClient > 0 { 15384 startClient(tls, iNewClient) 15385 } 15386 } else 15387 15388 // --wait CLIENT TIMEOUT 15389 // 15390 // Wait until all tasks complete for the given client. If CLIENT is 15391 // "all" then wait for all clients to complete. Wait no longer than 15392 // TIMEOUT milliseconds (default 10,000) 15393 if (libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1447 /* "wait" */) == 0) && (iClient == 0) { 15394 var iTimeout int32 15395 if nArg >= 2 { 15396 iTimeout = libc.Xatoi(tls, (bp + 566 /* &azArg[0] */ + uintptr(1)*100)) 15397 } else { 15398 iTimeout = 10000 15399 } 15400 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]int8{})), bp+766 /* &zError[0] */, ts+1452, /* "line %d of %s\n" */ 15401 libc.VaList(bp+312, prevLine, zFilename)) 15402 waitForClient(tls, libc.Xatoi(tls, (bp+566 /* &azArg[0] */ +uintptr(0)*100)), iTimeout, bp+766 /* &zError[0] */) 15403 } else 15404 15405 // --task CLIENT 15406 // <task-content-here> 15407 // --end 15408 // 15409 // Assign work to a client. Start the client if it is not running 15410 // already. 15411 if (libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1467 /* "task" */) == 0) && (iClient == 0) { 15412 var iTarget int32 = libc.Xatoi(tls, (bp + 566 /* &azArg[0] */ + uintptr(0)*100)) 15413 var iEnd int32 15414 var zTask uintptr 15415 var zTName uintptr 15416 iEnd = findEnd(tls, ((zScript + uintptr(ii)) + uintptr(len)), bp+532 /* &lineno */) 15417 if iTarget < 0 { 15418 errorMessage(tls, ts+1472, /* "line %d of %s: b..." */ 15419 libc.VaList(bp+336, prevLine, zFilename, iTarget)) 15420 } else { 15421 zTask = sqlite3.Xsqlite3_mprintf(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+368, iEnd, ((zScript+uintptr(ii))+uintptr(len)))) 15422 if nArg > 1 { 15423 zTName = sqlite3.Xsqlite3_mprintf(tls, ts+438 /* "%s" */, libc.VaList(bp+392, (bp+566 /* &azArg[0] */ +uintptr(1)*100))) 15424 } else { 15425 zTName = sqlite3.Xsqlite3_mprintf(tls, ts+1509 /* "%s:%d" */, libc.VaList(bp+408, filenameTail(tls, zFilename), prevLine)) 15426 } 15427 startClient(tls, iTarget) 15428 runSql(tls, 15429 ts+1515 /* "INSERT INTO task..." */, libc.VaList(bp+432, iTarget, zTask, zTName)) 15430 sqlite3.Xsqlite3_free(tls, zTask) 15431 sqlite3.Xsqlite3_free(tls, zTName) 15432 } 15433 iEnd = iEnd + (tokenLength(tls, (((zScript + uintptr(ii)) + uintptr(len)) + uintptr(iEnd)), bp+532 /* &lineno */)) 15434 len = len + (iEnd) 15435 iBegin = (ii + len) 15436 } else 15437 15438 // --breakpoint 15439 // 15440 // This command calls "test_breakpoint()" which is a routine provided 15441 // as a convenient place to set a debugger breakpoint. 15442 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1571 /* "breakpoint" */) == 0 { 15443 test_breakpoint(tls) 15444 } else 15445 15446 // --show-sql-errors BOOLEAN 15447 // 15448 // Turn display of SQL errors on and off. 15449 if libc.Xstrcmp(tls, bp+536 /* &zCmd[0] */, ts+1582 /* "show-sql-errors" */) == 0 { 15450 g.bIgnoreSqlErrors = func() int32 { 15451 if nArg >= 1 { 15452 return libc.BoolInt32(!(booleanValue(tls, (bp+566 /* &azArg[0] */ +uintptr(0)*100)) != 0)) 15453 } 15454 return 1 15455 }() 15456 } else { 15457 errorMessage(tls, ts+1598, /* "line %d of %s: u..." */ 15458 libc.VaList(bp+464, prevLine, zFilename, bp+536 /* &zCmd[0] */)) 15459 } 15460 ii = ii + (len) 15461 } 15462 if iBegin < ii { 15463 var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+496, (ii-iBegin), (zScript+uintptr(iBegin)))) 15464 runSql(tls, zSql, 0) 15465 sqlite3.Xsqlite3_free(tls, zSql) 15466 } 15467 stringFree(tls, bp+520 /* &sResult */) 15468 } 15469 15470 // Look for a command-line option. If present, return a pointer. 15471 // Return NULL if missing. 15472 // 15473 // hasArg==0 means the option is a flag. It is either present or not. 15474 // hasArg==1 means the option has an argument. Return a pointer to the 15475 // argument. 15476 func findOption(tls *libc.TLS, azArg uintptr, pnArg uintptr, zOption uintptr, hasArg int32) uintptr { /* mptest.c:1201:13: */ 15477 bp := tls.Alloc(16) 15478 defer tls.Free(16) 15479 15480 var i int32 15481 var j int32 15482 var zReturn uintptr = uintptr(0) 15483 var nArg int32 = *(*int32)(unsafe.Pointer(pnArg)) 15484 15485 for i = 0; i < nArg; i++ { 15486 var z uintptr 15487 if (i + hasArg) >= nArg { 15488 break 15489 } 15490 z = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)) 15491 if int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) != '-' { 15492 continue 15493 } 15494 z++ 15495 if int32(*(*int8)(unsafe.Pointer(z + uintptr(0)))) == '-' { 15496 if int32(*(*int8)(unsafe.Pointer(z + uintptr(1)))) == 0 { 15497 break 15498 } 15499 z++ 15500 } 15501 if libc.Xstrcmp(tls, z, zOption) == 0 { 15502 if (hasArg != 0) && (i == (nArg - 1)) { 15503 fatalError(tls, ts+1634 /* "command-line opt..." */, libc.VaList(bp, z)) 15504 } 15505 if hasArg != 0 { 15506 zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*4)) 15507 } else { 15508 zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)) 15509 } 15510 j = ((i + 1) + (libc.Bool32(hasArg != 0))) 15511 for j < nArg { 15512 *(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&i, 1))*4)) = *(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&j, 1))*4)) 15513 } 15514 *(*int32)(unsafe.Pointer(pnArg)) = i 15515 return zReturn 15516 } 15517 } 15518 return zReturn 15519 } 15520 15521 // Print a usage message for the program and exit 15522 func usage(tls *libc.TLS, argv0 uintptr) { /* mptest.c:1241:13: */ 15523 bp := tls.Alloc(16) 15524 defer tls.Free(16) 15525 15526 var i int32 15527 var zTail uintptr = argv0 15528 for i = 0; *(*int8)(unsafe.Pointer(argv0 + uintptr(i))) != 0; i++ { 15529 if ((int32(*(*int8)(unsafe.Pointer(argv0 + uintptr(i))))) == '/') || ((int32(*(*int8)(unsafe.Pointer(argv0 + uintptr(i))))) == '\\') { 15530 zTail = ((argv0 + uintptr(i)) + uintptr(1)) 15531 } 15532 } 15533 libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+1682 /* "Usage: %s DATABA..." */, libc.VaList(bp, zTail)) 15534 libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), 15535 15536 ts+1721 /* "Options:\n --er..." */, 0) 15537 libc.Xexit(tls, 1) 15538 } 15539 15540 // Report on unrecognized arguments 15541 func unrecognizedArguments(tls *libc.TLS, argv0 uintptr, nArg int32, azArg uintptr) { /* mptest.c:1265:13: */ 15542 bp := tls.Alloc(32) 15543 defer tls.Free(32) 15544 15545 var i int32 15546 libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+2293 /* "%s: unrecognized..." */, libc.VaList(bp, argv0)) 15547 for i = 0; i < nArg; i++ { 15548 libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+2321 /* " %s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)))) 15549 } 15550 libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+2325 /* "\n" */, 0) 15551 libc.Xexit(tls, 1) 15552 } 15553 15554 func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* mptest.c:1279:18: */ 15555 bp := tls.Alloc(416) 15556 defer tls.Free(416) 15557 15558 var zClient uintptr 15559 var iClient int32 15560 // var n int32 at bp+400, 4 15561 15562 var i int32 15563 var openFlags int32 = 0x00000002 15564 var rc int32 15565 // var zScript uintptr at bp+404, 4 15566 15567 // var taskId int32 at bp+408, 4 15568 15569 var zTrace uintptr 15570 var zCOption uintptr 15571 var zJMode uintptr 15572 var zNRep uintptr 15573 var nRep int32 = 1 15574 var iRep int32 15575 var iTmout int32 = 0 // Default: no timeout 15576 var zTmout uintptr 15577 15578 g.argv0 = *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*4)) 15579 g.iTrace = 1 15580 if argc < 2 { 15581 usage(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*4))) 15582 } 15583 g.zDbFile = *(*uintptr)(unsafe.Pointer(argv + uintptr(1)*4)) 15584 if strglob(tls, ts+2327 /* "*.test" */, g.zDbFile) != 0 { 15585 usage(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*4))) 15586 } 15587 if libc.Xstrcmp(tls, sqlite3.Xsqlite3_sourceid(tls), ts+2334 /* "2020-08-14 13:23..." */) != 0 { 15588 libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), 15589 15590 ts+2419, /* "SQLite library a..." */ 15591 libc.VaList(bp, sqlite3.Xsqlite3_sourceid(tls), ts+2334 /* "2020-08-14 13:23..." */)) 15592 libc.Xexit(tls, 1) 15593 } 15594 *(*int32)(unsafe.Pointer(bp + 400 /* n */)) = (argc - 2) 15595 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+32 /* &.zName */, ts+2479 /* "%05d.mptest" */, libc.VaList(bp+24, int32(libc.XGetCurrentProcessId(tls)))) 15596 zJMode = findOption(tls, (argv + uintptr(2)*4), bp+400 /* &n */, ts+2491 /* "journalmode" */, 1) 15597 zNRep = findOption(tls, (argv + uintptr(2)*4), bp+400 /* &n */, ts+2503 /* "repeat" */, 1) 15598 if zNRep != 0 { 15599 nRep = libc.Xatoi(tls, zNRep) 15600 } 15601 if nRep < 1 { 15602 nRep = 1 15603 } 15604 g.zVfs = findOption(tls, (argv + uintptr(2)*4), bp+400 /* &n */, ts+2510 /* "vfs" */, 1) 15605 zClient = findOption(tls, (argv + uintptr(2)*4), bp+400 /* &n */, ts+2514 /* "client" */, 1) 15606 g.zErrLog = findOption(tls, (argv + uintptr(2)*4), bp+400 /* &n */, ts+2521 /* "errlog" */, 1) 15607 g.zLog = findOption(tls, (argv + uintptr(2)*4), bp+400 /* &n */, ts+2528 /* "log" */, 1) 15608 zTrace = findOption(tls, (argv + uintptr(2)*4), bp+400 /* &n */, ts+2532 /* "trace" */, 1) 15609 if zTrace != 0 { 15610 g.iTrace = libc.Xatoi(tls, zTrace) 15611 } 15612 if findOption(tls, (argv+uintptr(2)*4), bp+400 /* &n */, ts+2538 /* "quiet" */, 0) != uintptr(0) { 15613 g.iTrace = 0 15614 } 15615 zTmout = findOption(tls, (argv + uintptr(2)*4), bp+400 /* &n */, ts+2544 /* "timeout" */, 1) 15616 if zTmout != 0 { 15617 iTmout = libc.Xatoi(tls, zTmout) 15618 } 15619 g.bSqlTrace = (libc.Bool32(findOption(tls, (argv+uintptr(2)*4), bp+400 /* &n */, ts+2552 /* "sqltrace" */, 0) != uintptr(0))) 15620 g.bSync = (libc.Bool32(findOption(tls, (argv+uintptr(2)*4), bp+400 /* &n */, ts+2561 /* "sync" */, 0) != uintptr(0))) 15621 if g.zErrLog != 0 { 15622 g.pErrLog = libc.Xfopen(tls, g.zErrLog, ts+2566 /* "a" */) 15623 } else { 15624 g.pErrLog = libc.X__acrt_iob_func(tls, uint32(2)) 15625 } 15626 if g.zLog != 0 { 15627 g.pLog = libc.Xfopen(tls, g.zLog, ts+2566 /* "a" */) 15628 } else { 15629 g.pLog = libc.X__acrt_iob_func(tls, uint32(1)) 15630 } 15631 15632 sqlite3.Xsqlite3_config(tls, 16, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(&struct { 15633 f func(*libc.TLS, uintptr, int32, uintptr) 15634 }{sqlErrorCallback})), 0)) 15635 if zClient != 0 { 15636 iClient = libc.Xatoi(tls, zClient) 15637 if iClient < 1 { 15638 fatalError(tls, ts+2568 /* "illegal client n..." */, libc.VaList(bp+64, iClient)) 15639 } 15640 sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+32 /* &.zName */, ts+2595, /* "%05d.client%02d" */ 15641 libc.VaList(bp+80, int32(libc.XGetCurrentProcessId(tls)), iClient)) 15642 } else { 15643 var nTry int32 = 0 15644 if g.iTrace > 0 { 15645 libc.Xprintf(tls, ts+2611 /* "BEGIN: %s" */, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*4)))) 15646 for i = 1; i < argc; i++ { 15647 libc.Xprintf(tls, ts+2321 /* " %s" */, libc.VaList(bp+120, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 15648 } 15649 libc.Xprintf(tls, ts+2325 /* "\n" */, 0) 15650 libc.Xprintf(tls, ts+2621 /* "With SQLite 3.33..." */, 0) 15651 for i = 0; (libc.AssignUintptr(&zCOption, sqlite3.Xsqlite3_compileoption_get(tls, i))) != uintptr(0); i++ { 15652 libc.Xprintf(tls, ts+2726 /* "-DSQLITE_%s\n" */, libc.VaList(bp+136, zCOption)) 15653 } 15654 libc.Xfflush(tls, libc.X__acrt_iob_func(tls, uint32(1))) 15655 } 15656 iClient = 0 15657 for ok := true; ok; ok = (((rc != 0) && ((libc.PreIncInt32(&nTry, 1)) < 60)) && (sqlite3.Xsqlite3_sleep(tls, 1000) > 0)) { 15658 if (nTry % 5) == 4 { 15659 libc.Xprintf(tls, ts+2739, /* "... %strying to ..." */ 15660 libc.VaList(bp+152, func() uintptr { 15661 if nTry > 5 { 15662 return ts + 2768 /* "still " */ 15663 } 15664 return ts + 1103 /* "" */ 15665 }(), g.zDbFile)) 15666 } 15667 rc = libc.Xunlink(tls, g.zDbFile) 15668 if (rc != 0) && ((*(*int32)(unsafe.Pointer(libc.X_errno(tls)))) == 2) { 15669 rc = 0 15670 } 15671 } 15672 if rc != 0 { 15673 fatalError(tls, ts+2775, /* "unable to unlink..." */ 15674 libc.VaList(bp+176, g.zDbFile, nTry)) 15675 } 15676 openFlags = openFlags | (0x00000004) 15677 } 15678 rc = sqlite3.Xsqlite3_open_v2(tls, g.zDbFile, (uintptr(unsafe.Pointer(&g)) + 12 /* &.db */), openFlags, g.zVfs) 15679 if rc != 0 { 15680 fatalError(tls, ts+2816 /* "cannot open [%s]" */, libc.VaList(bp+200, g.zDbFile)) 15681 } 15682 if iTmout > 0 { 15683 sqlite3.Xsqlite3_busy_timeout(tls, g.db, iTmout) 15684 } 15685 15686 if zJMode != 0 { 15687 if (sqlite3.Xsqlite3_stricmp(tls, zJMode, ts+2833 /* "persist" */) == 0) || 15688 (sqlite3.Xsqlite3_stricmp(tls, zJMode, ts+2841 /* "truncate" */) == 0) { 15689 libc.Xprintf(tls, ts+2850 /* "Changing journal..." */, libc.VaList(bp+216, zJMode)) 15690 zJMode = ts + 2890 /* "DELETE" */ 15691 } 15692 runSql(tls, ts+2897 /* "PRAGMA journal_m..." */, libc.VaList(bp+232, zJMode)) 15693 } 15694 if !(g.bSync != 0) { 15695 trySql(tls, ts+2921 /* "PRAGMA synchrono..." */, 0) 15696 } 15697 sqlite3.Xsqlite3_enable_load_extension(tls, g.db, 1) 15698 sqlite3.Xsqlite3_busy_handler(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct { 15699 f func(*libc.TLS, uintptr, int32) int32 15700 }{busyHandler})), uintptr(0)) 15701 sqlite3.Xsqlite3_create_function(tls, g.db, ts+2944 /* "vfsname" */, 0, 1, uintptr(0), 15702 *(*uintptr)(unsafe.Pointer(&struct { 15703 f func(*libc.TLS, uintptr, int32, uintptr) 15704 }{vfsNameFunc})), uintptr(0), uintptr(0)) 15705 sqlite3.Xsqlite3_create_function(tls, g.db, ts+2952 /* "eval" */, 1, 1, uintptr(0), 15706 *(*uintptr)(unsafe.Pointer(&struct { 15707 f func(*libc.TLS, uintptr, int32, uintptr) 15708 }{evalFunc})), uintptr(0), uintptr(0)) 15709 g.iTimeout = 10000 15710 if g.bSqlTrace != 0 { 15711 sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct { 15712 f func(*libc.TLS, uintptr, uintptr) 15713 }{sqlTraceCallback})), uintptr(0)) 15714 } 15715 if iClient > 0 { 15716 if *(*int32)(unsafe.Pointer(bp + 400 /* n */)) > 0 { 15717 unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*4)), *(*int32)(unsafe.Pointer(bp + 400 /* n */)), (argv + uintptr(2)*4)) 15718 } 15719 if g.iTrace != 0 { 15720 logMessage(tls, ts+2957 /* "start-client" */, 0) 15721 } 15722 for 1 != 0 { 15723 *(*uintptr)(unsafe.Pointer(bp + 412 /* zTaskName */)) = uintptr(0) 15724 rc = startScript(tls, iClient, bp+404 /* &zScript */, bp+408 /* &taskId */, bp+412 /* &zTaskName */) 15725 if rc == 101 { 15726 break 15727 } 15728 if g.iTrace != 0 { 15729 logMessage(tls, ts+2970 /* "begin %s (%d)" */, libc.VaList(bp+248, *(*uintptr)(unsafe.Pointer(bp + 412 /* zTaskName */)), *(*int32)(unsafe.Pointer(bp + 408 /* taskId */)))) 15730 } 15731 runScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 408 /* taskId */)), *(*uintptr)(unsafe.Pointer(bp + 404 /* zScript */)), *(*uintptr)(unsafe.Pointer(bp + 412 /* zTaskName */))) 15732 if g.iTrace != 0 { 15733 logMessage(tls, ts+2984 /* "end %s (%d)" */, libc.VaList(bp+272, *(*uintptr)(unsafe.Pointer(bp + 412 /* zTaskName */)), *(*int32)(unsafe.Pointer(bp + 408 /* taskId */)))) 15734 } 15735 finishScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 408 /* taskId */)), 0) 15736 sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 412 /* zTaskName */))) 15737 sqlite3.Xsqlite3_sleep(tls, 10) 15738 } 15739 if g.iTrace != 0 { 15740 logMessage(tls, ts+2996 /* "end-client" */, 0) 15741 } 15742 } else { 15743 var pStmt uintptr 15744 var iTimeout int32 15745 if *(*int32)(unsafe.Pointer(bp + 400 /* n */)) == 0 { 15746 fatalError(tls, ts+3007 /* "missing script f..." */, 0) 15747 } 15748 if *(*int32)(unsafe.Pointer(bp + 400 /* n */)) > 1 { 15749 unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*4)), *(*int32)(unsafe.Pointer(bp + 400 /* n */)), (argv + uintptr(2)*4)) 15750 } 15751 runSql(tls, 15752 15753 ts+3031 /* "DROP TABLE IF EX..." */, 0) 15754 *(*uintptr)(unsafe.Pointer(bp + 404 /* zScript */)) = readFile(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(2)*4))) 15755 for iRep = 1; iRep <= nRep; iRep++ { 15756 if g.iTrace != 0 { 15757 logMessage(tls, ts+3467 /* "begin script [%s..." */, libc.VaList(bp+296, *(*uintptr)(unsafe.Pointer(argv + uintptr(2)*4)), iRep)) 15758 } 15759 runScript(tls, 0, 0, *(*uintptr)(unsafe.Pointer(bp + 404 /* zScript */)), *(*uintptr)(unsafe.Pointer(argv + uintptr(2)*4))) 15760 if g.iTrace != 0 { 15761 logMessage(tls, ts+3495 /* "end script [%s] ..." */, libc.VaList(bp+320, *(*uintptr)(unsafe.Pointer(argv + uintptr(2)*4)), iRep)) 15762 } 15763 } 15764 sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 404 /* zScript */))) 15765 waitForClient(tls, 0, 2000, ts+3521 /* "during shutdown...." */) 15766 trySql(tls, ts+3541 /* "UPDATE client SE..." */, 0) 15767 sqlite3.Xsqlite3_sleep(tls, 10) 15768 g.iTimeout = 0 15769 iTimeout = 1000 15770 for (((libc.AssignInt32(&rc, trySql(tls, ts+3570 /* "SELECT 1 FROM cl..." */, 0))) == 5) || 15771 (rc == 100)) && (iTimeout > 0) { 15772 sqlite3.Xsqlite3_sleep(tls, 10) 15773 iTimeout = iTimeout - (10) 15774 } 15775 sqlite3.Xsqlite3_sleep(tls, 100) 15776 pStmt = prepareSql(tls, ts+3591 /* "SELECT nError, n..." */, 0) 15777 iTimeout = 1000 15778 for ((libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt))) == 5) && (iTimeout > 0) { 15779 sqlite3.Xsqlite3_sleep(tls, 10) 15780 iTimeout = iTimeout - (10) 15781 } 15782 if rc == 100 { 15783 *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 80 /* &.nError */)) += (sqlite3.Xsqlite3_column_int(tls, pStmt, 0)) 15784 *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 84 /* &.nTest */)) += (sqlite3.Xsqlite3_column_int(tls, pStmt, 1)) 15785 } 15786 sqlite3.Xsqlite3_finalize(tls, pStmt) 15787 } 15788 sqlite3.Xsqlite3_close(tls, g.db) 15789 maybeClose(tls, g.pLog) 15790 maybeClose(tls, g.pErrLog) 15791 if iClient == 0 { 15792 libc.Xprintf(tls, ts+3626 /* "Summary: %d erro..." */, libc.VaList(bp+344, g.nError, g.nTest)) 15793 libc.Xprintf(tls, ts+3662 /* "END: %s" */, libc.VaList(bp+368, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*4)))) 15794 for i = 1; i < argc; i++ { 15795 libc.Xprintf(tls, ts+2321 /* " %s" */, libc.VaList(bp+384, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))) 15796 } 15797 libc.Xprintf(tls, ts+2325 /* "\n" */, 0) 15798 } 15799 return (libc.Bool32(g.nError > 0)) 15800 } 15801 15802 var ts1 = "%s%.*s\n\x00%s:ERROR: \x00%s:FATAL: \x00UPDATE client SET wantHalt=1;\x00%s: \x00main\x00timeout after %dms\x00[%.*s]\x00(info) %s\x00(errcode=%d) %s\x00%s\n%s\n\x00out of memory\x00 \x00nil\x00'\x00error(%d)\x00BEGIN IMMEDIATE\x00in startScript: %s\x00UPDATE counters SET nError=nError+%d, nTest=nTest+%d\x00SELECT 1 FROM client WHERE id=%d AND wantHalt\x00DELETE FROM client WHERE id=%d\x00COMMIT TRANSACTION;\x00SELECT script, id, name FROM task WHERE client=%d AND starttime IS NULL ORDER BY id LIMIT 1\x00%s\x00UPDATE task SET starttime=strftime('%%Y-%%m-%%d %%H:%%M:%%f','now') WHERE id=%d;\x00Waited over 30 seconds with no work. Giving up.\x00DELETE FROM client WHERE id=%d; COMMIT;\x00COMMIT\x00UPDATE task SET endtime=strftime('%%Y-%%m-%%d %%H:%%M:%%f','now') WHERE id=%d;\x00INSERT OR IGNORE INTO client VALUES(%d,0)\x00%s \"%s\" --client %d --trace %d\x00%z --sqltrace\x00%z --sync\x00%z --vfs \"%s\"\x00system('%q')\x00CreateProcessA() fails with error code %lu\x00rb\x00cannot open \"%s\" for reading\x00--end\x00--endif\x00--else\x00--if\x00SELECT 1 FROM task WHERE client=%d AND client IN (SELECT id FROM client) AND endtime IS NULL\x00SELECT 1 FROM task WHERE client IN (SELECT id FROM client) AND endtime IS NULL\x00\x00%stimeout waiting for client %d\x00%stimeout waiting for all clients\x00on\x00yes\x00off\x00no\x00unknown boolean: [%s]\x00%.*s\x00sleep\x00exit\x00testcase\x00finish\x00reset\x00match\x00line %d of %s:\nExpected [%.*s]\n Got [%s]\x00glob\x00notglob\x00line %d of %s:\nExpected [%s]\n Got [%s]\x00output\x00source\x00%.*s/%s\x00begin script [%s]\n\x00end script [%s]\n\x00print\x00if\x00SELECT %.*s\x00else\x00endif\x00start\x00wait\x00line %d of %s\n\x00task\x00line %d of %s: bad client number: %d\x00%s:%d\x00INSERT INTO task(client,script,name) VALUES(%d,'%q',%Q)\x00breakpoint\x00show-sql-errors\x00line %d of %s: unknown command --%s\x00command-line option \"--%s\" requires an argument\x00Usage: %s DATABASE ?OPTIONS? ?SCRIPT?\n\x00Options:\n --errlog FILENAME Write errors to FILENAME\n --journalmode MODE Use MODE as the journal_mode\n --log FILENAME Log messages to FILENAME\n --quiet Suppress unnecessary output\n --vfs NAME Use NAME as the VFS\n --repeat N Repeat the test N times\n --sqltrace Enable SQL tracing\n --sync Enable synchronous disk writes\n --timeout MILLISEC Busy timeout is MILLISEC\n --trace BOOLEAN Enable or disable tracing\n\x00%s: unrecognized arguments:\x00 %s\x00\n\x00*.test\x002020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f\x00SQLite library and header mismatch\nLibrary: %s\nHeader: %s\n\x00%05d.mptest\x00journalmode\x00repeat\x00vfs\x00client\x00errlog\x00log\x00trace\x00quiet\x00timeout\x00sqltrace\x00sync\x00a\x00illegal client number: %d\n\x00%05d.client%02d\x00BEGIN: %s\x00With SQLite 3.33.0 2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f\n\x00-DSQLITE_%s\n\x00... %strying to unlink '%s'\n\x00still \x00unable to unlink '%s' after %d attempts\n\x00cannot open [%s]\x00persist\x00truncate\x00Changing journal mode to DELETE from %s\x00DELETE\x00PRAGMA journal_mode=%Q;\x00PRAGMA synchronous=OFF\x00vfsname\x00eval\x00start-client\x00begin %s (%d)\x00end %s (%d)\x00end-client\x00missing script filename\x00DROP TABLE IF EXISTS task;\nDROP TABLE IF EXISTS counters;\nDROP TABLE IF EXISTS client;\nCREATE TABLE task(\n id INTEGER PRIMARY KEY,\n name TEXT,\n client INTEGER,\n starttime DATE,\n endtime DATE,\n script TEXT\n);CREATE INDEX task_i1 ON task(client, starttime);\nCREATE INDEX task_i2 ON task(client, endtime);\nCREATE TABLE counters(nError,nTest);\nINSERT INTO counters VALUES(0,0);\nCREATE TABLE client(id INTEGER PRIMARY KEY, wantHalt);\n\x00begin script [%s] cycle %d\n\x00end script [%s] cycle %d\n\x00during shutdown...\n\x00UPDATE client SET wantHalt=1\x00SELECT 1 FROM client\x00SELECT nError, nTest FROM counters\x00Summary: %d errors out of %d tests\n\x00END: %s\x00" 15803 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data