Mercurial > projects > dstep
view dstep/coreservices/carboncore/Gestalt.d @ 11:07194b026fa4
Added bindings to a couple of frameworks, new license + some other things
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sat, 01 Aug 2009 15:03:28 +0200 |
parents | |
children |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Jul 22, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.coreservices.carboncore.Gestalt; //import dstep.AvailabilityMacros; import dstep.coreservices.carboncore.MacTypes; import dstep.coreservices.carboncore.MixedMode; import dstep.internal.Version; import dstep.objc.bridge.TypeEncoding; alias SelectorFunctionProcPtr SelectorFunctionUPP; extern (C) { alias short function (uint, SInt32*) SelectorFunctionProcPtr; } // This is needed otherwise the enums will fail compiling with gdc version (GNU) { private { const __gestaltAddressingModeAttr = getOSType!("addr"); const __gestaltAFPClient = getOSType!("afps"); const __gestaltAliasMgrAttr = getOSType!("alis"); const __gestaltAppearanceAttr = getOSType!("appr"); const __gestaltAppearanceVersion = getOSType!("apvr"); const __gestaltArbitorAttr = getOSType!("arb "); const __gestaltAppleScriptVersion = getOSType!("ascv"); const __gestaltAppleScriptAttr = getOSType!("ascr"); const __gestaltATAAttr = getOSType!("ata "); const __gestaltATalkVersion = getOSType!("atkv"); const __gestaltAppleTalkVersion = getOSType!("atlk"); const __gestaltAUXVersion = getOSType!("a/ux"); const __gestaltMacOSCompatibilityBoxAttr = getOSType!("bbox"); const __gestaltBusClkSpeed = getOSType!("bclk"); const __gestaltBusClkSpeedMHz = getOSType!("bclm"); const __gestaltCloseViewAttr = getOSType!("BSDa"); const __gestaltCarbonVersion = getOSType!("cbon"); const __gestaltCFMAttr = getOSType!("cfrg"); const __gestaltProcessorCacheLineSize = getOSType!("csiz"); const __gestaltCollectionMgrVersion = getOSType!("cltn"); const __gestaltColorMatchingAttr = getOSType!("cmta"); const __gestaltColorMatchingVersion = getOSType!("cmtc"); const __gestaltControlMgrVersion = getOSType!("cmvr"); const __gestaltControlMgrAttr = getOSType!("cntl"); const __gestaltConnMgrAttr = getOSType!("conn"); const __gestaltColorPickerVersion = getOSType!("cpkr"); const __gestaltColorPicker = getOSType!("cpkr"); const __gestaltComponentMgr = getOSType!("cpnt"); const __gestaltComponentPlatform = getOSType!("copl"); const __gestaltNativeCPUtype = getOSType!("cput"); const __gestaltNativeCPUfamily = getOSType!("cpuf"); const __gestaltCPU486 = getOSType!("i486"); const __gestaltCPUPentium = getOSType!("i586"); const __gestaltCPUPentiumPro = getOSType!("i5pr"); const __gestaltCPUPentiumII = getOSType!("i5ii"); const __gestaltCPUX86 = getOSType!("ixxx"); const __gestaltCPUPentium4 = getOSType!("i5iv"); const __gestaltCRMAttr = getOSType!("crm "); const __gestaltControlStripVersion = getOSType!("csvr"); const __gestaltCountOfCPUs = getOSType!("cpus"); const __gestaltCTBVersion = getOSType!("ctbv"); const __gestaltDBAccessMgrAttr = getOSType!("dbac"); const __gestaltDiskCacheSize = getOSType!("dcsz"); const __gestaltSDPFindVersion = getOSType!("dfnd"); const __gestaltDictionaryMgrAttr = getOSType!("dict"); const __gestaltDITLExtAttr = getOSType!("ditl"); const __gestaltDialogMgrAttr = getOSType!("dlog"); const __gestaltDesktopPicturesAttr = getOSType!("dkpx"); const __gestaltDisplayMgrVers = getOSType!("dplv"); const __gestaltDisplayMgrAttr = getOSType!("dply"); const __gestaltDragMgrAttr = getOSType!("drag"); const __gestaltDrawSprocketVersion = getOSType!("dspv"); const __gestaltDigitalSignatureVersion = getOSType!("dsig"); const __gestaltDTPFeatures = getOSType!("dtpf"); const __gestaltDTPInfo = getOSType!("dtpx"); const __gestaltEasyAccessAttr = getOSType!("easy"); const __gestaltEditionMgrAttr = getOSType!("edtn"); const __gestaltAppleEventsAttr = getOSType!("evnt"); const __gestaltExtensionTableVersion = getOSType!("etbl"); const __gestaltFBCIndexingState = getOSType!("fbci"); const __gestaltFBCVersion = getOSType!("fbcv"); const __gestaltFileMappingAttr = getOSType!("flmp"); const __gestaltFloppyAttr = getOSType!("flpy"); const __gestaltFinderAttr = getOSType!("fndr"); const __gestaltFindFolderAttr = getOSType!("fold"); const __gestaltFindFolderRedirectionAttr = getOSType!("fole"); const __gestaltFontMgrAttr = getOSType!("font"); const __gestaltFPUType = getOSType!("fpu "); const __gestaltFSAttr = getOSType!("fs "); const __gestaltAdminFeaturesFlagsAttr = getOSType!("fred"); const __gestaltFSMVersion = getOSType!("fsm "); const __gestaltFXfrMgrAttr = getOSType!("fxfr"); const __gestaltGraphicsAttr = getOSType!("gfxa"); const __gestaltGraphicsVersion = getOSType!("grfx"); const __gestaltHardwareAttr = getOSType!("hdwr"); const __gestaltHelpMgrAttr = getOSType!("help"); const __gestaltHardwareVendorCode = getOSType!("hrad"); const __gestaltHardwareVendorApple = getOSType!("Appl"); const __gestaltCompressionMgr = getOSType!("icmp"); const __gestaltIconUtilitiesAttr = getOSType!("icon"); const __gestaltInternalDisplay = getOSType!("idsp"); const __gestaltKeyboardType = getOSType!("kbd "); const __gestaltUDFSupport = getOSType!("kudf"); const __gestaltLowMemorySize = getOSType!("lmem"); const __gestaltLogicalRAMSize = getOSType!("lram"); const __gestaltMachineType = getOSType!("mach"); const __gestaltSMPMailerVersion = getOSType!("malr"); const __gestaltMediaBay = getOSType!("mbeh"); const __gestaltMessageMgrVersion = getOSType!("mess"); const __gestaltMenuMgrAttr = getOSType!("menu"); const __gestaltMultipleUsersState = getOSType!("mfdr"); const __gestaltMachineIcon = getOSType!("micn"); const __gestaltMiscAttr = getOSType!("misc"); const __gestaltMixedModeVersion = getOSType!("mixd"); const __gestaltMixedModeAttr = getOSType!("mixd"); const __gestaltQuickTimeConferencing = getOSType!("mtlk"); const __gestaltMemoryMapAttr = getOSType!("mmap"); const __gestaltMMUType = getOSType!("mmu "); const __gestaltUserVisibleMachineName = getOSType!("mnam"); const __gestaltMPCallableAPIsAttr = getOSType!("mpsc"); const __gestaltStdNBPAttr = getOSType!("nlup"); const __gestaltNotificationMgrAttr = getOSType!("nmgr"); const __gestaltNameRegistryVersion = getOSType!("nreg"); const __gestaltNuBusSlotCount = getOSType!("nubs"); const __gestaltOCEToolboxVersion = getOSType!("ocet"); const __gestaltOCEToolboxAttr = getOSType!("oceu"); const __gestaltOpenFirmwareInfo = getOSType!("opfw"); const __gestaltOSAttr = getOSType!("os "); const __gestaltOSTable = getOSType!("ostt"); const __gestaltOpenTptNetworkSetup = getOSType!("otcf"); const __gestaltOpenTptNetworkSetupVersion = getOSType!("otcv"); const __gestaltOpenTptRemoteAccess = getOSType!("otra"); const __gestaltOpenTptRemoteAccessVersion = getOSType!("otrv"); const __gestaltOpenTptVersions = getOSType!("otvr"); const __gestaltOpenTpt = getOSType!("otan"); const __gestaltPCCard = getOSType!("pccd"); const __gestaltProcClkSpeed = getOSType!("pclk"); const __gestaltProcClkSpeedMHz = getOSType!("mclk"); const __gestaltPCXAttr = getOSType!("pcxg"); const __gestaltLogicalPageSize = getOSType!("pgsz"); const __gestaltScreenCaptureMain = getOSType!("pic1"); const __gestaltScreenCaptureDir = getOSType!("pic2"); const __gestaltGXPrintingMgrVersion = getOSType!("pmgr"); const __gestaltPopupAttr = getOSType!("pop!"); const __gestaltPowerMgrAttr = getOSType!("powr"); const __gestaltPowerMgrVers = getOSType!("pwrv"); const __gestaltPPCToolboxAttr = getOSType!("ppc "); const __gestaltPowerPCProcessorFeatures = getOSType!("ppcf"); const __gestaltProcessorType = getOSType!("proc"); const __gestaltSDPPromptVersion = getOSType!("prpv"); const __gestaltParityAttr = getOSType!("prty"); const __gestaltQD3DVersion = getOSType!("q3v "); const __gestaltQD3DViewer = getOSType!("q3vc"); const __gestaltQuickdrawVersion = getOSType!("qd "); const __gestaltQD3D = getOSType!("qd3d"); const __gestaltGXVersion = getOSType!("qdgx"); const __gestaltQuickdrawFeatures = getOSType!("qdrw"); const __gestaltQDTextVersion = getOSType!("qdtx"); const __gestaltQDTextFeatures = getOSType!("qdtf"); const __gestaltQuickTimeConferencingInfo = getOSType!("qtci"); const __gestaltQuickTimeVersion = getOSType!("qtim"); const __gestaltQuickTime = getOSType!("qtim"); const __gestaltQuickTimeFeatures = getOSType!("qtrs"); const __gestaltQuickTimeStreamingFeatures = getOSType!("qtsf"); const __gestaltQuickTimeStreamingVersion = getOSType!("qtst"); const __gestaltQuickTimeThreadSafeFeaturesAttr = getOSType!("qtth"); const __gestaltQTVRMgrAttr = getOSType!("qtvr"); const __gestaltQTVRMgrVers = getOSType!("qtvv"); const __gestaltPhysicalRAMSize = getOSType!("ram "); const __gestaltPhysicalRAMSizeInMegabytes = getOSType!("ramm"); const __gestaltRBVAddr = getOSType!("rbv "); const __gestaltROMSize = getOSType!("rom "); const __gestaltROMVersion = getOSType!("romv"); const __gestaltResourceMgrAttr = getOSType!("rsrc"); const __gestaltResourceMgrBugFixesAttrs = getOSType!("rmbg"); const __gestaltRealtimeMgrAttr = getOSType!("rtmr"); const __gestaltSafeOFAttr = getOSType!("safe"); const __gestaltSCCReadAddr = getOSType!("sccr"); const __gestaltSCCWriteAddr = getOSType!("sccw"); const __gestaltScrapMgrAttr = getOSType!("scra"); const __gestaltScriptMgrVersion = getOSType!("scri"); const __gestaltScriptCount = getOSType!("scr#"); const __gestaltSCSI = getOSType!("scsi"); const __gestaltControlStripAttr = getOSType!("sdev"); const __gestaltSDPStandardDirectoryVersion = getOSType!("sdvr"); const __gestaltSerialAttr = getOSType!("ser "); const __gestaltShutdownAttributes = getOSType!("shut"); const __gestaltNuBusConnectors = getOSType!("sltc"); const __gestaltSlotAttr = getOSType!("slot"); const __gestaltFirstSlotNumber = getOSType!("slt1"); const __gestaltSoundAttr = getOSType!("snd "); const __gestaltSplitOSAttr = getOSType!("spos"); const __gestaltSMPSPSendLetterVersion = getOSType!("spsl"); const __gestaltSpeechRecognitionAttr = getOSType!("srta"); const __gestaltSpeechRecognitionVersion = getOSType!("srtb"); const __gestaltSoftwareVendorCode = getOSType!("srad"); const __gestaltSoftwareVendorApple = getOSType!("Appl"); const __gestaltSoftwareVendorLicensee = getOSType!("Lcns"); const __gestaltStandardFileAttr = getOSType!("stdf"); const __gestaltSysArchitecture = getOSType!("sysa"); const __gestaltSystemUpdateVersion = getOSType!("sysu"); const __gestaltSystemVersion = getOSType!("sysv"); const __gestaltSystemVersionMajor = getOSType!("sys1"); const __gestaltSystemVersionMinor = getOSType!("sys2"); const __gestaltSystemVersionBugFix = getOSType!("sys3"); const __gestaltToolboxTable = getOSType!("tbtt"); const __gestaltTextEditVersion = getOSType!("te "); const __gestaltTEAttr = getOSType!("teat"); const __gestaltTeleMgrAttr = getOSType!("tele"); const __gestaltTermMgrAttr = getOSType!("term"); const __gestaltThreadMgrAttr = getOSType!("thds"); const __gestaltTimeMgrVersion = getOSType!("tmgr"); const __gestaltTSMTEVersion = getOSType!("tmTV"); const __gestaltTSMTEAttr = getOSType!("tmTE"); const __gestaltAVLTreeAttr = getOSType!("tree"); const __gestaltALMAttr = getOSType!("trip"); const __gestaltTSMgrVersion = getOSType!("tsmv"); const __gestaltTSMgrAttr = getOSType!("tsma"); const __gestaltSpeechAttr = getOSType!("ttsc"); const __gestaltTVAttr = getOSType!("tv "); const __gestaltATSUVersion = getOSType!("uisv"); const __gestaltATSUFeatures = getOSType!("uisf"); const __gestaltUSBAttr = getOSType!("usb "); const __gestaltUSBVersion = getOSType!("usbv"); const __gestaltVersion = getOSType!("vers"); const __gestaltVIA1Addr = getOSType!("via1"); const __gestaltVIA2Addr = getOSType!("via2"); const __gestaltVMAttr = getOSType!("vm "); const __gestaltVMInfoType = getOSType!("vmin"); const __gestaltVMBackingStoreFileRefNum = getOSType!("vmbs"); const __gestaltALMVers = getOSType!("walk"); const __gestaltWindowMgrAttr = getOSType!("wind"); const __gestaltX86Features = getOSType!("x86f"); const __gestaltX86AdditionalFeatures = getOSType!("x86a"); const __gestaltTranslationAttr = getOSType!("xlat"); const __gestaltExtToolboxTable = getOSType!("xttt"); const __gestaltUSBPrinterSharingVersion = getOSType!("zak "); const __gestaltUSBPrinterSharingAttr = getOSType!("zak "); const __gestaltWorldScriptIIVersion = getOSType!("doub"); const __gestaltWorldScriptIIAttr = getOSType!("wsat"); } } enum { gestaltAddressingModeAttr = getOSType!("addr"), gestalt32BitAddressing = 0, gestalt32BitSysZone = 1, gestalt32BitCapable = 2 } static if (D_LP64) { enum : long { gestaltAFPClient = getOSType!("afps"), gestaltAFPClientVersionMask = 0x0000FFFF, gestaltAFPClient3_5 = 0x0001, gestaltAFPClient3_6 = 0x0002, gestaltAFPClient3_6_1 = 0x0003, gestaltAFPClient3_6_2 = 0x0004, gestaltAFPClient3_6_3 = 0x0005, gestaltAFPClient3_7 = 0x0006, gestaltAFPClient3_7_2 = 0x0007, gestaltAFPClient3_8 = 0x0008, gestaltAFPClient3_8_1 = 0x0009, gestaltAFPClient3_8_3 = 0x000A, gestaltAFPClient3_8_4 = 0x000B, gestaltAFPClientAttributeMask = 0xFFFF0000L, gestaltAFPClientCfgRsrc = 16, gestaltAFPClientSupportsIP = 29, gestaltAFPClientVMUI = 30, gestaltAFPClientMultiReq = 31 } } else { enum { gestaltAFPClient = getOSType!("afps"), gestaltAFPClientVersionMask = 0x0000FFFF, gestaltAFPClient3_5 = 0x0001, gestaltAFPClient3_6 = 0x0002, gestaltAFPClient3_6_1 = 0x0003, gestaltAFPClient3_6_2 = 0x0004, gestaltAFPClient3_6_3 = 0x0005, gestaltAFPClient3_7 = 0x0006, gestaltAFPClient3_7_2 = 0x0007, gestaltAFPClient3_8 = 0x0008, gestaltAFPClient3_8_1 = 0x0009, gestaltAFPClient3_8_3 = 0x000A, gestaltAFPClient3_8_4 = 0x000B, gestaltAFPClientAttributeMask = 0xFFFF0000, gestaltAFPClientCfgRsrc = 16, gestaltAFPClientSupportsIP = 29, gestaltAFPClientVMUI = 30, gestaltAFPClientMultiReq = 31 } } enum { gestaltAliasMgrAttr = getOSType!("alis"), gestaltAliasMgrPresent = 0, gestaltAliasMgrSupportsRemoteAppletalk = 1, gestaltAliasMgrSupportsAOCEKeychain = 2, gestaltAliasMgrResolveAliasFileWithMountOptions = 3, gestaltAliasMgrFollowsAliasesWhenResolving = 4, gestaltAliasMgrSupportsExtendedCalls = 5, gestaltAliasMgrSupportsFSCalls = 6, gestaltAliasMgrPrefersPath = 7, gestaltAliasMgrRequiresAccessors = 8 } enum { gestaltAppearanceAttr = getOSType!("appr"), gestaltAppearanceExists = 0, gestaltAppearanceCompatMode = 1 } enum { gestaltAppearanceVersion = getOSType!("apvr") } enum { gestaltArbitorAttr = getOSType!("arb "), gestaltSerialArbitrationExists = 0 } enum { gestaltAppleScriptVersion = getOSType!("ascv") } enum { gestaltAppleScriptAttr = getOSType!("ascr"), gestaltAppleScriptPresent = 0, gestaltAppleScriptPowerPCSupport = 1 } enum { gestaltATAAttr = getOSType!("ata "), gestaltATAPresent = 0 } enum { gestaltATalkVersion = getOSType!("atkv") } enum { gestaltAppleTalkVersion = getOSType!("atlk") } enum { gestaltAUXVersion = getOSType!("a/ux") } enum { gestaltMacOSCompatibilityBoxAttr = getOSType!("bbox"), gestaltMacOSCompatibilityBoxPresent = 0, gestaltMacOSCompatibilityBoxHasSerial = 1, gestaltMacOSCompatibilityBoxless = 2 } enum { gestaltBusClkSpeed = getOSType!("bclk") } enum { gestaltBusClkSpeedMHz = getOSType!("bclm") } enum { gestaltCloseViewAttr = getOSType!("BSDa"), gestaltCloseViewEnabled = 0, gestaltCloseViewDisplayMgrFriendly = 1 } enum { gestaltCarbonVersion = getOSType!("cbon") } enum { gestaltCFMAttr = getOSType!("cfrg"), gestaltCFMPresent = 0, gestaltCFMPresentMask = 0x0001, gestaltCFM99Present = 2, gestaltCFM99PresentMask = 0x0004 } enum { gestaltProcessorCacheLineSize = getOSType!("csiz") } enum { gestaltCollectionMgrVersion = getOSType!("cltn") } enum { gestaltColorMatchingAttr = getOSType!("cmta"), gestaltHighLevelMatching = 0, gestaltColorMatchingLibLoaded = 1 } enum { gestaltColorMatchingVersion = getOSType!("cmtc"), gestaltColorSync10 = 0x0100, gestaltColorSync11 = 0x0110, gestaltColorSync104 = 0x0104, gestaltColorSync105 = 0x0105, gestaltColorSync20 = 0x0200, gestaltColorSync21 = 0x0210, gestaltColorSync211 = 0x0211, gestaltColorSync212 = 0x0212, gestaltColorSync213 = 0x0213, gestaltColorSync25 = 0x0250, gestaltColorSync26 = 0x0260, gestaltColorSync261 = 0x0261, gestaltColorSync30 = 0x0300 } enum { gestaltControlMgrVersion = getOSType!("cmvr") } enum { gestaltControlMgrAttr = getOSType!("cntl"), gestaltControlMgrPresent = (1L << 0), gestaltControlMgrPresentBit = 0, gestaltControlMsgPresentMask = (1L << gestaltControlMgrPresentBit) } enum { gestaltConnMgrAttr = getOSType!("conn"), gestaltConnMgrPresent = 0, gestaltConnMgrCMSearchFix = 1, gestaltConnMgrErrorString = 2, gestaltConnMgrMultiAsyncIO = 3 } enum { gestaltColorPickerVersion = getOSType!("cpkr"), gestaltColorPicker = getOSType!("cpkr") } enum { gestaltComponentMgr = getOSType!("cpnt"), gestaltComponentPlatform = getOSType!("copl") } enum { gestaltNativeCPUtype = getOSType!("cput"), gestaltNativeCPUfamily = getOSType!("cpuf"), gestaltCPU68000 = 0, gestaltCPU68010 = 1, gestaltCPU68020 = 2, gestaltCPU68030 = 3, gestaltCPU68040 = 4, gestaltCPU601 = 0x0101, gestaltCPU603 = 0x0103, gestaltCPU604 = 0x0104, gestaltCPU603e = 0x0106, gestaltCPU603ev = 0x0107, gestaltCPU750 = 0x0108, gestaltCPU604e = 0x0109, gestaltCPU604ev = 0x010A, gestaltCPUG4 = 0x010C, gestaltCPUG47450 = 0x0110 } enum { gestaltCPUApollo = 0x0111, gestaltCPUG47447 = 0x0112, gestaltCPU750FX = 0x0120, gestaltCPU970 = 0x0139, gestaltCPU970FX = 0x013C, gestaltCPU970MP = 0x0144 } enum { gestaltCPU486 = getOSType!("i486"), gestaltCPUPentium = getOSType!("i586"), gestaltCPUPentiumPro = getOSType!("i5pr"), gestaltCPUPentiumII = getOSType!("i5ii"), gestaltCPUX86 = getOSType!("ixxx"), gestaltCPUPentium4 = getOSType!("i5iv") } enum { gestaltCRMAttr = getOSType!("crm "), gestaltCRMPresent = 0, gestaltCRMPersistentFix = 1, gestaltCRMToolRsrcCalls = 2 } enum { gestaltControlStripVersion = getOSType!("csvr") } enum { gestaltCountOfCPUs = getOSType!("cpus") } enum { gestaltCTBVersion = getOSType!("ctbv") } enum { gestaltDBAccessMgrAttr = getOSType!("dbac"), gestaltDBAccessMgrPresent = 0 } enum { gestaltDiskCacheSize = getOSType!("dcsz") } enum { gestaltSDPFindVersion = getOSType!("dfnd") } enum { gestaltDictionaryMgrAttr = getOSType!("dict"), gestaltDictionaryMgrPresent = 0 } enum { gestaltDITLExtAttr = getOSType!("ditl"), gestaltDITLExtPresent = 0, gestaltDITLExtSupportsIctb = 1 } enum { gestaltDialogMgrAttr = getOSType!("dlog"), gestaltDialogMgrPresent = (1L << 0), gestaltDialogMgrPresentBit = 0, gestaltDialogMgrHasAquaAlertBit = 2, gestaltDialogMgrPresentMask = (1L << gestaltDialogMgrPresentBit), gestaltDialogMgrHasAquaAlertMask = (1L << gestaltDialogMgrHasAquaAlertBit), gestaltDialogMsgPresentMask = gestaltDialogMgrPresentMask } enum { gestaltDesktopPicturesAttr = getOSType!("dkpx"), gestaltDesktopPicturesInstalled = 0, gestaltDesktopPicturesDisplayed = 1 } enum { gestaltDisplayMgrVers = getOSType!("dplv") } enum { gestaltDisplayMgrAttr = getOSType!("dply"), gestaltDisplayMgrPresent = 0, gestaltDisplayMgrCanSwitchMirrored = 2, gestaltDisplayMgrSetDepthNotifies = 3, gestaltDisplayMgrCanConfirm = 4, gestaltDisplayMgrColorSyncAware = 5, gestaltDisplayMgrGeneratesProfiles = 6, gestaltDisplayMgrSleepNotifies = 7 } enum { gestaltDragMgrAttr = getOSType!("drag"), gestaltDragMgrPresent = 0, gestaltDragMgrFloatingWind = 1, gestaltPPCDragLibPresent = 2, gestaltDragMgrHasImageSupport = 3, gestaltCanStartDragInFloatWindow = 4, gestaltSetDragImageUpdates = 5 } enum { gestaltDrawSprocketVersion = getOSType!("dspv") } enum { gestaltDigitalSignatureVersion = getOSType!("dsig") } enum { gestaltDTPFeatures = getOSType!("dtpf"), kDTPThirdPartySupported = 0x00000004 } enum { gestaltDTPInfo = getOSType!("dtpx") } enum { gestaltEasyAccessAttr = getOSType!("easy"), gestaltEasyAccessOff = 0, gestaltEasyAccessOn = 1, gestaltEasyAccessSticky = 2, gestaltEasyAccessLocked = 3 } enum { gestaltEditionMgrAttr = getOSType!("edtn"), gestaltEditionMgrPresent = 0, gestaltEditionMgrTranslationAware = 1 } enum { gestaltAppleEventsAttr = getOSType!("evnt"), gestaltAppleEventsPresent = 0, gestaltScriptingSupport = 1, gestaltOSLInSystem = 2, gestaltSupportsApplicationURL = 4 } enum { gestaltExtensionTableVersion = getOSType!("etbl") } enum { gestaltFBCIndexingState = getOSType!("fbci"), gestaltFBCindexingSafe = 0, gestaltFBCindexingCritical = 1 } enum { gestaltFBCVersion = getOSType!("fbcv"), gestaltFBCCurrentVersion = 0x0011, gestaltOSXFBCCurrentVersion = 0x0100 } enum { gestaltFileMappingAttr = getOSType!("flmp"), gestaltFileMappingPresent = 0, gestaltFileMappingMultipleFilesFix = 1 } enum { gestaltFloppyAttr = getOSType!("flpy"), gestaltFloppyIsMFMOnly = 0, gestaltFloppyIsManualEject = 1, gestaltFloppyUsesDiskInPlace = 2 } enum { gestaltFinderAttr = getOSType!("fndr"), gestaltFinderDropEvent = 0, gestaltFinderMagicPlacement = 1, gestaltFinderCallsAEProcess = 2, gestaltOSLCompliantFinder = 3, gestaltFinderSupports4GBVolumes = 4, gestaltFinderHasClippings = 6, gestaltFinderFullDragManagerSupport = 7, gestaltFinderFloppyRootComments = 8, gestaltFinderLargeAndNotSavedFlavorsOK = 9, gestaltFinderUsesExtensibleFolderManager = 10, gestaltFinderUnderstandsRedirectedDesktopFolder = 11 } enum { gestaltFindFolderAttr = getOSType!("fold"), gestaltFindFolderPresent = 0, gestaltFolderDescSupport = 1, gestaltFolderMgrFollowsAliasesWhenResolving = 2, gestaltFolderMgrSupportsExtendedCalls = 3, gestaltFolderMgrSupportsDomains = 4, gestaltFolderMgrSupportsFSCalls = 5 } enum { gestaltFindFolderRedirectionAttr = getOSType!("fole") } enum { gestaltFontMgrAttr = getOSType!("font"), gestaltOutlineFonts = 0 } enum { gestaltFPUType = getOSType!("fpu "), gestaltNoFPU = 0, gestalt68881 = 1, gestalt68882 = 2, gestalt68040FPU = 3 } enum { gestaltFSAttr = getOSType!("fs "), gestaltFullExtFSDispatching = 0, gestaltHasFSSpecCalls = 1, gestaltHasFileSystemManager = 2, gestaltFSMDoesDynamicLoad = 3, gestaltFSSupports4GBVols = 4, gestaltFSSupports2TBVols = 5, gestaltHasExtendedDiskInit = 6, gestaltDTMgrSupportsFSM = 7, gestaltFSNoMFSVols = 8, gestaltFSSupportsHFSPlusVols = 9, gestaltFSIncompatibleDFA82 = 10 } enum { gestaltFSSupportsDirectIO = 11 } enum { gestaltHasHFSPlusAPIs = 12, gestaltMustUseFCBAccessors = 13, gestaltFSUsesPOSIXPathsForConversion = 14, gestaltFSSupportsExclusiveLocks = 15, gestaltFSSupportsHardLinkDetection = 16, gestaltFSAllowsConcurrentAsyncIO = 17 } enum { gestaltAdminFeaturesFlagsAttr = getOSType!("fred"), gestaltFinderUsesSpecialOpenFoldersFile = 0 } enum { gestaltFSMVersion = getOSType!("fsm ") } enum { gestaltFXfrMgrAttr = getOSType!("fxfr"), gestaltFXfrMgrPresent = 0, gestaltFXfrMgrMultiFile = 1, gestaltFXfrMgrErrorString = 2, gestaltFXfrMgrAsync = 3 } enum { gestaltGraphicsAttr = getOSType!("gfxa"), gestaltGraphicsIsDebugging = 0x00000001, gestaltGraphicsIsLoaded = 0x00000002, gestaltGraphicsIsPowerPC = 0x00000004 } enum { gestaltGraphicsVersion = getOSType!("grfx"), gestaltCurrentGraphicsVersion = 0x00010200 } enum { gestaltHardwareAttr = getOSType!("hdwr"), gestaltHasVIA1 = 0, gestaltHasVIA2 = 1, gestaltHasASC = 3, gestaltHasSCC = 4, gestaltHasSCSI = 7, gestaltHasSoftPowerOff = 19, gestaltHasSCSI961 = 21, gestaltHasSCSI962 = 22, gestaltHasUniversalROM = 24, gestaltHasEnhancedLtalk = 30 } enum { gestaltHelpMgrAttr = getOSType!("help"), gestaltHelpMgrPresent = 0, gestaltHelpMgrExtensions = 1, gestaltAppleGuideIsDebug = 30, gestaltAppleGuidePresent = 31 } enum { gestaltHardwareVendorCode = getOSType!("hrad"), gestaltHardwareVendorApple = getOSType!("Appl") } enum { gestaltCompressionMgr = getOSType!("icmp") } enum { gestaltIconUtilitiesAttr = getOSType!("icon"), gestaltIconUtilitiesPresent = 0, gestaltIconUtilitiesHas48PixelIcons = 1, gestaltIconUtilitiesHas32BitIcons = 2, gestaltIconUtilitiesHas8BitDeepMasks = 3, gestaltIconUtilitiesHasIconServices = 4 } enum { gestaltInternalDisplay = getOSType!("idsp") } enum { gestaltKeyboardType = getOSType!("kbd "), gestaltMacKbd = 1, gestaltMacAndPad = 2, gestaltMacPlusKbd = 3, gestaltUnknownThirdPartyKbd = 3, gestaltExtADBKbd = 4, gestaltStdADBKbd = 5, gestaltPrtblADBKbd = 6, gestaltPrtblISOKbd = 7, gestaltStdISOADBKbd = 8, gestaltExtISOADBKbd = 9, gestaltADBKbdII = 10, gestaltADBISOKbdII = 11, gestaltPwrBookADBKbd = 12, gestaltPwrBookISOADBKbd = 13, gestaltAppleAdjustKeypad = 14, gestaltAppleAdjustADBKbd = 15, gestaltAppleAdjustISOKbd = 16, gestaltJapanAdjustADBKbd = 17, gestaltPwrBkExtISOKbd = 20, gestaltPwrBkExtJISKbd = 21, gestaltPwrBkExtADBKbd = 24, gestaltPS2Keyboard = 27, gestaltPwrBkSubDomKbd = 28, gestaltPwrBkSubISOKbd = 29, gestaltPwrBkSubJISKbd = 30, gestaltPortableUSBANSIKbd = 37, gestaltPortableUSBISOKbd = 38, gestaltPortableUSBJISKbd = 39, gestaltThirdPartyANSIKbd = 40, gestaltThirdPartyISOKbd = 41, gestaltThirdPartyJISKbd = 42, gestaltPwrBkEKDomKbd = 195, gestaltPwrBkEKISOKbd = 196, gestaltPwrBkEKJISKbd = 197, gestaltUSBCosmoANSIKbd = 198, gestaltUSBCosmoISOKbd = 199, gestaltUSBCosmoJISKbd = 200, gestaltPwrBk99JISKbd = 201, gestaltUSBAndyANSIKbd = 204, gestaltUSBAndyISOKbd = 205, gestaltUSBAndyJISKbd = 206 } enum { gestaltPortable2001ANSIKbd = 202, gestaltPortable2001ISOKbd = 203, gestaltPortable2001JISKbd = 207 } enum { gestaltUSBProF16ANSIKbd = 34, gestaltUSBProF16ISOKbd = 35, gestaltUSBProF16JISKbd = 36, gestaltProF16ANSIKbd = 31, gestaltProF16ISOKbd = 32, gestaltProF16JISKbd = 33 } enum { gestaltUDFSupport = getOSType!("kudf") } enum { gestaltLowMemorySize = getOSType!("lmem") } enum { gestaltLogicalRAMSize = getOSType!("lram") } enum { gestaltMachineType = getOSType!("mach"), gestaltClassic = 1, gestaltMacXL = 2, gestaltMac512KE = 3, gestaltMacPlus = 4, gestaltMacSE = 5, gestaltMacII = 6, gestaltMacIIx = 7, gestaltMacIIcx = 8, gestaltMacSE030 = 9, gestaltPortable = 10, gestaltMacIIci = 11, gestaltPowerMac8100_120 = 12, gestaltMacIIfx = 13, gestaltMacClassic = 17, gestaltMacIIsi = 18, gestaltMacLC = 19, gestaltMacQuadra900 = 20, gestaltPowerBook170 = 21, gestaltMacQuadra700 = 22, gestaltClassicII = 23, gestaltPowerBook100 = 24, gestaltPowerBook140 = 25, gestaltMacQuadra950 = 26, gestaltMacLCIII = 27, gestaltPerforma450 = gestaltMacLCIII, gestaltPowerBookDuo210 = 29, gestaltMacCentris650 = 30, gestaltPowerBookDuo230 = 32, gestaltPowerBook180 = 33, gestaltPowerBook160 = 34, gestaltMacQuadra800 = 35, gestaltMacQuadra650 = 36, gestaltMacLCII = 37, gestaltPowerBookDuo250 = 38, gestaltAWS9150_80 = 39, gestaltPowerMac8100_110 = 40, gestaltAWS8150_110 = gestaltPowerMac8100_110, gestaltPowerMac5200 = 41, gestaltPowerMac5260 = gestaltPowerMac5200, gestaltPerforma5300 = gestaltPowerMac5200, gestaltPowerMac6200 = 42, gestaltPerforma6300 = gestaltPowerMac6200, gestaltMacIIvi = 44, gestaltMacIIvm = 45, gestaltPerforma600 = gestaltMacIIvm, gestaltPowerMac7100_80 = 47, gestaltMacIIvx = 48, gestaltMacColorClassic = 49, gestaltPerforma250 = gestaltMacColorClassic, gestaltPowerBook165c = 50, gestaltMacCentris610 = 52, gestaltMacQuadra610 = 53, gestaltPowerBook145 = 54, gestaltPowerMac8100_100 = 55, gestaltMacLC520 = 56, gestaltAWS9150_120 = 57, gestaltPowerMac6400 = 58, gestaltPerforma6400 = gestaltPowerMac6400, gestaltPerforma6360 = gestaltPerforma6400, gestaltMacCentris660AV = 60, gestaltMacQuadra660AV = gestaltMacCentris660AV, gestaltPerforma46x = 62, gestaltPowerMac8100_80 = 65, gestaltAWS8150_80 = gestaltPowerMac8100_80, gestaltPowerMac9500 = 67, gestaltPowerMac9600 = gestaltPowerMac9500, gestaltPowerMac7500 = 68, gestaltPowerMac7600 = gestaltPowerMac7500, gestaltPowerMac8500 = 69, gestaltPowerMac8600 = gestaltPowerMac8500, gestaltAWS8550 = gestaltPowerMac7500, gestaltPowerBook180c = 71, gestaltPowerBook520 = 72, gestaltPowerBook520c = gestaltPowerBook520, gestaltPowerBook540 = gestaltPowerBook520, gestaltPowerBook540c = gestaltPowerBook520, gestaltPowerMac5400 = 74, gestaltPowerMac6100_60 = 75, gestaltAWS6150_60 = gestaltPowerMac6100_60, gestaltPowerBookDuo270c = 77, gestaltMacQuadra840AV = 78, gestaltPerforma550 = 80, gestaltPowerBook165 = 84, gestaltPowerBook190 = 85, gestaltMacTV = 88, gestaltMacLC475 = 89, gestaltPerforma47x = gestaltMacLC475, gestaltMacLC575 = 92, gestaltMacQuadra605 = 94, gestaltMacQuadra630 = 98, gestaltMacLC580 = 99, gestaltPerforma580 = gestaltMacLC580, gestaltPowerMac6100_66 = 100, gestaltAWS6150_66 = gestaltPowerMac6100_66, gestaltPowerBookDuo280 = 102, gestaltPowerBookDuo280c = 103, gestaltPowerMacLC475 = 104, gestaltPowerMacPerforma47x = gestaltPowerMacLC475, gestaltPowerMacLC575 = 105, gestaltPowerMacPerforma57x = gestaltPowerMacLC575, gestaltPowerMacQuadra630 = 106, gestaltPowerMacLC630 = gestaltPowerMacQuadra630, gestaltPowerMacPerforma63x = gestaltPowerMacQuadra630, gestaltPowerMac7200 = 108, gestaltPowerMac7300 = 109, gestaltPowerMac7100_66 = 112, gestaltPowerBook150 = 115, gestaltPowerMacQuadra700 = 116, gestaltPowerMacQuadra900 = 117, gestaltPowerMacQuadra950 = 118, gestaltPowerMacCentris610 = 119, gestaltPowerMacCentris650 = 120, gestaltPowerMacQuadra610 = 121, gestaltPowerMacQuadra650 = 122, gestaltPowerMacQuadra800 = 123, gestaltPowerBookDuo2300 = 124, gestaltPowerBook500PPCUpgrade = 126, gestaltPowerBook5300 = 128, gestaltPowerBook1400 = 310, gestaltPowerBook3400 = 306, gestaltPowerBook2400 = 307, gestaltPowerBookG3Series = 312, gestaltPowerBookG3 = 313, gestaltPowerBookG3Series2 = 314, gestaltPowerMacNewWorld = 406, gestaltPowerMacG3 = 510, gestaltPowerMac5500 = 512, gestalt20thAnniversary = gestaltPowerMac5500, gestaltPowerMac6500 = 513, gestaltPowerMac4400_160 = 514, gestaltPowerMac4400 = 515, gestaltMacOSCompatibility = 1206 } enum { gestaltQuadra605 = gestaltMacQuadra605, gestaltQuadra610 = gestaltMacQuadra610, gestaltQuadra630 = gestaltMacQuadra630, gestaltQuadra650 = gestaltMacQuadra650, gestaltQuadra660AV = gestaltMacQuadra660AV, gestaltQuadra700 = gestaltMacQuadra700, gestaltQuadra800 = gestaltMacQuadra800, gestaltQuadra840AV = gestaltMacQuadra840AV, gestaltQuadra900 = gestaltMacQuadra900, gestaltQuadra950 = gestaltMacQuadra950 } enum { kMachineNameStrID = -16395 } enum { gestaltSMPMailerVersion = getOSType!("malr") } enum { gestaltMediaBay = getOSType!("mbeh"), gestaltMBLegacy = 0, gestaltMBSingleBay = 1, gestaltMBMultipleBays = 2 } enum { gestaltMessageMgrVersion = getOSType!("mess") } enum { gestaltMenuMgrAttr = getOSType!("menu"), gestaltMenuMgrPresent = (1L << 0), gestaltMenuMgrPresentBit = 0, gestaltMenuMgrAquaLayoutBit = 1, gestaltMenuMgrMultipleItemsWithCommandIDBit = 2, gestaltMenuMgrRetainsIconRefBit = 3, gestaltMenuMgrSendsMenuBoundsToDefProcBit = 4, gestaltMenuMgrMoreThanFiveMenusDeepBit = 5, gestaltMenuMgrCGImageMenuTitleBit = 6, gestaltMenuMgrPresentMask = (1L << gestaltMenuMgrPresentBit), gestaltMenuMgrAquaLayoutMask = (1L << gestaltMenuMgrAquaLayoutBit), gestaltMenuMgrMultipleItemsWithCommandIDMask = (1L << gestaltMenuMgrMultipleItemsWithCommandIDBit), gestaltMenuMgrRetainsIconRefMask = (1L << gestaltMenuMgrRetainsIconRefBit), gestaltMenuMgrSendsMenuBoundsToDefProcMask = (1L << gestaltMenuMgrSendsMenuBoundsToDefProcBit), gestaltMenuMgrMoreThanFiveMenusDeepMask = (1L << gestaltMenuMgrMoreThanFiveMenusDeepBit), gestaltMenuMgrCGImageMenuTitleMask = (1L << gestaltMenuMgrCGImageMenuTitleBit) } enum { gestaltMultipleUsersState = getOSType!("mfdr") } enum { gestaltMachineIcon = getOSType!("micn") } enum { gestaltMiscAttr = getOSType!("misc"), gestaltScrollingThrottle = 0, gestaltSquareMenuBar = 2 } enum { gestaltMixedModeVersion = getOSType!("mixd") } enum { gestaltMixedModeAttr = getOSType!("mixd"), gestaltMixedModePowerPC = 0, gestaltPowerPCAware = 0, gestaltMixedModeCFM68K = 1, gestaltMixedModeCFM68KHasTrap = 2, gestaltMixedModeCFM68KHasState = 3 } enum { gestaltQuickTimeConferencing = getOSType!("mtlk") } enum { gestaltMemoryMapAttr = getOSType!("mmap"), gestaltMemoryMapSparse = 0 } enum { gestaltMMUType = getOSType!("mmu "), gestaltNoMMU = 0, gestaltAMU = 1, gestalt68851 = 2, gestalt68030MMU = 3, gestalt68040MMU = 4, gestaltEMMU1 = 5 } enum { gestaltUserVisibleMachineName = getOSType!("mnam") } enum { gestaltMPCallableAPIsAttr = getOSType!("mpsc"), gestaltMPFileManager = 0, gestaltMPDeviceManager = 1, gestaltMPTrapCalls = 2 } enum { gestaltStdNBPAttr = getOSType!("nlup"), gestaltStdNBPPresent = 0, gestaltStdNBPSupportsAutoPosition = 1 } enum { gestaltNotificationMgrAttr = getOSType!("nmgr"), gestaltNotificationPresent = 0 } enum { gestaltNameRegistryVersion = getOSType!("nreg") } enum { gestaltNuBusSlotCount = getOSType!("nubs") } enum { gestaltOCEToolboxVersion = getOSType!("ocet"), gestaltOCETB = 0x0102, gestaltSFServer = 0x0100 } enum { gestaltOCEToolboxAttr = getOSType!("oceu"), gestaltOCETBPresent = 0x01, gestaltOCETBAvailable = 0x02, gestaltOCESFServerAvailable = 0x04, gestaltOCETBNativeGlueAvailable = 0x10 } enum { gestaltOpenFirmwareInfo = getOSType!("opfw") } enum { gestaltOSAttr = getOSType!("os "), gestaltSysZoneGrowable = 0, gestaltLaunchCanReturn = 1, gestaltLaunchFullFileSpec = 2, gestaltLaunchControl = 3, gestaltTempMemSupport = 4, gestaltRealTempMemory = 5, gestaltTempMemTracked = 6, gestaltIPCSupport = 7, gestaltSysDebuggerSupport = 8, gestaltNativeProcessMgrBit = 19, gestaltAltivecRegistersSwappedCorrectlyBit = 20 } enum { gestaltOSTable = getOSType!("ostt") } enum { gestaltOpenTptNetworkSetup = getOSType!("otcf"), gestaltOpenTptNetworkSetupLegacyImport = 0, gestaltOpenTptNetworkSetupLegacyExport = 1, gestaltOpenTptNetworkSetupSupportsMultihoming = 2 } enum { gestaltOpenTptNetworkSetupVersion = getOSType!("otcv") } enum { gestaltOpenTptRemoteAccess = getOSType!("otra"), gestaltOpenTptRemoteAccessPresent = 0, gestaltOpenTptRemoteAccessLoaded = 1, gestaltOpenTptRemoteAccessClientOnly = 2, gestaltOpenTptRemoteAccessPServer = 3, gestaltOpenTptRemoteAccessMPServer = 4, gestaltOpenTptPPPPresent = 5, gestaltOpenTptARAPPresent = 6 } enum { gestaltOpenTptRemoteAccessVersion = getOSType!("otrv") } enum { gestaltOpenTptVersions = getOSType!("otvr") } enum { gestaltOpenTpt = getOSType!("otan"), gestaltOpenTptPresentMask = 0x00000001, gestaltOpenTptLoadedMask = 0x00000002, gestaltOpenTptAppleTalkPresentMask = 0x00000004, gestaltOpenTptAppleTalkLoadedMask = 0x00000008, gestaltOpenTptTCPPresentMask = 0x00000010, gestaltOpenTptTCPLoadedMask = 0x00000020, gestaltOpenTptIPXSPXPresentMask = 0x00000040, gestaltOpenTptIPXSPXLoadedMask = 0x00000080, gestaltOpenTptPresentBit = 0, gestaltOpenTptLoadedBit = 1, gestaltOpenTptAppleTalkPresentBit = 2, gestaltOpenTptAppleTalkLoadedBit = 3, gestaltOpenTptTCPPresentBit = 4, gestaltOpenTptTCPLoadedBit = 5, gestaltOpenTptIPXSPXPresentBit = 6, gestaltOpenTptIPXSPXLoadedBit = 7 } enum { gestaltPCCard = getOSType!("pccd"), gestaltCardServicesPresent = 0, gestaltPCCardFamilyPresent = 1, gestaltPCCardHasPowerControl = 2, gestaltPCCardSupportsCardBus = 3 } enum { gestaltProcClkSpeed = getOSType!("pclk") } enum { gestaltProcClkSpeedMHz = getOSType!("mclk") } enum { gestaltPCXAttr = getOSType!("pcxg"), gestaltPCXHas8and16BitFAT = 0, gestaltPCXHasProDOS = 1, gestaltPCXNewUI = 2, gestaltPCXUseICMapping = 3 } enum { gestaltLogicalPageSize = getOSType!("pgsz") } enum { gestaltScreenCaptureMain = getOSType!("pic1"), gestaltScreenCaptureDir = getOSType!("pic2") } enum { gestaltGXPrintingMgrVersion = getOSType!("pmgr") } enum { gestaltPopupAttr = getOSType!("pop!"), gestaltPopupPresent = 0 } enum { gestaltPowerMgrAttr = getOSType!("powr"), gestaltPMgrExists = 0, gestaltPMgrCPUIdle = 1, gestaltPMgrSCC = 2, gestaltPMgrSound = 3, gestaltPMgrDispatchExists = 4, gestaltPMgrSupportsAVPowerStateAtSleepWake = 5 } enum { gestaltPowerMgrVers = getOSType!("pwrv") } enum { gestaltPPCToolboxAttr = getOSType!("ppc "), gestaltPPCToolboxPresent = 0x0000, gestaltPPCSupportsRealTime = 0x1000, gestaltPPCSupportsIncoming = 0x0001, gestaltPPCSupportsOutGoing = 0x0002, gestaltPPCSupportsTCP_IP = 0x0004, gestaltPPCSupportsIncomingAppleTalk = 0x0010, gestaltPPCSupportsIncomingTCP_IP = 0x0020, gestaltPPCSupportsOutgoingAppleTalk = 0x0100, gestaltPPCSupportsOutgoingTCP_IP = 0x0200 } enum { gestaltPowerPCProcessorFeatures = getOSType!("ppcf"), gestaltPowerPCHasGraphicsInstructions = 0, gestaltPowerPCHasSTFIWXInstruction = 1, gestaltPowerPCHasSquareRootInstructions = 2, gestaltPowerPCHasDCBAInstruction = 3, gestaltPowerPCHasVectorInstructions = 4, gestaltPowerPCHasDataStreams = 5, gestaltPowerPCHas64BitSupport = 6, gestaltPowerPCHasDCBTStreams = 7, gestaltPowerPCASArchitecture = 8, gestaltPowerPCIgnoresDCBST = 9 } enum { gestaltProcessorType = getOSType!("proc"), gestalt68000 = 1, gestalt68010 = 2, gestalt68020 = 3, gestalt68030 = 4, gestalt68040 = 5 } enum { gestaltSDPPromptVersion = getOSType!("prpv") } enum { gestaltParityAttr = getOSType!("prty"), gestaltHasParityCapability = 0, gestaltParityEnabled = 1 } enum { gestaltQD3DVersion = getOSType!("q3v ") } enum { gestaltQD3DViewer = getOSType!("q3vc"), gestaltQD3DViewerPresent = 0 } enum { gestaltQuickdrawVersion = getOSType!("qd "), gestaltOriginalQD = 0x0000, gestalt8BitQD = 0x0100, gestalt32BitQD = 0x0200, gestalt32BitQD11 = 0x0201, gestalt32BitQD12 = 0x0220, gestalt32BitQD13 = 0x0230, gestaltAllegroQD = 0x0250, gestaltMacOSXQD = 0x0300 } enum { gestaltQD3D = getOSType!("qd3d"), gestaltQD3DPresent = 0 } enum { gestaltGXVersion = getOSType!("qdgx") } enum { gestaltQuickdrawFeatures = getOSType!("qdrw"), gestaltHasColor = 0, gestaltHasDeepGWorlds = 1, gestaltHasDirectPixMaps = 2, gestaltHasGrayishTextOr = 3, gestaltSupportsMirroring = 4, gestaltQDHasLongRowBytes = 5 } enum { gestaltQDTextVersion = getOSType!("qdtx"), gestaltOriginalQDText = 0x0000, gestaltAllegroQDText = 0x0100, gestaltMacOSXQDText = 0x0200 } enum { gestaltQDTextFeatures = getOSType!("qdtf"), gestaltWSIISupport = 0, gestaltSbitFontSupport = 1, gestaltAntiAliasedTextAvailable = 2, gestaltOFA2available = 3, gestaltCreatesAliasFontRsrc = 4, gestaltNativeType1FontSupport = 5, gestaltCanUseCGTextRendering = 6 } enum { gestaltQuickTimeConferencingInfo = getOSType!("qtci") } enum { gestaltQuickTimeVersion = getOSType!("qtim"), gestaltQuickTime = getOSType!("qtim") } enum { gestaltQuickTimeFeatures = getOSType!("qtrs"), gestaltPPCQuickTimeLibPresent = 0 } enum { gestaltQuickTimeStreamingFeatures = getOSType!("qtsf") } enum { gestaltQuickTimeStreamingVersion = getOSType!("qtst") } enum { gestaltQuickTimeThreadSafeFeaturesAttr = getOSType!("qtth"), gestaltQuickTimeThreadSafeICM = 0, gestaltQuickTimeThreadSafeMovieToolbox = 1, gestaltQuickTimeThreadSafeMovieImport = 2, gestaltQuickTimeThreadSafeMovieExport = 3, gestaltQuickTimeThreadSafeGraphicsImport = 4, gestaltQuickTimeThreadSafeGraphicsExport = 5, gestaltQuickTimeThreadSafeMoviePlayback = 6 } enum { gestaltQTVRMgrAttr = getOSType!("qtvr"), gestaltQTVRMgrPresent = 0, gestaltQTVRObjMoviesPresent = 1, gestaltQTVRCylinderPanosPresent = 2, gestaltQTVRCubicPanosPresent = 3 } enum { gestaltQTVRMgrVers = getOSType!("qtvv") } enum { gestaltPhysicalRAMSize = getOSType!("ram ") } enum { gestaltPhysicalRAMSizeInMegabytes = getOSType!("ramm") } enum { gestaltRBVAddr = getOSType!("rbv ") } enum { gestaltROMSize = getOSType!("rom ") } enum { gestaltROMVersion = getOSType!("romv") } enum { gestaltResourceMgrAttr = getOSType!("rsrc"), gestaltPartialRsrcs = 0, gestaltHasResourceOverrides = 1 } enum { gestaltResourceMgrBugFixesAttrs = getOSType!("rmbg"), gestaltRMForceSysHeapRolledIn = 0, gestaltRMFakeAppleMenuItemsRolledIn = 1, gestaltSanityCheckResourceFiles = 2, gestaltSupportsFSpResourceFileAlreadyOpenBit = 3, gestaltRMSupportsFSCalls = 4, gestaltRMTypeIndexOrderingReverse = 8 } enum { gestaltRealtimeMgrAttr = getOSType!("rtmr"), gestaltRealtimeMgrPresent = 0 } enum { gestaltSafeOFAttr = getOSType!("safe"), gestaltVMZerosPagesBit = 0, gestaltInitHeapZerosOutHeapsBit = 1, gestaltNewHandleReturnsZeroedMemoryBit = 2, gestaltNewPtrReturnsZeroedMemoryBit = 3, gestaltFileAllocationZeroedBlocksBit = 4 } enum { gestaltSCCReadAddr = getOSType!("sccr") } enum { gestaltSCCWriteAddr = getOSType!("sccw") } enum { gestaltScrapMgrAttr = getOSType!("scra"), gestaltScrapMgrTranslationAware = 0 } enum { gestaltScriptMgrVersion = getOSType!("scri") } enum { gestaltScriptCount = getOSType!("scr#") } enum { gestaltSCSI = getOSType!("scsi"), gestaltAsyncSCSI = 0, gestaltAsyncSCSIINROM = 1, gestaltSCSISlotBoot = 2, gestaltSCSIPollSIH = 3 } enum { gestaltControlStripAttr = getOSType!("sdev"), gestaltControlStripExists = 0, gestaltControlStripVersionFixed = 1, gestaltControlStripUserFont = 2, gestaltControlStripUserHotKey = 3 } enum { gestaltSDPStandardDirectoryVersion = getOSType!("sdvr") } enum { gestaltSerialAttr = getOSType!("ser "), gestaltHasGPIaToDCDa = 0, gestaltHasGPIaToRTxCa = 1, gestaltHasGPIbToDCDb = 2, gestaltHidePortA = 3, gestaltHidePortB = 4, gestaltPortADisabled = 5, gestaltPortBDisabled = 6 } enum { gestaltShutdownAttributes = getOSType!("shut"), gestaltShutdownHassdOnBootVolUnmount = 0 } enum { gestaltNuBusConnectors = getOSType!("sltc") } enum { gestaltSlotAttr = getOSType!("slot"), gestaltSlotMgrExists = 0, gestaltNuBusPresent = 1, gestaltSESlotPresent = 2, gestaltSE30SlotPresent = 3, gestaltPortableSlotPresent = 4 } enum { gestaltFirstSlotNumber = getOSType!("slt1") } enum { gestaltSoundAttr = getOSType!("snd "), gestaltStereoCapability = 0, gestaltStereoMixing = 1, gestaltSoundIOMgrPresent = 3, gestaltBuiltInSoundInput = 4, gestaltHasSoundInputDevice = 5, gestaltPlayAndRecord = 6, gestalt16BitSoundIO = 7, gestaltStereoInput = 8, gestaltLineLevelInput = 9, gestaltSndPlayDoubleBuffer = 10, gestaltMultiChannels = 11, gestalt16BitAudioSupport = 12 } enum { gestaltSplitOSAttr = getOSType!("spos"), gestaltSplitOSBootDriveIsNetworkVolume = 0, gestaltSplitOSAware = 1, gestaltSplitOSEnablerVolumeIsDifferentFromBootVolume = 2, gestaltSplitOSMachineNameSetToNetworkNameTemp = 3, gestaltSplitOSMachineNameStartupDiskIsNonPersistent = 5 } enum { gestaltSMPSPSendLetterVersion = getOSType!("spsl") } enum { gestaltSpeechRecognitionAttr = getOSType!("srta"), gestaltDesktopSpeechRecognition = 1, gestaltTelephoneSpeechRecognition = 2 } enum { gestaltSpeechRecognitionVersion = getOSType!("srtb") } enum { gestaltSoftwareVendorCode = getOSType!("srad"), gestaltSoftwareVendorApple = getOSType!("Appl"), gestaltSoftwareVendorLicensee = getOSType!("Lcns") } enum { gestaltStandardFileAttr = getOSType!("stdf"), gestaltStandardFile58 = 0, gestaltStandardFileTranslationAware = 1, gestaltStandardFileHasColorIcons = 2, gestaltStandardFileUseGenericIcons = 3, gestaltStandardFileHasDynamicVolumeAllocation = 4 } enum { gestaltSysArchitecture = getOSType!("sysa"), gestalt68k = 1, gestaltPowerPC = 2, gestaltIntel = 10 } enum { gestaltSystemUpdateVersion = getOSType!("sysu") } enum { gestaltSystemVersion = getOSType!("sysv"), gestaltSystemVersionMajor = getOSType!("sys1"), gestaltSystemVersionMinor = getOSType!("sys2"), gestaltSystemVersionBugFix = getOSType!("sys3") } enum { gestaltToolboxTable = getOSType!("tbtt") } enum { gestaltTextEditVersion = getOSType!("te "), gestaltTE1 = 1, gestaltTE2 = 2, gestaltTE3 = 3, gestaltTE4 = 4, gestaltTE5 = 5 } enum { gestaltTE6 = 6 } enum { gestaltTEAttr = getOSType!("teat"), gestaltTEHasGetHiliteRgn = 0, gestaltTESupportsInlineInput = 1, gestaltTESupportsTextObjects = 2, gestaltTEHasWhiteBackground = 3 } enum { gestaltTeleMgrAttr = getOSType!("tele"), gestaltTeleMgrPresent = 0, gestaltTeleMgrPowerPCSupport = 1, gestaltTeleMgrSoundStreams = 2, gestaltTeleMgrAutoAnswer = 3, gestaltTeleMgrIndHandset = 4, gestaltTeleMgrSilenceDetect = 5, gestaltTeleMgrNewTELNewSupport = 6 } enum { gestaltTermMgrAttr = getOSType!("term"), gestaltTermMgrPresent = 0, gestaltTermMgrErrorString = 2 } enum { gestaltThreadMgrAttr = getOSType!("thds"), gestaltThreadMgrPresent = 0, gestaltSpecificMatchSupport = 1, gestaltThreadsLibraryPresent = 2 } enum { gestaltTimeMgrVersion = getOSType!("tmgr"), gestaltStandardTimeMgr = 1, gestaltRevisedTimeMgr = 2, gestaltExtendedTimeMgr = 3, gestaltNativeTimeMgr = 4 } enum { gestaltTSMTEVersion = getOSType!("tmTV"), gestaltTSMTE1 = 0x0100, gestaltTSMTE15 = 0x0150, gestaltTSMTE152 = 0x0152 } enum { gestaltTSMTEAttr = getOSType!("tmTE"), gestaltTSMTEPresent = 0, gestaltTSMTE = 0 } enum { gestaltAVLTreeAttr = getOSType!("tree"), gestaltAVLTreePresentBit = 0, gestaltAVLTreeSupportsHandleBasedTreeBit = 1, gestaltAVLTreeSupportsTreeLockingBit = 2 } enum { gestaltALMAttr = getOSType!("trip"), gestaltALMPresent = 0, gestaltALMHasSFGroup = 1, gestaltALMHasCFMSupport = 2, gestaltALMHasRescanNotifiers = 3 } enum { gestaltALMHasSFLocation = gestaltALMHasSFGroup } enum { gestaltTSMgrVersion = getOSType!("tsmv"), gestaltTSMgr15 = 0x0150, gestaltTSMgr20 = 0x0200, gestaltTSMgr22 = 0x0220, gestaltTSMgr23 = 0x0230 } enum { gestaltTSMgrAttr = getOSType!("tsma"), gestaltTSMDisplayMgrAwareBit = 0, gestaltTSMdoesTSMTEBit = 1 } enum { gestaltSpeechAttr = getOSType!("ttsc"), gestaltSpeechMgrPresent = 0, gestaltSpeechHasPPCGlue = 1 } enum { gestaltTVAttr = getOSType!("tv "), gestaltHasTVTuner = 0, gestaltHasSoundFader = 1, gestaltHasHWClosedCaptioning = 2, gestaltHasIRRemote = 3, gestaltHasVidDecoderScaler = 4, gestaltHasStereoDecoder = 5, gestaltHasSerialFader = 6, gestaltHasFMTuner = 7, gestaltHasSystemIRFunction = 8, gestaltIRDisabled = 9, gestaltINeedIRPowerOffConfirm = 10, gestaltHasZoomedVideo = 11 } enum { gestaltATSUVersion = getOSType!("uisv"), gestaltOriginalATSUVersion = (1 << 16), gestaltATSUUpdate1 = (2 << 16), gestaltATSUUpdate2 = (3 << 16), gestaltATSUUpdate3 = (4 << 16), gestaltATSUUpdate4 = (5 << 16), gestaltATSUUpdate5 = (6 << 16), gestaltATSUUpdate6 = (7 << 16), gestaltATSUUpdate7 = (8 << 16) } enum { gestaltATSUFeatures = getOSType!("uisf"), gestaltATSUTrackingFeature = 0x00000001, gestaltATSUMemoryFeature = 0x00000001, gestaltATSUFallbacksFeature = 0x00000001, gestaltATSUGlyphBoundsFeature = 0x00000001, gestaltATSULineControlFeature = 0x00000001, gestaltATSULayoutCreateAndCopyFeature = 0x00000001, gestaltATSULayoutCacheClearFeature = 0x00000001, gestaltATSUTextLocatorUsageFeature = 0x00000002, gestaltATSULowLevelOrigFeatures = 0x00000004, gestaltATSUFallbacksObjFeatures = 0x00000008, gestaltATSUIgnoreLeadingFeature = 0x00000008, gestaltATSUByCharacterClusterFeature = 0x00000010, gestaltATSUAscentDescentControlsFeature = 0x00000010, gestaltATSUHighlightInactiveTextFeature = 0x00000010, gestaltATSUPositionToCursorFeature = 0x00000010, gestaltATSUBatchBreakLinesFeature = 0x00000010, gestaltATSUTabSupportFeature = 0x00000010, gestaltATSUDirectAccess = 0x00000010, gestaltATSUDecimalTabFeature = 0x00000020, gestaltATSUBiDiCursorPositionFeature = 0x00000020, gestaltATSUNearestCharLineBreakFeature = 0x00000020, gestaltATSUHighlightColorControlFeature = 0x00000020, gestaltATSUUnderlineOptionsStyleFeature = 0x00000020, gestaltATSUStrikeThroughStyleFeature = 0x00000020, gestaltATSUDropShadowStyleFeature = 0x00000020 } enum { gestaltUSBAttr = getOSType!("usb "), gestaltUSBPresent = 0, gestaltUSBHasIsoch = 1 } enum { gestaltUSBVersion = getOSType!("usbv") } enum { gestaltVersion = getOSType!("vers"), gestaltValueImplementedVers = 5 } enum { gestaltVIA1Addr = getOSType!("via1") } enum { gestaltVIA2Addr = getOSType!("via2") } enum { gestaltVMAttr = getOSType!("vm "), gestaltVMPresent = 0, gestaltVMHasLockMemoryForOutput = 1, gestaltVMFilemappingOn = 3, gestaltVMHasPagingControl = 4 } enum { gestaltVMInfoType = getOSType!("vmin"), gestaltVMInfoSizeStorageType = 0, gestaltVMInfoSizeType = 1, gestaltVMInfoSimpleType = 2, gestaltVMInfoNoneType = 3 } enum { gestaltVMBackingStoreFileRefNum = getOSType!("vmbs") } enum { gestaltALMVers = getOSType!("walk") } enum { gestaltWindowMgrAttr = getOSType!("wind"), gestaltWindowMgrPresent = (1L << 0), gestaltWindowMgrPresentBit = 0, gestaltExtendedWindowAttributes = 1, gestaltExtendedWindowAttributesBit = 1, gestaltHasFloatingWindows = 2, gestaltHasFloatingWindowsBit = 2, gestaltHasWindowBuffering = 3, gestaltHasWindowBufferingBit = 3, gestaltWindowLiveResizeBit = 4, gestaltWindowMinimizeToDockBit = 5, gestaltHasWindowShadowsBit = 6, gestaltSheetsAreWindowModalBit = 7, gestaltFrontWindowMayBeHiddenBit = 8, gestaltWindowMgrPresentMask = (1L << gestaltWindowMgrPresentBit), gestaltExtendedWindowAttributesMask = (1L << gestaltExtendedWindowAttributesBit), gestaltHasFloatingWindowsMask = (1L << gestaltHasFloatingWindowsBit), gestaltHasWindowBufferingMask = (1L << gestaltHasWindowBufferingBit), gestaltWindowLiveResizeMask = (1L << gestaltWindowLiveResizeBit), gestaltWindowMinimizeToDockMask = (1L << gestaltWindowMinimizeToDockBit), gestaltHasWindowShadowsMask = (1L << gestaltHasWindowShadowsBit), gestaltSheetsAreWindowModalMask = (1L << gestaltSheetsAreWindowModalBit), gestaltFrontWindowMayBeHiddenMask = (1L << gestaltFrontWindowMayBeHiddenBit) } enum { gestaltHasSingleWindowModeBit = 8, gestaltHasSingleWindowModeMask = (1L << gestaltHasSingleWindowModeBit) } enum { gestaltX86Features = getOSType!("x86f"), gestaltX86HasFPU = 0, gestaltX86HasVME = 1, gestaltX86HasDE = 2, gestaltX86HasPSE = 3, gestaltX86HasTSC = 4, gestaltX86HasMSR = 5, gestaltX86HasPAE = 6, gestaltX86HasMCE = 7, gestaltX86HasCX8 = 8, gestaltX86HasAPIC = 9, gestaltX86HasSEP = 11, gestaltX86HasMTRR = 12, gestaltX86HasPGE = 13, gestaltX86HasMCA = 14, gestaltX86HasCMOV = 15, gestaltX86HasPAT = 16, gestaltX86HasPSE36 = 17, gestaltX86HasPSN = 18, gestaltX86HasCLFSH = 19, gestaltX86Serviced20 = 20, gestaltX86HasDS = 21, gestaltX86ResACPI = 22, gestaltX86HasMMX = 23, gestaltX86HasFXSR = 24, gestaltX86HasSSE = 25, gestaltX86HasSSE2 = 26, gestaltX86HasSS = 27, gestaltX86HasHTT = 28, gestaltX86HasTM = 29 } enum { gestaltX86AdditionalFeatures = getOSType!("x86a"), gestaltX86HasSSE3 = 0, gestaltX86HasMONITOR = 3, gestaltX86HasDSCPL = 4, gestaltX86HasVMX = 5, gestaltX86HasSMX = 6, gestaltX86HasEST = 7, gestaltX86HasTM2 = 8, gestaltX86HasSupplementalSSE3 = 9, gestaltX86HasCID = 10, gestaltX86HasCX16 = 13, gestaltX86HasxTPR = 14 } enum { gestaltTranslationAttr = getOSType!("xlat"), gestaltTranslationMgrExists = 0, gestaltTranslationMgrHintOrder = 1, gestaltTranslationPPCAvail = 2, gestaltTranslationGetPathAPIAvail = 3 } enum { gestaltExtToolboxTable = getOSType!("xttt") } static if (D_LP64) { enum : long { gestaltUSBPrinterSharingVersion = getOSType!("zak "), gestaltUSBPrinterSharingVersionMask = 0x0000FFFF, gestaltUSBPrinterSharingAttr = getOSType!("zak "), gestaltUSBPrinterSharingAttrMask = 0xFFFF0000L, gestaltUSBPrinterSharingAttrRunning = 0x80000000L, gestaltUSBPrinterSharingAttrBooted = 0x40000000 } } else { enum { gestaltUSBPrinterSharingVersion = getOSType!("zak "), gestaltUSBPrinterSharingVersionMask = 0x0000FFFF, gestaltUSBPrinterSharingAttr = getOSType!("zak "), gestaltUSBPrinterSharingAttrMask = 0xFFFF0000, gestaltUSBPrinterSharingAttrRunning = 0x80000000, gestaltUSBPrinterSharingAttrBooted = 0x40000000 } } enum { gestaltWorldScriptIIVersion = getOSType!("doub"), gestaltWorldScriptIIAttr = getOSType!("wsat"), gestaltWSIICanPrintWithoutPrGeneralBit = 0 } extern (C) { short Gestalt (uint selector, SInt32* response); short NewGestaltValue (uint selector, int newValue); short ReplaceGestaltValue (uint selector, int replacementValue); short SetGestaltValue (uint selector, int newValue); short DeleteGestaltValue (uint selector); SelectorFunctionUPP NewSelectorFunctionUPP (SelectorFunctionProcPtr userRoutine); void DisposeSelectorFunctionUPP (SelectorFunctionUPP userUPP); short InvokeSelectorFunctionUPP (uint selector, SInt32* response, SelectorFunctionUPP userUPP); }