The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Mac::Gestalt - Macintosh Toolbox Interface to the Gestalt Manager

SYNOPSIS

        # Only bring in the names we want
        use Mac::Gestalt qw(%Gestalt gestaltAppleTalkVersion);

        if ( $Gestalt{gestaltAppleTalkVersion} lt "58" ) {
                warn "Unable to use AppleTalk\n";
        }

DESCRIPTION

You can use the Gestalt function or the %Gestalt tied hash to obtain information about the operating environment. You specify what information you need by passing one of the selector codes recognized by Gestalt.

There is a huge list of codes. Many of them return a bitmask, so to find out whether e.g. the Code Fragment Manager is present, you write

        $Gestalt{gestaltCFMAttr} & (1 << gestaltCFMPresent)

Constants

gestaltAddressingModeAttr
gestalt32BitAddressing
gestalt32BitSysZone
gestalt32BitCapable

Address mode.

gestaltAliasMgrAttr
gestaltAliasMgrPresent
gestaltAliasMgrSupportsRemoteAppletalk

Alias manager.

gestaltAppleTalkVersion

AppleTalk.

gestaltAUXVersion

A/UX.

gestaltCloseViewAttr
gestaltCloseViewEnabled
gestaltCloseViewDisplayMgrFriendly

CloseView.

gestaltCFMAttr
gestaltCFMPresent

Code Fragment Manager.

gestaltColorMatchingAttr
gestaltHighLevelMatching
gestaltColorMatchingLibLoaded

ColorSync.

gestaltColorMatchingVersion
gestaltColorSync10
gestaltColorSync11
gestaltColorSync104
gestaltColorSync105

ColorSync version.

gestaltConnMgrAttr
gestaltConnMgrPresent
gestaltConnMgrCMSearchFix
gestaltConnMgrErrorString
gestaltConnMgrMultiAsyncIO

Communications toolbox connection manager.

gestaltComponentMgr

Component manager.

gestaltColorPickerVersion
gestaltColorPicker

Color picker.

gestaltNativeCPUtype
gestaltCPU68000
gestaltCPU68010
gestaltCPU68020
gestaltCPU68030
gestaltCPU68040
gestaltCPU601
gestaltCPU603
gestaltCPU604

CPU type.

gestaltCRMAttr
gestaltCRMPresent
gestaltCRMPersistentFix
gestaltCRMToolRsrcCalls

Communications toolbox connection resource manager.

gestaltControlStripVersion

Control strip manager.

gestaltCTBVersion

Communications toolbox.

gestaltDBAccessMgrAttr
gestaltDBAccessMgrPresent

Database access manager.

gestaltDictionaryMgrAttr
gestaltDictionaryMgrPresent

Dictionary manager.

gestaltDITLExtAttr
gestaltDITLExtPresent

Dialog manager extensions.

gestaltDisplayMgrAttr
gestaltDisplayMgrPresent
gestaltDisplayMgrCanSwitchMirrored
gestaltDisplayMgrSetDepthNotifies

Display manager.

gestaltDisplayMgrVers

Display manager version.

gestaltDragMgrAttr
gestaltDragMgrPresent
gestaltDragMgrFloatingWind
gestaltPPCDragLibPresent

Drag manager.

gestaltEasyAccessAttr
gestaltEasyAccessOff
gestaltEasyAccessOn
gestaltEasyAccessSticky
gestaltEasyAccessLocked

Easy access.

gestaltEditionMgrAttr
gestaltEditionMgrPresent
gestaltEditionMgrTranslationAware

Edition manager.

gestaltAppleEventsAttr
gestaltAppleEventsPresent
gestaltScriptingSupport
gestaltOSLInSystem

AppleEvent manager.

gestaltFinderAttr
gestaltFinderDropEvent
gestaltFinderMagicPlacement
gestaltFinderCallsAEProcess
gestaltOSLCompliantFinder
gestaltFinderSupports4GBVolumes
gestaltFinderHasClippings

Finder attributes.

gestaltFindFolderAttr
gestaltFindFolderPresent

Folder manager.

gestaltFontMgrAttr
gestaltOutlineFonts

Font manager.

gestaltFPUType
gestaltNoFPU
gestalt68881
gestalt68882
gestalt68040FPU

