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);
}