mirror of
https://github.com/elliotnunn/BuildCubeE.git
synced 2024-09-27 04:55:00 +00:00
357 lines
13 KiB
C
357 lines
13 KiB
C
|
|
||
|
/************************************************************
|
||
|
|
||
|
Created: Wednesday, December 4, 1991 at 12:25 PM
|
||
|
GestaltEqu.h
|
||
|
C Interface to the Macintosh Libraries
|
||
|
|
||
|
|
||
|
Copyright Apple Computer, Inc. 1988-1991
|
||
|
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 */
|
||
|
gestaltAliasMgrSupportsRemoteAppletalk = 1, /* True if the Alias Mgr knows about Remote Appletalk */
|
||
|
|
||
|
#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? */
|
||
|
gestaltConnMgrErrorString = 2, /* has CMGetErrorString() */
|
||
|
gestaltConnMgrMultiAsyncIO = 3, /* CMNewIOPB, CMDisposeIOPB, CMPBRead, CMPBWrite, CMPBIOKill */
|
||
|
|
||
|
#define gestaltCRMAttr 'crm ' /* comm resource mgr attributes */
|
||
|
|
||
|
gestaltCRMPresent = 0,
|
||
|
gestaltCRMPersistentFix = 1, /* fix for persistent tools */
|
||
|
gestaltCRMToolRsrcCalls = 2, /* has CRMGetToolResource/ReleaseToolResource */
|
||
|
|
||
|
#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" */
|
||
|
};
|
||
|
enum {
|
||
|
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 */
|
||
|
|
||
|
#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,
|
||
|
gestaltFXfrMgrMultiFile = 1, /* supports FTSend and FTReceive */
|
||
|
gestaltFXfrMgrErrorString = 2, /* supports FTGetErrorString */
|
||
|
|
||
|
#define gestaltHardwareAttr 'hdwr' /* hardware attributes */
|
||
|
|
||
|
gestaltHasVIA1 = 0, /* VIA1 exists */
|
||
|
gestaltHasVIA2 = 1, /* VIA2 exists */
|
||
|
gestaltHasASC = 3, /* Apple Sound Chip exists */
|
||
|
gestaltHasSCC = 4 /* SCC exists */
|
||
|
};
|
||
|
enum {
|
||
|
gestaltHasSCSI = 7, /* SCSI exists */
|
||
|
gestaltHasSoftPowerOff = 19, /* Capable of software power off */
|
||
|
gestaltHasSCSI961 = 21, /* 53C96 SCSI controller on internal bus */
|
||
|
gestaltHasSCSI962 = 22, /* 53C96 SCSI controller on external bus */
|
||
|
gestaltHasUniversalROM = 24, /* Do we have a Universal ROM?*/
|
||
|
|
||
|
#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,
|
||
|
gestaltStdADBKbd = 5,
|
||
|
gestaltPrtblADBKbd = 6,
|
||
|
gestaltPrtblISOKbd = 7,
|
||
|
gestaltStdISOADBKbd = 8,
|
||
|
gestaltExtISOADBKbd = 9,
|
||
|
gestaltADBKbdII = 10,
|
||
|
gestaltADBISOKbdII = 11,
|
||
|
gestaltPwrBookADBKbd = 12,
|
||
|
gestaltPwrBookISOADBKbd = 13,
|
||
|
|
||
|
#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 */
|
||
|
};
|
||
|
enum {
|
||
|
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 */
|
||
|
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
|
||
|
};
|
||
|
enum {
|
||
|
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 */
|
||
|
|
||
|
#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 */
|
||
|
};
|
||
|
enum {
|
||
|
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 */
|
||
|
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,
|
||
|
gestaltTermMgrErrorString = 2
|
||
|
};
|
||
|
enum {
|
||
|
|
||
|
#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,
|
||
|
gestaltMacIIcx = 8,
|
||
|
gestaltMacSE030 = 9,
|
||
|
gestaltPortable = 10,
|
||
|
gestaltMacIIci = 11,
|
||
|
gestaltMacIIfx = 13,
|
||
|
gestaltMacClassic = 17,
|
||
|
gestaltMacIIsi = 18,
|
||
|
gestaltMacLC = 19
|
||
|
};
|
||
|
enum {
|
||
|
gestaltQuadra900 = 20,
|
||
|
gestaltPowerBook170 = 21,
|
||
|
gestaltQuadra700 = 22,
|
||
|
gestaltClassicII = 23,
|
||
|
gestaltPowerBook100 = 24,
|
||
|
gestaltPowerBook140 = 25
|
||
|
|
||
|
#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
|