680X0 FPU.

gestaltFSAttr
gestaltFullExtFSDispatching
gestaltHasFSSpecCalls
gestaltHasFileSystemManager
gestaltFSMDoesDynamicLoad
gestaltFSSupports4GBVols
gestaltFSSupports2TBVols
gestaltHasExtendedDiskInit

File system attributes.

gestaltFSMVersion

File system manager.

gestaltFXfrMgrAttr
gestaltFXfrMgrPresent
gestaltFXfrMgrMultiFile
gestaltFXfrMgrErrorString

File transfer manager.

gestaltGraphicsAttr
gestaltGraphicsIsDebugging
gestaltGraphicsIsLoaded
gestaltGraphicsIsPowerPC

QuickDraw GX attributes.

gestaltGraphicsVersion
gestaltCurrentGraphicsVersion

QuickDraw GX version.

gestaltHardwareAttr
gestaltHasVIA1
gestaltHasVIA2
gestaltHasASC
gestaltHasSCC
gestaltHasSCSI
gestaltHasSoftPowerOff
gestaltHasSCSI961
gestaltHasSCSI962
gestaltHasUniversalROM
gestaltHasEnhancedLtalk

Hardware attributes.

gestaltHelpMgrAttr
gestaltHelpMgrPresent
gestaltHelpMgrExtensions

Help manager.

gestaltCompressionMgr

QuickTime image compression manager.

gestaltIconUtilitiesAttr
gestaltIconUtilitiesPresent

Icon utilities.

gestaltKeyboardType
gestaltMacKbd
gestaltMacAndPad
gestaltMacPlusKbd
gestaltExtADBKbd
gestaltStdADBKbd
gestaltPrtblADBKbd
gestaltPrtblISOKbd
gestaltStdISOADBKbd
gestaltExtISOADBKbd
gestaltADBKbdII
gestaltADBISOKbdII
gestaltPwrBookADBKbd
gestaltPwrBookISOADBKbd
gestaltAppleAdjustKeypad
gestaltAppleAdjustADBKbd
gestaltAppleAdjustISOKbd
gestaltJapanAdjustADBKbd
gestaltPwrBkExtISOKbd
gestaltPwrBkExtJISKbd
gestaltPwrBkExtADBKbd

Keyboard types.

gestaltLowMemorySize

Size of low memory area.

gestaltLogicalRAMSize

Locical RAM size.

gestaltMachineType
gestaltClassic
gestaltMacXL
gestaltMac512KE
gestaltMacPlus
gestaltMacSE
gestaltMacII
gestaltMacIIx
gestaltMacIIcx
gestaltMacSE030
gestaltPortable
gestaltMacIIci
gestaltMacIIfx
gestaltMacClassic
gestaltMacIIsi
gestaltMacLC
gestaltQuadra900
gestaltPowerBook170
gestaltQuadra700
gestaltClassicII
gestaltPowerBook100
gestaltPowerBook140
gestaltQuadra950
gestaltMacLCIII
gestaltPerforma450
gestaltPowerBookDuo210
gestaltMacCentris650
gestaltPowerBookDuo230
gestaltPowerBook180
gestaltPowerBook160
gestaltMacQuadra800
gestaltMacQuadra650
gestaltMacLCII
gestaltPowerBookDuo250
gestaltAWS9150_80
gestaltPowerMac8100_110
gestaltAWS8150_110
gestaltMacIIvi
gestaltMacIIvm
gestaltPerforma600
gestaltPowerMac7100_80
gestaltMacIIvx
gestaltMacColorClassic
gestaltPerforma250
gestaltPowerBook165c
gestaltMacCentris610
gestaltMacQuadra610
gestaltPowerBook145
gestaltPowerMac8100_100
gestaltMacLC520
gestaltAWS9150_120
gestaltMacCentris660AV
gestaltPerforma46x
gestaltPowerMac8100_80
gestaltAWS8150_80
gestaltPowerBook180c
gestaltPowerMac6100_60
gestaltAWS6150_60
gestaltPowerBookDuo270c
gestaltMacQuadra840AV
gestaltPerforma550
gestaltPowerBook165
gestaltMacTV
gestaltMacLC475
gestaltPerforma47x
gestaltMacLC575
gestaltMacQuadra605
gestaltQuadra630
gestaltPowerMac6100_66
gestaltAWS6150_66
gestaltPowerBookDuo280
gestaltPowerBookDuo280c
gestaltPowerMac7100_66
gestaltPowerBook150

