mirror of
https://github.com/elliotnunn/supermario.git
synced 2025-02-27 23:29:06 +00:00
335 lines
13 KiB
C
335 lines
13 KiB
C
/************************************************************
|
|
|
|
Created: Sunday, January 6, 1991 at 9:27 PM
|
|
GestaltEqu.h
|
|
C Interface to the Macintosh Libraries
|
|
|
|
|
|
Copyright Apple Computer, Inc. 1988-1990
|
|
All rights reserved
|
|
|
|
************************************************************/
|
|
|
|
|
|
#ifndef __GESTALTEQU__
|
|
#define __GESTALTEQU__
|
|
|
|
#ifndef __TYPES__
|
|
#include <Types.h>
|
|
#endif
|
|
|
|
|
|
enum {
|
|
|
|
|
|
/************************
|
|
* Gestalt error codes
|
|
************************/
|
|
gestaltUnknownErr = -5550, /* value returned if Gestalt doesn't know the answer */
|
|
gestaltUndefSelectorErr = -5551, /* undefined selector was passed to Gestalt */
|
|
gestaltDupSelectorErr = -5552, /* tried to add an entry that already existed */
|
|
gestaltLocationErr = -5553, /* gestalt function ptr wasn't in sysheap */
|
|
|
|
/**************************
|
|
* Environment Selectors
|
|
**************************/
|
|
|
|
#define gestaltVersion 'vers' /* gestalt version */
|
|
#define gestaltAddressingModeAttr 'addr' /* addressing mode attributes */
|
|
|
|
gestalt32BitAddressing = 0, /* using 32-bit addressing mode */
|
|
gestalt32BitSysZone = 1, /* 32-bit compatible system zone */
|
|
gestalt32BitCapable = 2, /* Machine is 32-bit capable */
|
|
|
|
#define gestaltAliasMgrAttr 'alis' /* Alias Mgr Attributes */
|
|
|
|
gestaltAliasMgrPresent = 0, /* True if the Alias Mgr is present */
|
|
|
|
#define gestaltAppleTalkVersion 'atlk' /* appletalk version */
|
|
#define gestaltAUXVersion 'a/ux' /*a/ux version, if present */
|
|
#define gestaltConnMgrAttr 'conn' /* connection mgr attributes */
|
|
|
|
gestaltConnMgrPresent = 0,
|
|
gestaltConnMgrCMSearchFix = 1, /* Fix to CMAddSearch? */
|
|
|
|
#define gestaltCRMAttr 'crm ' /* comm resource mgr attributes */
|
|
|
|
gestaltCRMPresent = 0,
|
|
|
|
#define gestaltCTBVersion 'ctbv' /* CommToolbox version */
|
|
#define gestaltDBAccessMgrAttr 'dbac' /* Database Access Mgr attributes */
|
|
|
|
gestaltDBAccessMgrPresent = 0, /* True if Database Access Mgr present */
|
|
|
|
#define gestaltDITLExtAttr 'ditl' /* AppenDITL, etc. calls from CTB */
|
|
|
|
gestaltDITLExtPresent = 0, /* True if calls are present */
|
|
|
|
#define gestaltEasyAccessAttr 'easy' /* Easy Access attributes */
|
|
|
|
gestaltEasyAccessOff = 0, /* if Easy Access present, but off (no icon) */
|
|
gestaltEasyAccessOn = 1, /* if Easy Access "On" */
|
|
gestaltEasyAccessSticky = 2, /* if Easy Access "Sticky" */
|
|
gestaltEasyAccessLocked = 3, /* if Easy Access "Locked" */
|
|
|
|
#define gestaltEditionMgrAttr 'edtn' /* Edition Mgr attributes */
|
|
|
|
gestaltEditionMgrPresent = 0, /* True if Edition Mgr present */
|
|
|
|
#define gestaltAppleEventsAttr 'evnt' /* Apple Events attributes */
|
|
|
|
gestaltAppleEventsPresent = 0, /* True if Apple Events present */
|
|
|
|
#define gestaltFindFolderAttr 'fold' /* Folder Mgr attributes */
|
|
|
|
gestaltFindFolderPresent = 0 /* True if Folder Mgr present */
|
|
};
|
|
enum {
|
|
|
|
#define gestaltFontMgrAttr 'font' /* Font Mgr attributes */
|
|
|
|
gestaltOutlineFonts = 0, /* True if Outline Fonts supported */
|
|
|
|
#define gestaltFPUType 'fpu ' /* fpu type */
|
|
|
|
gestaltNoFPU = 0, /* no FPU */
|
|
gestalt68881 = 1, /* 68881 FPU */
|
|
gestalt68882 = 2, /* 68882 FPU */
|
|
gestalt68040FPU = 3, /* 68040 built-in FPU */
|
|
|
|
#define gestaltFSAttr 'fs ' /* file system attributes */
|
|
|
|
gestaltFullExtFSDispatching = 0, /* has really cool new HFSDispatch dispatcher */
|
|
gestaltHasFSSpecCalls = 1, /* has FSSpec calls */
|
|
gestaltHasFileSystemManager = 2, /* has a file system manager */
|
|
|
|
#define gestaltFXfrMgrAttr 'fxfr' /* file transfer manager attributes */
|
|
|
|
gestaltFXfrMgrPresent = 0,
|
|
|
|
#define gestaltHardwareAttr 'hdwr' /* hardware attributes */
|
|
|
|
gestaltHasVIA1 = 0, /* VIA1 exists */
|
|
gestaltHasVIA2 = 1, /* VIA2 exists */
|
|
gestaltHasASC = 3, /* Apple Sound Chip exists */
|
|
gestaltHasSCC = 4, /* SCC exists */
|
|
gestaltHasSCSI = 7, /* SCSI exists */
|
|
gestaltHasSoftPowerOff = 19, /* Capable of software power off */
|
|
|
|
#define gestaltHelpMgrAttr 'help' /* Help Mgr Attributes */
|
|
|
|
gestaltHelpMgrPresent = 0, /* true if help mgr is present */
|
|
|
|
#define gestaltKeyboardType 'kbd ' /* keyboard type */
|
|
|
|
gestaltMacKbd = 1,
|
|
gestaltMacAndPad = 2,
|
|
gestaltMacPlusKbd = 3,
|
|
gestaltExtADBKbd = 4
|
|
};
|
|
enum {
|
|
gestaltStdADBKbd = 5,
|
|
gestaltPrtblADBKbd = 6,
|
|
gestaltPrtblISOKbd = 7,
|
|
gestaltStdISOADBKbd = 8,
|
|
gestaltExtISOADBKbd = 9,
|
|
gestaltADBKbdII = 10,
|
|
gestaltADBISOKbdII = 11,
|
|
|
|
#define gestaltLowMemorySize 'lmem' /* size of low memory area */
|
|
#define gestaltLogicalRAMSize 'lram' /* logical ram size */
|
|
#define gestaltMiscAttr 'misc' /* miscellaneous attributes */
|
|
|
|
gestaltScrollingThrottle = 0, /* true if scrolling throttle on */
|
|
gestaltSquareMenuBar = 2, /* true if menu bar is square */
|
|
|
|
#define gestaltMMUType 'mmu ' /* mmu type */
|
|
|
|
gestaltNoMMU = 0, /* no MMU */
|
|
gestaltAMU = 1, /* address management unit */
|
|
gestalt68851 = 2, /* 68851 PMMU */
|
|
gestalt68030MMU = 3, /* 68030 built-in MMU */
|
|
gestalt68040MMU = 4, /* 68040 built-in MMU */
|
|
|
|
#define gestaltStdNBPAttr 'nlup' /* standard nbp attributes */
|
|
|
|
gestaltStdNBPPresent = 0,
|
|
|
|
#define gestaltNotificationMgrAttr 'nmgr' /* notification manager attributes */
|
|
|
|
gestaltNotificationPresent = 0, /* notification manager exists */
|
|
|
|
#define gestaltNuBusConnectors 'sltc' /* bitmap of NuBus connectors*/
|
|
#define gestaltOSAttr 'os ' /* o/s attributes */
|
|
|
|
gestaltSysZoneGrowable = 0, /* system heap is growable */
|
|
gestaltLaunchCanReturn = 1, /* can return from launch */
|
|
gestaltLaunchFullFileSpec = 2, /* can launch from full file spec */
|
|
gestaltLaunchControl = 3 /* launch control support available */
|
|
};
|
|
enum {
|
|
gestaltTempMemSupport = 4, /* temp memory support */
|
|
gestaltRealTempMemory = 5, /* temp memory handles are real */
|
|
gestaltTempMemTracked = 6, /* temporary memory handles are tracked */
|
|
gestaltIPCSupport = 7, /* IPC support is present */
|
|
gestaltSysDebuggerSupport = 8, /* system debugger support is present */
|
|
|
|
#define gestaltOSTable 'ostt' /* OS trap table base */
|
|
#define gestaltToolboxTable 'tbtt' /* OS trap table base */
|
|
#define gestaltExtToolboxTable 'xttt' /* Extended Toolbox trap table base */
|
|
#define gestaltLogicalPageSize 'pgsz' /* logical page size */
|
|
#define gestaltPowerMgrAttr 'powr' /* power manager attributes */
|
|
|
|
gestaltPMgrExists = 0,
|
|
gestaltPMgrCPUIdle = 1,
|
|
gestaltPMgrSCC = 2,
|
|
gestaltPMgrSound = 3,
|
|
|
|
#define gestaltPPCToolboxAttr 'ppc ' /* PPC toolbox attributes */
|
|
|
|
/*
|
|
* PPC will return the combination of following bit fields.
|
|
* e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncoming + gestaltPPCSupportsOutGoing
|
|
* indicates PPC is cuurently is only supports real time delivery
|
|
* and both incoming and outgoing network sessions are allowed.
|
|
* By default local real time delivery is supported as long as PPCInit has been called.*/
|
|
|
|
|
|
gestaltPPCToolboxPresent = 0x0000, /* PPC Toolbox is present Requires PPCInit to be called */
|
|
gestaltPPCSupportsRealTime = 0x1000, /* PPC Supports real-time delivery */
|
|
gestaltPPCSupportsIncoming = 0x0001, /* PPC will deny incoming network requests */
|
|
gestaltPPCSupportsOutGoing = 0x0002, /* PPC will deny outgoing network requests */
|
|
|
|
#define gestaltProcessorType 'proc' /* processor type */
|
|
|
|
gestalt68000 = 1,
|
|
gestalt68010 = 2,
|
|
gestalt68020 = 3,
|
|
gestalt68030 = 4,
|
|
gestalt68040 = 5,
|
|
|
|
#define gestaltParityAttr 'prty' /* parity attributes */
|
|
|
|
gestaltHasParityCapability = 0, /* has ability to check parity */
|
|
gestaltParityEnabled = 1 /* parity checking enabled */
|
|
};
|
|
enum {
|
|
|
|
#define gestaltQuickdrawVersion 'qd ' /* quickdraw version */
|
|
|
|
gestaltOriginalQD = 0x000, /* original 1-bit QD */
|
|
gestalt8BitQD = 0x100, /* 8-bit color QD */
|
|
gestalt32BitQD = 0x200, /* 32-bit color QD */
|
|
gestalt32BitQD11 = 0x210, /* 32-bit color QDv1.1 */
|
|
gestalt32BitQD12 = 0x220, /* 32-bit color QDv1.2 */
|
|
gestalt32BitQD13 = 0x230, /* 32-bit color QDv1.3 */
|
|
|
|
#define gestaltQuickdrawFeatures 'qdrw' /* quickdraw features */
|
|
|
|
gestaltHasColor = 0, /* color quickdraw present */
|
|
gestaltHasDeepGWorlds = 1, /* GWorlds can be deeper than 1-bit */
|
|
gestaltHasDirectPixMaps = 2, /* PixMaps can be direct (16 or 32 bit) */
|
|
gestaltHasGrayishTextOr = 3, /* supports text mode grayishTextOr */
|
|
|
|
#define gestaltPhysicalRAMSize 'ram ' /* physical RAM size */
|
|
#define gestaltPopupAttr 'pop!' /* popup cdef attributes */
|
|
|
|
gestaltPopupPresent = 0,
|
|
|
|
#define gestaltResourceMgrAttr 'rsrc' /* Resource Mgr attributes */
|
|
|
|
gestaltPartialRsrcs = 0, /* True if partial resources exist */
|
|
|
|
#define gestaltScriptMgrVersion 'scri' /* Script Manager version number <08/05/89 pke> */
|
|
#define gestaltScriptCount 'scr#' /* number of active script systems <08/05/89 pke> */
|
|
#define gestaltSerialAttr 'ser ' /* Serial attributes */
|
|
|
|
gestaltHasGPIaToDCDa = 0, /* GPIa connected to DCDa*/
|
|
gestaltHasGPIaToRTxCa = 1, /* GPIa connected to RTxCa clock input*/
|
|
gestaltHasGPIbToDCDb = 2, /* GPIb connected to DCDb */
|
|
|
|
#define gestaltSoundAttr 'snd ' /* sound attributes */
|
|
|
|
gestaltStereoCapability = 0, /* sound hardware has stereo capability */
|
|
gestaltStereoMixing = 1, /* stereo mixing on external speaker */
|
|
gestaltSoundIOMgrPresent = 3, /* The Sound I/O Manager is present */
|
|
gestaltBuiltInSoundInput = 4 /* built-in Sound Input hardware is present */
|
|
};
|
|
enum {
|
|
gestaltHasSoundInputDevice = 5, /* Sound Input device available */
|
|
|
|
#define gestaltStandardFileAttr 'stdf' /* Standard File attributes */
|
|
|
|
gestaltStandardFile58 = 0, /* True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported */
|
|
|
|
#define gestaltTextEditVersion 'te ' /* TextEdit version number <08/05/89 pke> */
|
|
|
|
gestaltTE1 = 1, /* TextEdit in MacIIci ROM <8Aug89smb> */
|
|
gestaltTE2 = 2, /* TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) <8Aug89smb> */
|
|
gestaltTE3 = 3, /* TextEdit with 6.0.4 Script Systems all but MacIIci <8Aug89smb> */
|
|
gestaltTE4 = 4, /* TextEdit in System 7.0 */
|
|
gestaltTE5 = 5, /* TextWidthHook available in TextEdit */
|
|
|
|
#define gestaltTermMgrAttr 'term' /* terminal mgr attributes */
|
|
|
|
gestaltTermMgrPresent = 0,
|
|
|
|
#define gestaltTimeMgrVersion 'tmgr' /* time mgr version */
|
|
|
|
gestaltStandardTimeMgr = 1, /* standard time mgr is present */
|
|
gestaltRevisedTimeMgr = 2, /* revised time mgr is present */
|
|
gestaltExtendedTimeMgr = 3, /* extended time mgr is present */
|
|
|
|
#define gestaltVMAttr 'vm ' /* virtual memory attributes */
|
|
|
|
gestaltVMPresent = 0, /* true if virtual memory is present */
|
|
|
|
/*************************
|
|
* Info-only selectors
|
|
************************/
|
|
|
|
#define gestaltMachineType 'mach' /* machine type */
|
|
|
|
kMachineNameStrID = -16395,
|
|
gestaltClassic = 1,
|
|
gestaltMacXL = 2,
|
|
gestaltMac512KE = 3,
|
|
gestaltMacPlus = 4,
|
|
gestaltMacSE = 5,
|
|
gestaltMacII = 6,
|
|
gestaltMacIIx = 7
|
|
};
|
|
enum {
|
|
gestaltMacIIcx = 8,
|
|
gestaltMacSE030 = 9,
|
|
gestaltPortable = 10,
|
|
gestaltMacIIci = 11,
|
|
gestaltMacIIfx = 13,
|
|
gestaltMacClassic = 17,
|
|
gestaltMacIIsi = 18,
|
|
gestaltMacLC = 19
|
|
|
|
#define gestaltMachineIcon 'micn' /* machine icon */
|
|
#define gestaltROMSize 'rom ' /* rom size */
|
|
#define gestaltROMVersion 'romv' /* rom version */
|
|
#define gestaltSystemVersion 'sysv' /* system version*/
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#if SystemSevenOrLater
|
|
#pragma parameter __D0 Gestalt(__D0,__A1)
|
|
pascal OSErr Gestalt(OSType selector,long *response)
|
|
= {0xA1AD,0x2288};
|
|
#else
|
|
pascal OSErr Gestalt(OSType selector,long *response);
|
|
#endif
|
|
pascal OSErr NewGestalt(OSType selector,ProcPtr gestaltFunction);
|
|
pascal OSErr ReplaceGestalt(OSType selector,ProcPtr gestaltFunction,ProcPtr *oldGestaltFunction);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|