2019-06-29 22:17:03 +08:00

267 lines
11 KiB
Plaintext

; Version: 2.97
; Created: Friday, October 20, 1989 at 9:21:08 PM
;
; File: GestaltEqu.a
;
; Assembler Interface to the Macintosh Libraries
; Copyright Apple Computer, Inc. 1988-1990
; All Rights Reserved
IF &TYPE('__IncludingGestaltEqu__') = 'UNDEFINED' THEN
__IncludingGestaltEqu__ SET 1
**************************
* Gestalt error codes
**************************
gestaltUnknownErr EQU -5550 ; gestalt doesn't know the answer
gestaltUndefSelectorErr EQU -5551 ; undefined code was passed to Gestalt
gestaltDupSelectorErr EQU -5552 ; tried to add an entry that already existed
gestaltLocationErr EQU -5553 ; gestalt function ptr wasn't in sysheap
**************************
* Environment Selectors
**************************
gestaltVersion EQU 'vers' ; gestalt version
gestaltAddressingModeAttr EQU 'addr' ; addressing mode attributes
gestalt32BitAddressing EQU 0 ; using 32-bit addressing mode
gestalt32BitSysZone EQU 1 ; 32-bit compatible system zone
gestalt32BitCapable EQU 2 ; machine is 32-bit mode capable
gestaltAliasMgrAttr EQU 'alis' ; Alias Mgr Attributes
gestaltAliasMgrPresent EQU 0 ; True if the Alias Mgr is present
gestaltAppleTalkVersion EQU 'atlk' ; AppleTalk version
gestaltAUXVersion EQU 'a/ux' ; a/ux version, if present
gestaltConnMgrAttr EQU 'conn' ; connection mgr attributes
gestaltConnMgrPresent EQU 0
gestaltConnMgrCMSearchFix EQU 1 ; do we have fix to CMAddSearch?
gestaltCRMAttr EQU 'crm ' ; comm resource mgr attributes
gestaltCRMPresent EQU 0
gestaltCTBVersion EQU 'ctbv' ; CommToolbox version if present
gestaltDBAccessMgrAttr EQU 'dbac' ; Database Access Mgr attributes
gestaltDBAccessMgrPresent EQU 0 ; True if the Database Access Mgr present
gestaltDITLExtAttr EQU 'ditl' ; AppenDITL, etc. calls from CTB
gestaltDITLExtPresent EQU 0 ; True if calls are present
gestaltEasyAccessAttr EQU 'easy' ; Easy Access attributes
gestaltEasyAccessOff EQU 0 ; if Easy Access present, but off (no icon)
gestaltEasyAccessOn EQU 1 ; if Easy Access "On"
gestaltEasyAccessSticky EQU 2 ; if Easy Access "Sticky"
gestaltEasyAccessLocked EQU 3 ; if Easy Access "Locked"
gestaltEditionMgrAttr EQU 'edtn' ; Edition Mgr attributes
gestaltEditionMgrPresent EQU 0 ; True if Edition Mgr present
gestaltAppleEventsAttr EQU 'evnt' ; Apple Events attributes
gestaltAppleEventsPresent EQU 0 ; True if Apple Events present
gestaltFindFolderAttr EQU 'fold' ; FindFolder attributes
gestaltFindFolderPresent EQU 0 ; True if FindFolder present
gestaltFontMgrAttr EQU 'font' ; Font Mgr attributes
gestaltOutlineFonts EQU 0 ; True if OutLine Fonts are supported
gestaltStandardFileAttr EQU 'stdf' ; Standard File attributes
gestaltStandardFile58 EQU 0 ; True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported
gestaltFPUType EQU 'fpu ' ; FPU type
gestaltNoFPU EQU 0 ; no FPU
gestalt68881 EQU 1 ; 68881 FPU
gestalt68882 EQU 2 ; 68882 FPU
gestalt68040FPU EQU 3 ; 68040 built-in FPU
gestaltFSAttr EQU 'fs ' ; file system attributes
gestaltFullExtFSDispatching EQU 0 ; has really cool new HFSDispatch dispatcher
gestaltHasFSSpecCalls EQU 1 ; has FSSpec calls
gestaltHasFileSystemManager EQU 2 ; has a file system manager
gestaltFXfrMgrAttr EQU 'fxfr' ; file transfer manager attributes
gestaltFXfrMgrPresent EQU 0
gestaltHardwareAttr EQU 'hdwr' ; hardware attributes
gestaltHasVIA1 EQU 0 ; VIA1 exists
gestaltHasVIA2 EQU 1 ; VIA2 exists
gestaltHasASC EQU 3 ; Apple Sound chip exists
gestaltHasSCC EQU 4 ; SCC exists
gestaltHasSCSI EQU 7 ; SCSI exists
gestaltHasSoftPowerOff EQU 19 ; Capable of software power off
gestaltHelpMgrAttr EQU 'help' ; Help Mgr Attributes
gestaltHelpMgrPresent EQU 0 ; true if help mgr is present
gestaltKeyboardType EQU 'kbd ' ; keyboard type
gestaltMacKbd EQU 1
gestaltMacAndPad EQU 2
gestaltMacPlusKbd EQU 3
gestaltExtADBKbd EQU 4
gestaltStdADBKbd EQU 5
gestaltPrtblADBKbd EQU 6
gestaltPrtblISOKbd EQU 7
gestaltStdISOADBKbd EQU 8
gestaltExtISOADBKbd EQU 9
gestaltADBKbdII EQU 10
gestaltADBISOKbdII EQU 11
gestaltLowMemorySize EQU 'lmem' ; size of low-memory area
gestaltLogicalRAMSize EQU 'lram' ; logical RAM size
gestaltMiscAttr EQU 'misc' ; miscellaneous information
gestaltScrollingThrottle EQU 0 ; true if scrolling throttle on
gestaltSquareMenuBar EQU 2 ; true if menu bar is square
gestaltMMUType EQU 'mmu ' ; MMU type
gestaltNoMMU EQU 0 ; no MMU
gestaltAMU EQU 1 ; address management unit
gestalt68851 EQU 2 ; 68851 PMMU
gestalt68030MMU EQU 3 ; 68030 built-in MMU
gestalt68040MMU EQU 4 ; 68040 built-in MMU
gestaltNotificationMgrAttr EQU 'nmgr' ; notification manager attributes
gestaltNotificationPresent EQU 0 ; notification manager exists
gestaltSerialAttr EQU 'ser ' ; serial attributes <26>
gestaltHasGPIaToDCDa EQU 0 ; GPIa connected to DCDa <26>
gestaltHasGPIaToRTxCa EQU 1 ; GPIa connected to RTxCa clock input <26>
gestaltHasGPIbToDCDb EQU 2 ; GPIb connected to DCDb <26>
gestaltNuBusConnectors EQU 'sltc' ; bitmap of slots with NuBus connectors <26>
gestaltOSAttr EQU 'os ' ; O/S attributes
gestaltSysZoneGrowable EQU 0 ; system heap is growable
gestaltLaunchCanReturn EQU 1 ; can return from launch
gestaltLaunchFullFileSpec EQU 2 ; can launch from full file spec
gestaltLaunchControl EQU 3 ; launch control support available
gestaltTempMemSupport EQU 4 ; temp memory support
gestaltRealTempMemory EQU 5 ; temp memory handles are real
gestaltTempMemTracked EQU 6 ; temporary memory handles are tracked
gestaltIPCSupport EQU 7 ; IPC support is present
gestaltSysDebuggerSupport EQU 8 ; system debugger support is present
gestaltOSTable EQU 'ostt' ; OS trap table base
gestaltToolboxTable EQU 'tbtt' ; Toolbox trap table base
gestaltExtToolboxTable EQU 'xttt' ; Extended Toolbox trap table base
gestaltLogicalPageSize EQU 'pgsz' ; logical page size
gestaltPowerMgrAttr EQU 'powr' ; power manager attributes
gestaltPMgrExists EQU 0
gestaltPMgrCPUIdle EQU 1
gestaltPMgrSCC EQU 2
gestaltPMgrSound EQU 3
gestaltPPCToolboxAttr EQU 'ppc ' ; PPC toolbox attributes
;
; PPC will return the combination of following bit fields.
; e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncomming + gestaltPPCSupportsOutGoing
;indicates PPC is cuurently is only supports real time delivery
;and both icoming and outgoing network sessions are allowed.
;By default local real time delivery is supported as long as PPCInit has been called.
;
gestaltPPCToolboxPresent EQU $0000 ; PPC Toolbox is present Requires PPCInit to be called
gestaltPPCSupportsRealTime EQU $1000 ; PPC Supports real-time deliveryy
gestaltPPCSupportsStoreAndForward EQU $2000 ; PPC Store and Forward delivery
gestaltPPCSupportsDontCare EQU $4000 ; PPC Supports Specification of Don't care
gestaltPPCSupportsIncomming EQU $0001 ; PPC will deny incomming network requests
gestaltPPCSupportsOutGoing EQU $0002 ; PPC will deny outgoing network requests
gestaltProcessorType EQU 'proc' ; processor type
gestalt68000 EQU 1
gestalt68010 EQU 2
gestalt68020 EQU 3
gestalt68030 EQU 4
gestalt68040 EQU 5
gestaltParityAttr EQU 'prty' ; parity attributes
gestaltHasParityCapability EQU 0 ; has ability to check parity
gestaltParityEnabled EQU 1 ; parity checking enabled
gestaltQuickdrawVersion EQU 'qd ' ; quickdraw version
gestaltOriginalQD EQU $000 ; original 1-bit QD <3.2>
gestalt8BitQD EQU $100 ; 8-bit color QD <3.2>
gestalt32BitQD EQU $200 ; 32-bit color QD <3.2>
gestalt32BitQD11 EQU $210 ; 32-bit color QDv1.1 <31>
gestalt32BitQD12 EQU $220 ; 32-bit color QDv1.2 <31>
gestalt32BitQD13 EQU $230 ; 32-bit color QDv1.3 <31>
gestaltQuickdrawFeatures EQU 'qdrw' ; quickdraw features <37>
gestaltHasColor EQU 0 ; color quickdraw present <37>
gestaltHasDeepGWorlds EQU 1 ; GWorlds can be deeper than 1-bit <37>
gestaltHasDirectPixMaps EQU 2 ; PixMaps can be direct (16 or 32 bit) <37>
gestaltHasGrayishTextOr EQU 3 ; supports text mode grayishTextOr <37>
gestaltPhysicalRAMSize EQU 'ram ' ; physical RAM size
gestaltPopupAttr EQU 'pop!' ; popup cdef attributes
gestaltPopupPresent EQU 0
gestaltResourceMgrAttr EQU 'rsrc' ; Resource Mgr attributes
gestaltPartialRsrcs EQU 0 ; True if partial resources exist
gestaltScriptMgrVersion EQU 'scri' ; Script Manager version number <08/05/89 pke>
gestaltScriptCount EQU 'scr#' ; number of active script systems <08/05/89 pke>
gestaltSoundAttr EQU 'snd ' ; sound attributes
gestaltStereoCapability EQU 0 ; sound hardware has stereo capability
gestaltStereoMixing EQU 1 ; stereo mixing on external speaker
gestaltSoundIOMgrPresent EQU 3 ; The Sound I/O Manager is present
gestaltBuiltInSoundInput EQU 4 ; built-in Sound Input hardware is present
gestaltHasSoundInputDevice EQU 5 ; Sound Input device available
gestaltStdNBPAttr EQU 'nlup' ; standard nbp attributes
gestaltStdNBPPresent EQU 0
gestaltTextEditVersion EQU 'te ' ; TextEdit version number
gestaltTE1 EQU 1 ; TextEdit in MacIIci ROM
gestaltTE2 EQU 2 ; TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) <8Aug89smb>
gestaltTE3 EQU 3 ; TextEdit with 6.0.4 Script Systems all but MacIIci
gestaltTE4 EQU 4 ; TextEdit in Big Bang
gestaltTE5 EQU 5 ; TextWidthHook available in TextEdit
gestaltTermMgrAttr EQU 'term' ; terminal mgr attributes
gestaltTermMgrPresent EQU 0
gestaltTimeMgrVersion EQU 'tmgr' ; time manager attributes
gestaltStandardTimeMgr EQU 1 ; standard time mgr is present
gestaltRevisedTimeMgr EQU 2 ; revised time mgr is present
gestaltExtendedTimeMgr EQU 3 ; extended time mgr is present
gestaltVMAttr EQU 'vm ' ; virtual memory attributes
gestaltVMPresent EQU 0 ; virtual memory is present
**************************
* Info-only Selectors
**************************
gestaltMachineType EQU 'mach' ; machine type
gestaltClassic EQU 1
gestaltMacXL EQU 2
gestaltMac512KE EQU 3
gestaltMacPlus EQU 4
gestaltMacSE EQU 5
gestaltMacII EQU 6
gestaltMacIIx EQU 7
gestaltMacIIcx EQU 8
gestaltMacSE30 EQU 9
gestaltPortable EQU 10
gestaltMacIIci EQU 11
gestaltMacIIfx EQU 13
gestaltMacClassic EQU 17 ; <29>
gestaltMacIIsi EQU 18 ; <29>
gestaltMacLC EQU 19 ; <29>
gestaltMachineIcon EQU 'micn' ; machine icon
gestaltROMSize EQU 'rom ' ; ROM size
gestaltROMVersion EQU 'romv' ; ROM version
gestaltSystemVersion EQU 'sysv' ; system version
ENDIF ; ...already included