Macintosh system type.

kMachineNameStrID

Resource ID of 'STR ' resource containing machine type.

gestaltMachineIcon

Machine icon.

gestaltMiscAttr
gestaltScrollingThrottle
gestaltSquareMenuBar

Miscellaneous attributes.

gestaltMixedModeVersion
gestaltMixedModeAttr
gestaltPowerPCAware

Mixed mode manager.

gestaltMMUType
gestaltNoMMU
gestaltAMU
gestalt68851
gestalt68030MMU
gestalt68040MMU
gestaltEMMU1

680X0 MMU types.

gestaltStdNBPAttr
gestaltStdNBPPresent

Standard NBP dialog.

gestaltNotificationMgrAttr
gestaltNotificationPresent

Notification manager.

gestaltNameRegistryVersion

Name registry.

gestaltNuBusSlotCount

Number of NuBus solts.

gestaltOpenFirmwareInfo

Open firmware.

gestaltOSAttr
gestaltSysZoneGrowable
gestaltLaunchCanReturn
gestaltLaunchFullFileSpec
gestaltLaunchControl
gestaltTempMemSupport
gestaltRealTempMemory
gestaltTempMemTracked
gestaltIPCSupport
gestaltSysDebuggerSupport

OS attributes.

gestaltOSTable

OS Trap table.

gestaltPCXAttr
gestaltPCXHas8and16BitFAT
gestaltPCXHasProDOS

PC Exchange.

gestaltLogicalPageSize

Logical memory page size.

gestaltPopupAttr
gestaltPopupPresent

Popup menu controls.

gestaltPowerMgrAttr
gestaltPMgrExists
gestaltPMgrCPUIdle
gestaltPMgrSCC
gestaltPMgrSound
gestaltPMgrDispatchExists

Power manager.

gestaltPPCToolboxAttr
gestaltPPCToolboxPresent
gestaltPPCSupportsRealTime
gestaltPPCSupportsIncoming
gestaltPPCSupportsOutGoing

Process-to-Process communications toolbox.

gestaltProcessorType
gestalt68000
gestalt68010
gestalt68020
gestalt68030
gestalt68040

Processor type.

gestaltParityAttr
gestaltHasParityCapability
gestaltParityEnabled

Memory parity checking.

gestaltQuickdrawVersion
gestaltOriginalQD
gestalt8BitQD
gestalt32BitQD
gestalt32BitQD11
gestalt32BitQD12
gestalt32BitQD13

QuickDraw attributes.

gestaltQuickdrawFeatures
gestaltHasColor
gestaltHasDeepGWorlds
gestaltHasDirectPixMaps
gestaltHasGrayishTextOr
gestaltSupportsMirroring

QuickDraw features.

gestaltQuickTimeVersion
gestaltQuickTime

QuickTime.

gestaltQuickTimeFeatures
gestaltPPCQuickTimeLibPresent

QuickTime features.

gestaltPhysicalRAMSize

Size of physical RAM.

gestaltRBVAddr

RBV, whatever that is.

gestaltROMSize

Size of built in ROM.

gestaltROMVersion

ROM version.

gestaltResourceMgrAttr
gestaltPartialRsrcs

Resource manager.

gestaltRealtimeMgrAttr
gestaltRealtimeMgrPresent

Realtime manager.

gestaltSCCReadAddr

Serial controller read address.

gestaltSCCWriteAddr

Serial controller write address.

gestaltScrapMgrAttr
gestaltScrapMgrTranslationAware

Scrap manager.

gestaltScriptMgrVersion

Script manager.

gestaltScriptCount

Number of installed script systems.

gestaltSCSI
gestaltAsyncSCSI
gestaltAsyncSCSIINROM
gestaltSCSISlotBoot

SCSI manager.

gestaltControlStripAttr
gestaltControlStripExists
gestaltControlStripVersionFixed
gestaltControlStripUserFont
gestaltControlStripUserHotKey

Control strip attributes.

gestaltSerialAttr
gestaltHasGPIaToDCDa
gestaltHasGPIaToRTxCa
gestaltHasGPIbToDCDb

Serial atrributes.

gestaltNuBusConnectors

Number of NuBus connectors.

gestaltSlotAttr
gestaltSlotMgrExists
gestaltNuBusPresent
gestaltSESlotPresent
gestaltSE30SlotPresent
gestaltPortableSlotPresent

Slot attributes.

gestaltFirstSlotNumber

Number of first slot.

gestaltSoundAttr
gestaltStereoCapability
gestaltStereoMixing
gestaltSoundIOMgrPresent
gestaltBuiltInSoundInput
gestaltHasSoundInputDevice
gestaltPlayAndRecord
gestalt16BitSoundIO
gestaltStereoInput
gestaltLineLevelInput
gestaltSndPlayDoubleBuffer
gestaltMultiChannels
gestalt16BitAudioSupport

Sound attributes.

gestaltStandardFileAttr
gestaltStandardFile58
gestaltStandardFileTranslationAware
gestaltStandardFileHasColorIcons
gestaltStandardFileUseGenericIcons
gestaltStandardFileHasDynamicVolumeAllocation

Standard file manager attributes.

gestaltSysArchitecture
gestalt68k
gestaltPowerPC

System architecture.

gestaltSystemVersion

System version.

gestaltTSMgrVersion
gestaltTSMgr2

Text system manager.

gestaltTSMgrAttr
gestaltTSMDisplayMgrAwareBit
gestaltTSMdoesTSMTEBit

Text system manager attributes.

gestaltTSMTEVersion
gestaltTSMTE1
gestaltTSMTE2

Text system manager for TextEdit.

gestaltTSMTEAttr
gestaltTSMTEPresent
gestaltTSMTE

Text system manager for TextEdit attributes.

gestaltTextEditVersion
gestaltTE1
gestaltTE2
gestaltTE3
gestaltTE4
gestaltTE5
gestaltTE6

TextEdit manager.

gestaltTEAttr
gestaltTEHasGetHiliteRgn
gestaltTESupportsInlineInput
gestaltTESupportsTextObjects

TextEdit attributes.

gestaltTeleMgrAttr
gestaltTeleMgrPresent
gestaltTeleMgrPowerPCSupport
gestaltTeleMgrSoundStreams
gestaltTeleMgrAutoAnswer
gestaltTeleMgrIndHandset
gestaltTeleMgrSilenceDetect
gestaltTeleMgrNewTELNewSupport

Telephone attributes.

gestaltTermMgrAttr
gestaltTermMgrPresent
gestaltTermMgrErrorString

Communications toolbox terminal manager.

gestaltTimeMgrVersion
gestaltStandardTimeMgr
gestaltRevisedTimeMgr
gestaltExtendedTimeMgr

Time manager.

gestaltSpeechAttr
gestaltSpeechMgrPresent
gestaltSpeechHasPPCGlue

Speech synthesis manager.

gestaltToolboxTable

Toolbox dispatch table.

gestaltThreadMgrAttr
gestaltThreadMgrPresent
gestaltSpecificMatchSupport
gestaltThreadsLibraryPresent

Thread manager.

gestaltTVAttr
gestaltHasTVTuner
gestaltHasSoundFader
gestaltHasHWClosedCaptioning
gestaltHasIRRemote
gestaltHasVidDecoderScaler
gestaltHasStereoDecoder

TV interface.

gestaltVersion
gestaltValueImplementedVers

Gestalt version.

gestaltVIA1Addr
gestaltVIA2Addr

VIA addresses.

gestaltVMAttr
gestaltVMPresent

Virtual memory.

gestaltTranslationAttr
gestaltTranslationMgrExists
gestaltTranslationMgrHintOrder
gestaltTranslationPPCAvail
gestaltTranslationGetPathAPIAvail

Translation manager.

gestaltExtToolboxTable

Extended toolbox dispatch table.

AUTHOR

Written by Matthias Ulrich Neeracher <neeracher@mac.com>, documentation by Bob Dalgleish <bob.dalgleish@sasknet.sk.ca>. Currently maintained by Chris Nandor <pudge@pobox.com>.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 2274:

Unknown directive: =include