mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 14:16:50 +00:00
2048 lines
90 KiB
C
2048 lines
90 KiB
C
/*
|
|
File: Gestalt.h
|
|
|
|
Contains: Gestalt Interfaces.
|
|
|
|
Version: QuickTime 7.3
|
|
|
|
Copyright: (c) 2007 (c) 1988-2001 by Apple Computer, Inc. All rights reserved
|
|
|
|
Bugs?: For bug reports, consult the following page on
|
|
the World Wide Web:
|
|
|
|
http://developer.apple.com/bugreporter/
|
|
|
|
*/
|
|
#ifndef __GESTALT__
|
|
#define __GESTALT__
|
|
|
|
#ifndef __MACTYPES__
|
|
#include <MacTypes.h>
|
|
#endif
|
|
|
|
#ifndef __MIXEDMODE__
|
|
#include <MixedMode.h>
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if PRAGMA_ONCE
|
|
#pragma once
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if PRAGMA_IMPORT
|
|
#pragma import on
|
|
#endif
|
|
|
|
|
|
|
|
typedef CALLBACK_API( OSErr , SelectorFunctionProcPtr )(OSType selector, long *response);
|
|
typedef STACK_UPP_TYPE(SelectorFunctionProcPtr) SelectorFunctionUPP;
|
|
/*
|
|
* Gestalt()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
|
#pragma parameter __D0 Gestalt(__D0, __A1)
|
|
#endif
|
|
EXTERN_API( OSErr )
|
|
Gestalt(
|
|
OSType selector,
|
|
long * response) TWOWORDINLINE(0xA1AD, 0x2288);
|
|
|
|
|
|
|
|
/*
|
|
* ReplaceGestalt()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
|
#pragma parameter __D0 ReplaceGestalt(__D0, __A0, __A1)
|
|
#endif
|
|
EXTERN_API( OSErr )
|
|
ReplaceGestalt(
|
|
OSType selector,
|
|
SelectorFunctionUPP gestaltFunction,
|
|
SelectorFunctionUPP * oldGestaltFunction) FOURWORDINLINE(0x2F09, 0xA5AD, 0x225F, 0x2288);
|
|
|
|
|
|
/*
|
|
* NewGestalt()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
|
|
#pragma parameter __D0 NewGestalt(__D0, __A0)
|
|
#endif
|
|
EXTERN_API( OSErr )
|
|
NewGestalt(
|
|
OSType selector,
|
|
SelectorFunctionUPP gestaltFunction) ONEWORDINLINE(0xA3AD);
|
|
|
|
|
|
/* The GestaltValue functions are available in System 7.5 and later*/
|
|
|
|
/*
|
|
* NewGestaltValue()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: in InterfaceLib 7.5 and later
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSErr )
|
|
NewGestaltValue(
|
|
OSType selector,
|
|
long newValue) THREEWORDINLINE(0x303C, 0x0401, 0xABF1);
|
|
|
|
|
|
/*
|
|
* ReplaceGestaltValue()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: in InterfaceLib 7.5 and later
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSErr )
|
|
ReplaceGestaltValue(
|
|
OSType selector,
|
|
long replacementValue) THREEWORDINLINE(0x303C, 0x0402, 0xABF1);
|
|
|
|
|
|
/*
|
|
* SetGestaltValue()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: in InterfaceLib 7.5 and later
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSErr )
|
|
SetGestaltValue(
|
|
OSType selector,
|
|
long newValue) THREEWORDINLINE(0x303C, 0x0404, 0xABF1);
|
|
|
|
|
|
/*
|
|
* DeleteGestaltValue()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: in InterfaceLib 7.5 and later
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API( OSErr )
|
|
DeleteGestaltValue(OSType selector) THREEWORDINLINE(0x303C, 0x0203, 0xABF1);
|
|
|
|
|
|
|
|
/*
|
|
* NewSelectorFunctionUPP()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: available as macro/inline
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API_C( SelectorFunctionUPP )
|
|
NewSelectorFunctionUPP(SelectorFunctionProcPtr userRoutine);
|
|
#if !OPAQUE_UPP_TYPES
|
|
enum { uppSelectorFunctionProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
|
|
#ifdef __cplusplus
|
|
inline DEFINE_API_C(SelectorFunctionUPP) NewSelectorFunctionUPP(SelectorFunctionProcPtr userRoutine) { return (SelectorFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSelectorFunctionProcInfo, GetCurrentArchitecture()); }
|
|
#else
|
|
#define NewSelectorFunctionUPP(userRoutine) (SelectorFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSelectorFunctionProcInfo, GetCurrentArchitecture())
|
|
#endif
|
|
#endif
|
|
|
|
/*
|
|
* DisposeSelectorFunctionUPP()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: available as macro/inline
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API_C( void )
|
|
DisposeSelectorFunctionUPP(SelectorFunctionUPP userUPP);
|
|
#if !OPAQUE_UPP_TYPES
|
|
#ifdef __cplusplus
|
|
inline DEFINE_API_C(void) DisposeSelectorFunctionUPP(SelectorFunctionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
|
|
#else
|
|
#define DisposeSelectorFunctionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
|
|
#endif
|
|
#endif
|
|
|
|
/*
|
|
* InvokeSelectorFunctionUPP()
|
|
*
|
|
* Availability:
|
|
* Non-Carbon CFM: available as macro/inline
|
|
* CarbonLib: in CarbonLib 1.0 and later
|
|
* Mac OS X: in version 10.0 and later
|
|
*/
|
|
EXTERN_API_C( OSErr )
|
|
InvokeSelectorFunctionUPP(
|
|
OSType selector,
|
|
long * response,
|
|
SelectorFunctionUPP userUPP);
|
|
#if !OPAQUE_UPP_TYPES
|
|
#ifdef __cplusplus
|
|
inline DEFINE_API_C(OSErr) InvokeSelectorFunctionUPP(OSType selector, long * response, SelectorFunctionUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppSelectorFunctionProcInfo, selector, response); }
|
|
#else
|
|
#define InvokeSelectorFunctionUPP(selector, response, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppSelectorFunctionProcInfo, (selector), (response))
|
|
#endif
|
|
#endif
|
|
|
|
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
|
|
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
|
|
#define NewSelectorFunctionProc(userRoutine) NewSelectorFunctionUPP(userRoutine)
|
|
#define CallSelectorFunctionProc(userRoutine, selector, response) InvokeSelectorFunctionUPP(selector, response, userRoutine)
|
|
#endif /* CALL_NOT_IN_CARBON */
|
|
|
|
|
|
/* Environment Selectors */
|
|
enum {
|
|
gestaltAddressingModeAttr = FOUR_CHAR_CODE('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 */
|
|
};
|
|
|
|
enum {
|
|
gestaltAFPClient = FOUR_CHAR_CODE('afps'),
|
|
gestaltAFPClientVersionMask = 0x0000FFFF, /* low word of long is the */
|
|
/* client version 0x0001 -> 0x0007*/
|
|
gestaltAFPClient3_5 = 0x0001,
|
|
gestaltAFPClient3_6 = 0x0002,
|
|
gestaltAFPClient3_6_1 = 0x0003,
|
|
gestaltAFPClient3_6_2 = 0x0004,
|
|
gestaltAFPClient3_6_3 = 0x0005, /* including 3.6.4, 3.6.5*/
|
|
gestaltAFPClient3_7 = 0x0006, /* including 3.7.1*/
|
|
gestaltAFPClient3_7_2 = 0x0007, /* including 3.7.3, 3.7.4*/
|
|
gestaltAFPClient3_8 = 0x0008,
|
|
gestaltAFPClient3_8_1 = 0x0009, /* including 3.8.2 */
|
|
gestaltAFPClient3_8_3 = 0x000A,
|
|
gestaltAFPClient3_8_4 = 0x000B, /* including 3.8.5, 3.8.6 */
|
|
gestaltAFPClientAttributeMask = (long)0xFFFF0000, /* high word of long is a */
|
|
/* set of attribute bits*/
|
|
gestaltAFPClientCfgRsrc = 16, /* Client uses config resources*/
|
|
gestaltAFPClientSupportsIP = 29, /* Client supports AFP over TCP/IP*/
|
|
gestaltAFPClientVMUI = 30, /* Client can put up UI from the PBVolMount trap*/
|
|
gestaltAFPClientMultiReq = 31 /* Client supports multiple outstanding requests*/
|
|
};
|
|
|
|
|
|
enum {
|
|
gestaltAliasMgrAttr = FOUR_CHAR_CODE('alis'), /* Alias Mgr Attributes */
|
|
gestaltAliasMgrPresent = 0, /* True if the Alias Mgr is present */
|
|
gestaltAliasMgrSupportsRemoteAppletalk = 1, /* True if the Alias Mgr knows about Remote Appletalk */
|
|
gestaltAliasMgrSupportsAOCEKeychain = 2, /* True if the Alias Mgr knows about the AOCE Keychain */
|
|
gestaltAliasMgrResolveAliasFileWithMountOptions = 3, /* True if the Alias Mgr implements gestaltAliasMgrResolveAliasFileWithMountOptions() and IsAliasFile() */
|
|
gestaltAliasMgrFollowsAliasesWhenResolving = 4,
|
|
gestaltAliasMgrSupportsExtendedCalls = 5,
|
|
gestaltAliasMgrSupportsFSCalls = 6, /* true if Alias Mgr supports HFS+ Calls */
|
|
gestaltAliasMgrPrefersPath = 7 /* True if the Alias Mgr prioritizes the path over file id during resolution by default */
|
|
};
|
|
|
|
/* Gestalt selector and values for the Appearance Manager */
|
|
enum {
|
|
gestaltAppearanceAttr = FOUR_CHAR_CODE('appr'),
|
|
gestaltAppearanceExists = 0,
|
|
gestaltAppearanceCompatMode = 1
|
|
};
|
|
|
|
/* Gestalt selector for determining Appearance Manager version */
|
|
/* If this selector does not exist, but gestaltAppearanceAttr */
|
|
/* does, it indicates that the 1.0 version is installed. This */
|
|
/* gestalt returns a BCD number representing the version of the */
|
|
/* Appearance Manager that is currently running, e.g. 0x0101 for */
|
|
/* version 1.0.1. */
|
|
enum {
|
|
gestaltAppearanceVersion = FOUR_CHAR_CODE('apvr')
|
|
};
|
|
|
|
enum {
|
|
gestaltArbitorAttr = FOUR_CHAR_CODE('arb '),
|
|
gestaltSerialArbitrationExists = 0 /* this bit if the serial port arbitrator exists*/
|
|
};
|
|
|
|
enum {
|
|
gestaltAppleScriptVersion = FOUR_CHAR_CODE('ascv') /* AppleScript version*/
|
|
};
|
|
|
|
enum {
|
|
gestaltAppleScriptAttr = FOUR_CHAR_CODE('ascr'), /* AppleScript attributes*/
|
|
gestaltAppleScriptPresent = 0,
|
|
gestaltAppleScriptPowerPCSupport = 1
|
|
};
|
|
|
|
enum {
|
|
gestaltATAAttr = FOUR_CHAR_CODE('ata '), /* ATA is the driver to support IDE hard disks */
|
|
gestaltATAPresent = 0 /* if set, ATA Manager is present */
|
|
};
|
|
|
|
enum {
|
|
gestaltATalkVersion = FOUR_CHAR_CODE('atkv') /* Detailed AppleTalk version; see comment above for format */
|
|
};
|
|
|
|
enum {
|
|
gestaltAppleTalkVersion = FOUR_CHAR_CODE('atlk') /* appletalk version */
|
|
};
|
|
|
|
/*
|
|
FORMAT OF gestaltATalkVersion RESPONSE
|
|
--------------------------------------
|
|
The version is stored in the high three bytes of the response value. Let us number
|
|
the bytes in the response value from 0 to 3, where 0 is the least-significant byte.
|
|
|
|
Byte#: 3 2 1 0
|
|
Value: 0xMMNNRR00
|
|
|
|
Byte 3 (MM) contains the major revision number, byte 2 (NN) contains the minor
|
|
revision number, and byte 1 (RR) contains a constant that represents the release
|
|
stage. Byte 0 always contains 0x00. The constants for the release stages are:
|
|
|
|
development = 0x20
|
|
alpha = 0x40
|
|
beta = 0x60
|
|
final = 0x80
|
|
release = 0x80
|
|
|
|
For example, if you call Gestalt with the 'atkv' selector when AppleTalk version 57
|
|
is loaded, you receive the long integer response value 0x39008000.
|
|
*/
|
|
enum {
|
|
gestaltAUXVersion = FOUR_CHAR_CODE('a/ux') /* a/ux version, if present */
|
|
};
|
|
|
|
enum {
|
|
gestaltMacOSCompatibilityBoxAttr = FOUR_CHAR_CODE('bbox'), /* Classic presence and features */
|
|
gestaltMacOSCompatibilityBoxPresent = 0, /* True if running under the Classic */
|
|
gestaltMacOSCompatibilityBoxHasSerial = 1, /* True if Classic serial support is implemented. */
|
|
gestaltMacOSCompatibilityBoxless = 2 /* True if we're Boxless (screen shared with Carbon/Cocoa) */
|
|
};
|
|
|
|
enum {
|
|
gestaltBusClkSpeed = FOUR_CHAR_CODE('bclk') /* main I/O bus clock speed in hertz */
|
|
};
|
|
|
|
enum {
|
|
gestaltCloseViewAttr = FOUR_CHAR_CODE('BSDa'), /* CloseView attributes */
|
|
gestaltCloseViewEnabled = 0, /* Closeview enabled (dynamic bit - returns current state) */
|
|
gestaltCloseViewDisplayMgrFriendly = 1 /* Closeview compatible with Display Manager (FUTURE) */
|
|
};
|
|
|
|
enum {
|
|
gestaltCarbonVersion = FOUR_CHAR_CODE('cbon') /* version of Carbon API present in system */
|
|
};
|
|
|
|
enum {
|
|
gestaltCFMAttr = FOUR_CHAR_CODE('cfrg'), /* Selector for information about the Code Fragment Manager */
|
|
gestaltCFMPresent = 0, /* True if the Code Fragment Manager is present */
|
|
gestaltCFMPresentMask = 0x0001,
|
|
gestaltCFM99Present = 2, /* True if the CFM-99 features are present. */
|
|
gestaltCFM99PresentMask = 0x0004
|
|
};
|
|
|
|
enum {
|
|
gestaltCollectionMgrVersion = FOUR_CHAR_CODE('cltn') /* Collection Manager version */
|
|
};
|
|
|
|
enum {
|
|
gestaltColorMatchingAttr = FOUR_CHAR_CODE('cmta'), /* ColorSync attributes */
|
|
gestaltHighLevelMatching = 0,
|
|
gestaltColorMatchingLibLoaded = 1
|
|
};
|
|
|
|
enum {
|
|
gestaltColorMatchingVersion = FOUR_CHAR_CODE('cmtc'),
|
|
gestaltColorSync10 = 0x0100, /* 0x0100 & 0x0110 _Gestalt versions for 1.0-1.0.3 product */
|
|
gestaltColorSync11 = 0x0110, /* 0x0100 == low-level matching only */
|
|
gestaltColorSync104 = 0x0104, /* Real version, by popular demand */
|
|
gestaltColorSync105 = 0x0105,
|
|
gestaltColorSync20 = 0x0200, /* ColorSync 2.0 */
|
|
gestaltColorSync21 = 0x0210,
|
|
gestaltColorSync211 = 0x0211,
|
|
gestaltColorSync212 = 0x0212,
|
|
gestaltColorSync213 = 0x0213,
|
|
gestaltColorSync25 = 0x0250,
|
|
gestaltColorSync26 = 0x0260,
|
|
gestaltColorSync261 = 0x0261,
|
|
gestaltColorSync30 = 0x0300
|
|
};
|
|
|
|
enum {
|
|
gestaltControlMgrVersion = FOUR_CHAR_CODE('cmvr') /* NOTE: The first version we return is 3.0.1, on Mac OS X plus update 2*/
|
|
};
|
|
|
|
enum {
|
|
gestaltControlMgrAttr = FOUR_CHAR_CODE('cntl'), /* Control Mgr*/
|
|
gestaltControlMgrPresent = (1L << 0), /* NOTE: this is a bit mask, whereas all other Gestalt constants of*/
|
|
/* this type are bit index values. Universal Interfaces 3.2 slipped*/
|
|
/* out the door with this mistake.*/
|
|
gestaltControlMgrPresentBit = 0, /* bit number*/
|
|
gestaltControlMsgPresentMask = (1L << gestaltControlMgrPresentBit)
|
|
};
|
|
|
|
enum {
|
|
gestaltConnMgrAttr = FOUR_CHAR_CODE('conn'), /* connection mgr attributes */
|
|
gestaltConnMgrPresent = 0,
|
|
gestaltConnMgrCMSearchFix = 1, /* Fix to CMAddSearch? */
|
|
gestaltConnMgrErrorString = 2, /* has CMGetErrorString() */
|
|
gestaltConnMgrMultiAsyncIO = 3 /* CMNewIOPB, CMDisposeIOPB, CMPBRead, CMPBWrite, CMPBIOKill */
|
|
};
|
|
|
|
enum {
|
|
gestaltColorPickerVersion = FOUR_CHAR_CODE('cpkr'), /* returns version of ColorPicker */
|
|
gestaltColorPicker = FOUR_CHAR_CODE('cpkr') /* gestaltColorPicker is old name for gestaltColorPickerVersion */
|
|
};
|
|
|
|
enum {
|
|
gestaltComponentMgr = FOUR_CHAR_CODE('cpnt'), /* Component Mgr version */
|
|
gestaltComponentPlatform = FOUR_CHAR_CODE('copl') /* Component Platform number */
|
|
};
|
|
|
|
/*
|
|
The gestaltNativeCPUtype ('cput') selector can be used to determine the
|
|
native CPU type for all Macs running System 7.5 or later.
|
|
|
|
The 'cput' selector is not available when running System 7.0 (or earlier)
|
|
on most 68K machines. If 'cput' is not available, then the 'proc' selector
|
|
should be used to determine the processor type.
|
|
|
|
An application should always try the 'cput' selector first. This is because,
|
|
on PowerPC machines, the 'proc' selector will reflect the CPU type of the
|
|
emulator's "virtual processor" rather than the native CPU type.
|
|
|
|
The values specified below are accurate. Prior versions of the Gestalt
|
|
interface file contained values that were off by one.
|
|
|
|
The Quadra 840AV and the Quadra 660AV contain a bug in the ROM code that
|
|
causes the 'cput' selector to respond with the value 5. This behavior
|
|
occurs only when running System 7.1. System 7.5 fixes the bug by replacing
|
|
the faulty 'cput' selector function with the correct one.
|
|
|
|
The gestaltNativeCPUfamily ('cpuf') selector can be used to determine the
|
|
general family the native CPU is in. This can be helpful for determing how
|
|
blitters and things should be written. In general, it is smarter to use this
|
|
selector (when available) than gestaltNativeCPUtype since newer processors
|
|
in the same family can be handled without revising your code.
|
|
|
|
gestaltNativeCPUfamily uses the same results as gestaltNativeCPUtype, but
|
|
will only return certain CPU values.
|
|
*/
|
|
enum {
|
|
gestaltNativeCPUtype = FOUR_CHAR_CODE('cput'), /* Native CPU type */
|
|
gestaltNativeCPUfamily = FOUR_CHAR_CODE('cpuf'), /* Native CPU family */
|
|
gestaltCPU68000 = 0, /* Various 68k CPUs... */
|
|
gestaltCPU68010 = 1,
|
|
gestaltCPU68020 = 2,
|
|
gestaltCPU68030 = 3,
|
|
gestaltCPU68040 = 4,
|
|
gestaltCPU601 = 0x0101, /* IBM 601 */
|
|
gestaltCPU603 = 0x0103,
|
|
gestaltCPU604 = 0x0104,
|
|
gestaltCPU603e = 0x0106,
|
|
gestaltCPU603ev = 0x0107,
|
|
gestaltCPU750 = 0x0108, /* Also 740 - "G3" */
|
|
gestaltCPU604e = 0x0109,
|
|
gestaltCPU604ev = 0x010A, /* Mach 5, 250Mhz and up */
|
|
gestaltCPUG4 = 0x010C, /* Max */
|
|
gestaltCPUG47450 = 0x0110 /* Vger , Altivec */
|
|
};
|
|
|
|
#if TARGET_OS_WIN32
|
|
enum {
|
|
/* x86 CPUs all start with 'i' in the high nybble */
|
|
gestaltCPU486 = FOUR_CHAR_CODE('i486'),
|
|
gestaltCPUPentium = FOUR_CHAR_CODE('i586'),
|
|
gestaltCPUPentiumPro = FOUR_CHAR_CODE('i5pr'),
|
|
gestaltCPUPentiumII = FOUR_CHAR_CODE('i5ii'),
|
|
gestaltCPUPentiumIII = FOUR_CHAR_CODE('i5_3'),
|
|
gestaltCPUPentium4 = FOUR_CHAR_CODE('i5_4'),
|
|
gestaltCPUX86 = FOUR_CHAR_CODE('ixxx')
|
|
};
|
|
|
|
#endif /* TARGET_OS_WIN32 */
|
|
|
|
enum {
|
|
gestaltCRMAttr = FOUR_CHAR_CODE('crm '), /* comm resource mgr attributes */
|
|
gestaltCRMPresent = 0,
|
|
gestaltCRMPersistentFix = 1, /* fix for persistent tools */
|
|
gestaltCRMToolRsrcCalls = 2 /* has CRMGetToolResource/ReleaseToolResource */
|
|
};
|
|
|
|
enum {
|
|
gestaltControlStripVersion = FOUR_CHAR_CODE('csvr') /* Control Strip version (was 'sdvr') */
|
|
};
|
|
|
|
enum {
|
|
gestaltCTBVersion = FOUR_CHAR_CODE('ctbv') /* CommToolbox version */
|
|
};
|
|
|
|
enum {
|
|
gestaltDBAccessMgrAttr = FOUR_CHAR_CODE('dbac'), /* Database Access Mgr attributes */
|
|
gestaltDBAccessMgrPresent = 0 /* True if Database Access Mgr present */
|
|
};
|
|
|
|
enum {
|
|
gestaltSDPFindVersion = FOUR_CHAR_CODE('dfnd') /* OCE Standard Directory Panel*/
|
|
};
|
|
|
|
enum {
|
|
gestaltDictionaryMgrAttr = FOUR_CHAR_CODE('dict'), /* Dictionary Manager attributes */
|
|
gestaltDictionaryMgrPresent = 0 /* Dictionary Manager attributes */
|
|
};
|
|
|
|
enum {
|
|
gestaltDITLExtAttr = FOUR_CHAR_CODE('ditl'), /* AppenDITL, etc. calls from CTB */
|
|
gestaltDITLExtPresent = 0, /* True if calls are present */
|
|
gestaltDITLExtSupportsIctb = 1 /* True if AppendDITL, ShortenDITL support 'ictb's */
|
|
};
|
|
|
|
enum {
|
|
gestaltDialogMgrAttr = FOUR_CHAR_CODE('dlog'), /* Dialog Mgr*/
|
|
gestaltDialogMgrPresent = (1L << 0), /* NOTE: this is a bit mask, whereas all other Gestalt constants of*/
|
|
/* this type are bit index values. Universal Interfaces 3.2 slipped*/
|
|
/* out the door with this mistake.*/
|
|
gestaltDialogMgrPresentBit = 0, /* bit number*/
|
|
gestaltDialogMgrHasAquaAlertBit = 2, /* bit number*/
|
|
gestaltDialogMgrPresentMask = (1L << gestaltDialogMgrPresentBit),
|
|
gestaltDialogMgrHasAquaAlertMask = (1L << gestaltDialogMgrHasAquaAlertBit),
|
|
gestaltDialogMsgPresentMask = gestaltDialogMgrPresentMask /* compatibility mask*/
|
|
};
|
|
|
|
enum {
|
|
gestaltDesktopPicturesAttr = FOUR_CHAR_CODE('dkpx'), /* Desktop Pictures attributes */
|
|
gestaltDesktopPicturesInstalled = 0, /* True if control panel is installed */
|
|
gestaltDesktopPicturesDisplayed = 1 /* True if a picture is currently displayed */
|
|
};
|
|
|
|
enum {
|
|
gestaltDisplayMgrVers = FOUR_CHAR_CODE('dplv') /* Display Manager version */
|
|
};
|
|
|
|
enum {
|
|
gestaltDisplayMgrAttr = FOUR_CHAR_CODE('dply'), /* Display Manager attributes */
|
|
gestaltDisplayMgrPresent = 0, /* True if Display Mgr is present */
|
|
gestaltDisplayMgrCanSwitchMirrored = 2, /* True if Display Mgr can switch modes on mirrored displays */
|
|
gestaltDisplayMgrSetDepthNotifies = 3, /* True SetDepth generates displays mgr notification */
|
|
gestaltDisplayMgrCanConfirm = 4, /* True Display Manager supports DMConfirmConfiguration */
|
|
gestaltDisplayMgrColorSyncAware = 5, /* True if Display Manager supports profiles for displays */
|
|
gestaltDisplayMgrGeneratesProfiles = 6, /* True if Display Manager will automatically generate profiles for displays */
|
|
gestaltDisplayMgrSleepNotifies = 7 /* True if Display Mgr generates "displayWillSleep", "displayDidWake" notifications */
|
|
};
|
|
|
|
enum {
|
|
gestaltDragMgrAttr = FOUR_CHAR_CODE('drag'), /* Drag Manager attributes */
|
|
gestaltDragMgrPresent = 0, /* Drag Manager is present */
|
|
gestaltDragMgrFloatingWind = 1, /* Drag Manager supports floating windows */
|
|
gestaltPPCDragLibPresent = 2, /* Drag Manager PPC DragLib is present */
|
|
gestaltDragMgrHasImageSupport = 3, /* Drag Manager allows SetDragImage call */
|
|
gestaltCanStartDragInFloatWindow = 4, /* Drag Manager supports starting a drag in a floating window */
|
|
gestaltSetDragImageUpdates = 5 /* Drag Manager supports drag image updating via SetDragImage */
|
|
};
|
|
|
|
enum {
|
|
gestaltDrawSprocketVersion = FOUR_CHAR_CODE('dspv') /* Draw Sprocket version (as a NumVersion) */
|
|
};
|
|
|
|
enum {
|
|
gestaltDigitalSignatureVersion = FOUR_CHAR_CODE('dsig') /* returns Digital Signature Toolbox version in low-order word*/
|
|
};
|
|
|
|
/*
|
|
Desktop Printing Feature Gestalt
|
|
Use this gestalt to check if third-party printer driver support is available
|
|
*/
|
|
enum {
|
|
gestaltDTPFeatures = FOUR_CHAR_CODE('dtpf'),
|
|
kDTPThirdPartySupported = 0x00000004 /* mask for checking if third-party drivers are supported*/
|
|
};
|
|
|
|
|
|
/*
|
|
Desktop Printer Info Gestalt
|
|
Use this gestalt to get a hold of information for all of the active desktop printers
|
|
*/
|
|
enum {
|
|
gestaltDTPInfo = FOUR_CHAR_CODE('dtpx') /* returns GestaltDTPInfoHdle*/
|
|
};
|
|
|
|
enum {
|
|
gestaltEasyAccessAttr = FOUR_CHAR_CODE('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" */
|
|
};
|
|
|
|
enum {
|
|
gestaltEditionMgrAttr = FOUR_CHAR_CODE('edtn'), /* Edition Mgr attributes */
|
|
gestaltEditionMgrPresent = 0, /* True if Edition Mgr present */
|
|
gestaltEditionMgrTranslationAware = 1 /* True if edition manager is translation manager aware */
|
|
};
|
|
|
|
enum {
|
|
gestaltAppleEventsAttr = FOUR_CHAR_CODE('evnt'), /* Apple Events attributes */
|
|
gestaltAppleEventsPresent = 0, /* True if Apple Events present */
|
|
gestaltScriptingSupport = 1,
|
|
gestaltOSLInSystem = 2, /* OSL is in system so don't use the one linked in to app */
|
|
gestaltSupportsApplicationURL = 4 /* Supports the typeApplicationURL addressing mode */
|
|
};
|
|
|
|
enum {
|
|
gestaltExtensionTableVersion = FOUR_CHAR_CODE('etbl') /* ExtensionTable version */
|
|
};
|
|
|
|
|
|
enum {
|
|
gestaltFBCIndexingState = FOUR_CHAR_CODE('fbci'), /* Find By Content indexing state*/
|
|
gestaltFBCindexingSafe = 0, /* any search will result in synchronous wait*/
|
|
gestaltFBCindexingCritical = 1 /* any search will execute immediately*/
|
|
};
|
|
|
|
enum {
|
|
gestaltFBCVersion = FOUR_CHAR_CODE('fbcv'), /* Find By Content version*/
|
|
gestaltFBCCurrentVersion = 0x0011, /* First release for OS 8/9*/
|
|
gestaltOSXFBCCurrentVersion = 0x0100 /* First release for OS X*/
|
|
};
|
|
|
|
|
|
enum {
|
|
gestaltFileMappingAttr = FOUR_CHAR_CODE('flmp'), /* File mapping attributes*/
|
|
gestaltFileMappingPresent = 0, /* bit is set if file mapping APIs are present*/
|
|
gestaltFileMappingMultipleFilesFix = 1 /* bit is set if multiple files per volume can be mapped*/
|
|
};
|
|
|
|
enum {
|
|
gestaltFloppyAttr = FOUR_CHAR_CODE('flpy'), /* Floppy disk drive/driver attributes */
|
|
gestaltFloppyIsMFMOnly = 0, /* Floppy driver only supports MFM disk formats */
|
|
gestaltFloppyIsManualEject = 1, /* Floppy drive, driver, and file system are in manual-eject mode */
|
|
gestaltFloppyUsesDiskInPlace = 2 /* Floppy drive must have special DISK-IN-PLACE output; standard DISK-CHANGED not used */
|
|
};
|
|
|
|
enum {
|
|
gestaltFinderAttr = FOUR_CHAR_CODE('fndr'), /* Finder attributes */
|
|
gestaltFinderDropEvent = 0, /* Finder recognizes drop event */
|
|
gestaltFinderMagicPlacement = 1, /* Finder supports magic icon placement */
|
|
gestaltFinderCallsAEProcess = 2, /* Finder calls AEProcessAppleEvent */
|
|
gestaltOSLCompliantFinder = 3, /* Finder is scriptable and recordable */
|
|
gestaltFinderSupports4GBVolumes = 4, /* Finder correctly handles 4GB volumes */
|
|
gestaltFinderHasClippings = 6, /* Finder supports Drag Manager clipping files */
|
|
gestaltFinderFullDragManagerSupport = 7, /* Finder accepts 'hfs ' flavors properly */
|
|
gestaltFinderFloppyRootComments = 8, /* in MacOS 8 and later, will be set if Finder ever supports comments on Floppy icons */
|
|
gestaltFinderLargeAndNotSavedFlavorsOK = 9, /* in MacOS 8 and later, this bit is set if drags with >1024-byte flavors and flavorNotSaved flavors work reliably */
|
|
gestaltFinderUsesExtensibleFolderManager = 10, /* Finder uses Extensible Folder Manager (for example, for Magic Routing) */
|
|
gestaltFinderUnderstandsRedirectedDesktopFolder = 11 /* Finder deals with startup disk's desktop folder residing on another disk */
|
|
};
|
|
|
|
enum {
|
|
gestaltFindFolderAttr = FOUR_CHAR_CODE('fold'), /* Folder Mgr attributes */
|
|
gestaltFindFolderPresent = 0, /* True if Folder Mgr present */
|
|
gestaltFolderDescSupport = 1, /* True if Folder Mgr has FolderDesc calls */
|
|
gestaltFolderMgrFollowsAliasesWhenResolving = 2, /* True if Folder Mgr follows folder aliases */
|
|
gestaltFolderMgrSupportsExtendedCalls = 3, /* True if Folder Mgr supports the Extended calls */
|
|
gestaltFolderMgrSupportsDomains = 4, /* True if Folder Mgr supports domains for the first parameter to FindFolder */
|
|
gestaltFolderMgrSupportsFSCalls = 5 /* True if FOlder manager supports __FindFolderFSRef & __FindFolderExtendedFSRef */
|
|
};
|
|
|
|
enum {
|
|
gestaltFindFolderRedirectionAttr = FOUR_CHAR_CODE('fole')
|
|
};
|
|
|
|
|
|
enum {
|
|
gestaltFontMgrAttr = FOUR_CHAR_CODE('font'), /* Font Mgr attributes */
|
|
gestaltOutlineFonts = 0 /* True if Outline Fonts supported */
|
|
};
|
|
|
|
enum {
|
|
gestaltFPUType = FOUR_CHAR_CODE('fpu '), /* fpu type */
|
|
gestaltNoFPU = 0, /* no FPU */
|
|
gestalt68881 = 1, /* 68881 FPU */
|
|
gestalt68882 = 2, /* 68882 FPU */
|
|
gestalt68040FPU = 3 /* 68040 built-in FPU */
|
|
};
|
|
|
|
enum {
|
|
gestaltFSAttr = FOUR_CHAR_CODE('fs '), /* file system attributes */
|
|
gestaltFullExtFSDispatching = 0, /* has really cool new HFSDispatch dispatcher */
|
|
gestaltHasFSSpecCalls = 1, /* has FSSpec calls */
|
|
gestaltHasFileSystemManager = 2, /* has a file system manager */
|
|
gestaltFSMDoesDynamicLoad = 3, /* file system manager supports dynamic loading */
|
|
gestaltFSSupports4GBVols = 4, /* file system supports 4 gigabyte volumes */
|
|
gestaltFSSupports2TBVols = 5, /* file system supports 2 terabyte volumes */
|
|
gestaltHasExtendedDiskInit = 6, /* has extended Disk Initialization calls */
|
|
gestaltDTMgrSupportsFSM = 7, /* Desktop Manager support FSM-based foreign file systems */
|
|
gestaltFSNoMFSVols = 8, /* file system doesn't supports MFS volumes */
|
|
gestaltFSSupportsHFSPlusVols = 9, /* file system supports HFS Plus volumes */
|
|
gestaltFSIncompatibleDFA82 = 10 /* VCB and FCB structures changed; DFA 8.2 is incompatible */
|
|
};
|
|
|
|
enum {
|
|
gestaltHasHFSPlusAPIs = 12, /* file system supports HFS Plus APIs */
|
|
gestaltMustUseFCBAccessors = 13, /* FCBSPtr and FSFCBLen are invalid - must use FSM FCB accessor functions*/
|
|
gestaltFSUsesPOSIXPathsForConversion = 14, /* The path interchange routines operate on POSIX paths instead of HFS paths */
|
|
gestaltFSSupportsExclusiveLocks = 15, /* File system uses POSIX O_EXLOCK for opens */
|
|
gestaltFSSupportsHardLinkDetection = 16 /* File system returns if an item is a hard link */
|
|
};
|
|
|
|
enum {
|
|
gestaltAdminFeaturesFlagsAttr = FOUR_CHAR_CODE('fred'), /* a set of admin flags, mostly useful internally. */
|
|
gestaltFinderUsesSpecialOpenFoldersFile = 0 /* the Finder uses a special file to store the list of open folders */
|
|
};
|
|
|
|
enum {
|
|
gestaltFSMVersion = FOUR_CHAR_CODE('fsm ') /* returns version of HFS External File Systems Manager (FSM) */
|
|
};
|
|
|
|
enum {
|
|
gestaltFXfrMgrAttr = FOUR_CHAR_CODE('fxfr'), /* file transfer manager attributes */
|
|
gestaltFXfrMgrPresent = 0,
|
|
gestaltFXfrMgrMultiFile = 1, /* supports FTSend and FTReceive */
|
|
gestaltFXfrMgrErrorString = 2, /* supports FTGetErrorString */
|
|
gestaltFXfrMgrAsync = 3 /*supports FTSendAsync, FTReceiveAsync, FTCompletionAsync*/
|
|
};
|
|
|
|
enum {
|
|
gestaltGraphicsAttr = FOUR_CHAR_CODE('gfxa'), /* Quickdraw GX attributes selector */
|
|
gestaltGraphicsIsDebugging = 0x00000001,
|
|
gestaltGraphicsIsLoaded = 0x00000002,
|
|
gestaltGraphicsIsPowerPC = 0x00000004
|
|
};
|
|
|
|
enum {
|
|
gestaltGraphicsVersion = FOUR_CHAR_CODE('grfx'), /* Quickdraw GX version selector */
|
|
gestaltCurrentGraphicsVersion = 0x00010200 /* the version described in this set of headers */
|
|
};
|
|
|
|
enum {
|
|
gestaltHardwareAttr = FOUR_CHAR_CODE('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 */
|
|
gestaltHasSCSI961 = 21, /* 53C96 SCSI controller on internal bus */
|
|
gestaltHasSCSI962 = 22, /* 53C96 SCSI controller on external bus */
|
|
gestaltHasUniversalROM = 24, /* Do we have a Universal ROM? */
|
|
gestaltHasEnhancedLtalk = 30 /* Do we have Enhanced LocalTalk? */
|
|
};
|
|
|
|
enum {
|
|
gestaltHelpMgrAttr = FOUR_CHAR_CODE('help'), /* Help Mgr Attributes */
|
|
gestaltHelpMgrPresent = 0, /* true if help mgr is present */
|
|
gestaltHelpMgrExtensions = 1, /* true if help mgr extensions are installed */
|
|
gestaltAppleGuideIsDebug = 30,
|
|
gestaltAppleGuidePresent = 31 /* true if AppleGuide is installed */
|
|
};
|
|
|
|
enum {
|
|
gestaltHardwareVendorCode = FOUR_CHAR_CODE('hrad'), /* Returns hardware vendor information */
|
|
gestaltHardwareVendorApple = FOUR_CHAR_CODE('Appl') /* Hardware built by Apple */
|
|
};
|
|
|
|
enum {
|
|
gestaltCompressionMgr = FOUR_CHAR_CODE('icmp') /* returns version of the Image Compression Manager */
|
|
};
|
|
|
|
enum {
|
|
gestaltIconUtilitiesAttr = FOUR_CHAR_CODE('icon'), /* Icon Utilities attributes (Note: available in System 7.0, despite gestalt) */
|
|
gestaltIconUtilitiesPresent = 0, /* true if icon utilities are present */
|
|
gestaltIconUtilitiesHas48PixelIcons = 1, /* true if 48x48 icons are supported by IconUtilities */
|
|
gestaltIconUtilitiesHas32BitIcons = 2, /* true if 32-bit deep icons are supported */
|
|
gestaltIconUtilitiesHas8BitDeepMasks = 3, /* true if 8-bit deep masks are supported */
|
|
gestaltIconUtilitiesHasIconServices = 4 /* true if IconServices is present */
|
|
};
|
|
|
|
enum {
|
|
gestaltInternalDisplay = FOUR_CHAR_CODE('idsp') /* slot number of internal display location */
|
|
};
|
|
|
|
/*
|
|
To obtain information about the connected keyboard(s), one should
|
|
use the ADB Manager API. See Technical Note OV16 for details.
|
|
*/
|
|
enum {
|
|
gestaltKeyboardType = FOUR_CHAR_CODE('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,
|
|
gestaltAppleAdjustKeypad = 14,
|
|
gestaltAppleAdjustADBKbd = 15,
|
|
gestaltAppleAdjustISOKbd = 16,
|
|
gestaltJapanAdjustADBKbd = 17, /* Japan Adjustable Keyboard */
|
|
gestaltPwrBkExtISOKbd = 20, /* PowerBook Extended International Keyboard with function keys */
|
|
gestaltPwrBkExtJISKbd = 21, /* PowerBook Extended Japanese Keyboard with function keys */
|
|
gestaltPwrBkExtADBKbd = 24, /* PowerBook Extended Domestic Keyboard with function keys */
|
|
gestaltPS2Keyboard = 27, /* PS2 keyboard */
|
|
gestaltPwrBkSubDomKbd = 28, /* PowerBook Subnote Domestic Keyboard with function keys w/ inverted T */
|
|
gestaltPwrBkSubISOKbd = 29, /* PowerBook Subnote International Keyboard with function keys w/ inverted T */
|
|
gestaltPwrBkSubJISKbd = 30, /* PowerBook Subnote Japanese Keyboard with function keys w/ inverted T */
|
|
gestaltPwrBkEKDomKbd = 195, /* (0xC3) PowerBook Domestic Keyboard with Embedded Keypad, function keys & inverted T */
|
|
gestaltPwrBkEKISOKbd = 196, /* (0xC4) PowerBook International Keyboard with Embedded Keypad, function keys & inverted T */
|
|
gestaltPwrBkEKJISKbd = 197, /* (0xC5) PowerBook Japanese Keyboard with Embedded Keypad, function keys & inverted T */
|
|
gestaltUSBCosmoANSIKbd = 198, /* (0xC6) original USB Domestic (ANSI) Keyboard */
|
|
gestaltUSBCosmoISOKbd = 199, /* (0xC7) original USB International (ISO) Keyboard */
|
|
gestaltUSBCosmoJISKbd = 200, /* (0xC8) original USB Japanese (JIS) Keyboard */
|
|
gestaltPwrBk99JISKbd = 201, /* (0xC9) '99 PowerBook JIS Keyboard with Embedded Keypad, function keys & inverted T */
|
|
gestaltUSBAndyANSIKbd = 204, /* (0xCC) USB Pro Keyboard Domestic (ANSI) Keyboard */
|
|
gestaltUSBAndyISOKbd = 205, /* (0xCD) USB Pro Keyboard International (ISO) Keyboard */
|
|
gestaltUSBAndyJISKbd = 206 /* (0xCE) USB Pro Keyboard Japanese (JIS) Keyboard */
|
|
};
|
|
|
|
|
|
/*
|
|
This gestalt indicates the highest UDF version that the active UDF implementation supports.
|
|
The value should be assembled from a read version (upper word) and a write version (lower word)
|
|
*/
|
|
enum {
|
|
gestaltUDFSupport = FOUR_CHAR_CODE('kudf') /* Used for communication between UDF implementations*/
|
|
};
|
|
|
|
enum {
|
|
gestaltLowMemorySize = FOUR_CHAR_CODE('lmem') /* size of low memory area */
|
|
};
|
|
|
|
enum {
|
|
gestaltLogicalRAMSize = FOUR_CHAR_CODE('lram') /* logical ram size */
|
|
};
|
|
|
|
/*
|
|
MACHINE TYPE CONSTANTS NAMING CONVENTION
|
|
|
|
All future machine type constant names take the following form:
|
|
|
|
gestalt<lineName><modelNumber>
|
|
|
|
Line Names
|
|
|
|
The following table contains the lines currently produced by Apple and the
|
|
lineName substrings associated with them:
|
|
|
|
Line lineName
|
|
------------------------- ------------
|
|
Macintosh LC "MacLC"
|
|
Macintosh Performa "Performa"
|
|
Macintosh PowerBook "PowerBook"
|
|
Macintosh PowerBook Duo "PowerBookDuo"
|
|
Power Macintosh "PowerMac"
|
|
Apple Workgroup Server "AWS"
|
|
|
|
The following table contains lineNames for some discontinued lines:
|
|
|
|
Line lineName
|
|
------------------------- ------------
|
|
Macintosh Quadra "MacQuadra" (preferred)
|
|
"Quadra" (also used, but not preferred)
|
|
Macintosh Centris "MacCentris"
|
|
|
|
Model Numbers
|
|
|
|
The modelNumber is a string representing the specific model of the machine
|
|
within its particular line. For example, for the Power Macintosh 8100/80,
|
|
the modelNumber is "8100".
|
|
|
|
Some Performa & LC model numbers contain variations in the rightmost 1 or 2
|
|
digits to indicate different RAM and Hard Disk configurations. A single
|
|
machine type is assigned for all variations of a specific model number. In
|
|
this case, the modelNumber string consists of the constant leftmost part
|
|
of the model number with 0s for the variant digits. For example, the
|
|
Performa 6115 and Performa 6116 are both return the same machine type
|
|
constant: gestaltPerforma6100.
|
|
|
|
|
|
OLD NAMING CONVENTIONS
|
|
|
|
The "Underscore Speed" suffix
|
|
|
|
In the past, Apple differentiated between machines that had the same model
|
|
number but different speeds. For example, the Power Macintosh 8100/80 and
|
|
Power Macintosh 8100/100 return different machine type constants. This is
|
|
why some existing machine type constant names take the form:
|
|
|
|
gestalt<lineName><modelNumber>_<speed>
|
|
|
|
e.g.
|
|
|
|
gestaltPowerMac8100_110
|
|
gestaltPowerMac7100_80
|
|
gestaltPowerMac7100_66
|
|
|
|
It is no longer necessary to use the "underscore speed" suffix. Starting with
|
|
the Power Surge machines (Power Macintosh 7200, 7500, 8500 and 9500), speed is
|
|
no longer used to differentiate between machine types. This is why a Power
|
|
Macintosh 7200/75 and a Power Macintosh 7200/90 return the same machine type
|
|
constant: gestaltPowerMac7200.
|
|
|
|
The "Screen Type" suffix
|
|
|
|
All PowerBook models prior to the PowerBook 190, and all PowerBook Duo models
|
|
before the PowerBook Duo 2300 take the form:
|
|
|
|
gestalt<lineName><modelNumber><screenType>
|
|
|
|
Where <screenType> is "c" or the empty string.
|
|
|
|
e.g.
|
|
|
|
gestaltPowerBook100
|
|
gestaltPowerBookDuo280
|
|
gestaltPowerBookDuo280c
|
|
gestaltPowerBook180
|
|
gestaltPowerBook180c
|
|
|
|
Starting with the PowerBook 190 series and the PowerBook Duo 2300 series, machine
|
|
types are no longer differentiated based on screen type. This is why a PowerBook
|
|
5300cs/100 and a PowerBook 5300c/100 both return the same machine type constant:
|
|
gestaltPowerBook5300.
|
|
|
|
Macintosh LC 630 gestaltMacLC630
|
|
Macintosh Performa 6200 gestaltPerforma6200
|
|
Macintosh Quadra 700 gestaltQuadra700
|
|
Macintosh PowerBook 5300 gestaltPowerBook5300
|
|
Macintosh PowerBook Duo 2300 gestaltPowerBookDuo2300
|
|
Power Macintosh 8500 gestaltPowerMac8500
|
|
*/
|
|
|
|
enum {
|
|
gestaltMachineType = FOUR_CHAR_CODE('mach'), /* machine type */
|
|
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, /* Mac LC 475 & PPC Processor Upgrade Card*/
|
|
gestaltPowerMacPerforma47x = gestaltPowerMacLC475,
|
|
gestaltPowerMacLC575 = 105, /* Mac LC 575 & PPC Processor Upgrade Card */
|
|
gestaltPowerMacPerforma57x = gestaltPowerMacLC575,
|
|
gestaltPowerMacQuadra630 = 106, /* Quadra 630 & PPC Processor Upgrade Card*/
|
|
gestaltPowerMacLC630 = gestaltPowerMacQuadra630, /* Mac LC 630 & PPC Processor Upgrade Card*/
|
|
gestaltPowerMacPerforma63x = gestaltPowerMacQuadra630, /* Performa 63x & PPC Processor Upgrade Card*/
|
|
gestaltPowerMac7200 = 108,
|
|
gestaltPowerMac7300 = 109,
|
|
gestaltPowerMac7100_66 = 112,
|
|
gestaltPowerBook150 = 115,
|
|
gestaltPowerMacQuadra700 = 116, /* Quadra 700 & Power PC Upgrade Card*/
|
|
gestaltPowerMacQuadra900 = 117, /* Quadra 900 & Power PC Upgrade Card */
|
|
gestaltPowerMacQuadra950 = 118, /* Quadra 950 & Power PC Upgrade Card */
|
|
gestaltPowerMacCentris610 = 119, /* Centris 610 & Power PC Upgrade Card */
|
|
gestaltPowerMacCentris650 = 120, /* Centris 650 & Power PC Upgrade Card */
|
|
gestaltPowerMacQuadra610 = 121, /* Quadra 610 & Power PC Upgrade Card */
|
|
gestaltPowerMacQuadra650 = 122, /* Quadra 650 & Power PC Upgrade Card */
|
|
gestaltPowerMacQuadra800 = 123, /* Quadra 800 & Power PC Upgrade Card */
|
|
gestaltPowerBookDuo2300 = 124,
|
|
gestaltPowerBook500PPCUpgrade = 126,
|
|
gestaltPowerBook5300 = 128,
|
|
gestaltPowerBook1400 = 310,
|
|
gestaltPowerBook3400 = 306,
|
|
gestaltPowerBook2400 = 307,
|
|
gestaltPowerBookG3Series = 312,
|
|
gestaltPowerBookG3 = 313,
|
|
gestaltPowerBookG3Series2 = 314,
|
|
gestaltPowerMacNewWorld = 406, /* All NewWorld architecture Macs (iMac, blue G3, etc.)*/
|
|
gestaltPowerMacG3 = 510,
|
|
gestaltPowerMac5500 = 512,
|
|
gestalt20thAnniversary = gestaltPowerMac5500,
|
|
gestaltPowerMac6500 = 513,
|
|
gestaltPowerMac4400_160 = 514, /* slower machine has different machine ID*/
|
|
gestaltPowerMac4400 = 515,
|
|
gestaltMacOSCompatibility = 1206 /* Mac OS Compatibility on Mac OS X (Classic)*/
|
|
};
|
|
|
|
|
|
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 = FOUR_CHAR_CODE('malr') /* OCE StandardMail*/
|
|
};
|
|
|
|
enum {
|
|
gestaltMediaBay = FOUR_CHAR_CODE('mbeh'), /* media bay driver type */
|
|
gestaltMBLegacy = 0, /* media bay support in PCCard 2.0 */
|
|
gestaltMBSingleBay = 1, /* single bay media bay driver */
|
|
gestaltMBMultipleBays = 2 /* multi-bay media bay driver */
|
|
};
|
|
|
|
enum {
|
|
gestaltMessageMgrVersion = FOUR_CHAR_CODE('mess') /* GX Printing Message Manager Gestalt Selector */
|
|
};
|
|
|
|
|
|
/* Menu Manager Gestalt (Mac OS 8.5 and later)*/
|
|
enum {
|
|
gestaltMenuMgrAttr = FOUR_CHAR_CODE('menu'), /* If this Gestalt exists, the Mac OS 8.5 Menu Manager is installed */
|
|
gestaltMenuMgrPresent = (1L << 0), /* NOTE: this is a bit mask, whereas all other Gestalt constants of this nature */
|
|
/* are bit index values. 3.2 interfaces slipped out with this mistake unnoticed. */
|
|
/* Sincere apologies for any inconvenience.*/
|
|
gestaltMenuMgrPresentBit = 0, /* bit number */
|
|
gestaltMenuMgrAquaLayoutBit = 1, /* menus have the Aqua 1.0 layout*/
|
|
gestaltMenuMgrMultipleItemsWithCommandIDBit = 2, /* CountMenuItemsWithCommandID/GetIndMenuItemWithCommandID support multiple items with the same command ID*/
|
|
gestaltMenuMgrRetainsIconRefBit = 3, /* SetMenuItemIconHandle, when passed an IconRef, calls AcquireIconRef*/
|
|
gestaltMenuMgrSendsMenuBoundsToDefProcBit = 4, /* kMenuSizeMsg and kMenuPopUpMsg have menu bounding rect information*/
|
|
gestaltMenuMgrMoreThanFiveMenusDeepBit = 5, /* the Menu Manager supports hierarchical menus more than five deep*/
|
|
/* masks for the above bits*/
|
|
gestaltMenuMgrPresentMask = (1L << gestaltMenuMgrPresentBit),
|
|
gestaltMenuMgrAquaLayoutMask = (1L << gestaltMenuMgrAquaLayoutBit),
|
|
gestaltMenuMgrMultipleItemsWithCommandIDMask = (1L << gestaltMenuMgrMultipleItemsWithCommandIDBit),
|
|
gestaltMenuMgrRetainsIconRefMask = (1L << gestaltMenuMgrRetainsIconRefBit),
|
|
gestaltMenuMgrSendsMenuBoundsToDefProcMask = (1L << gestaltMenuMgrSendsMenuBoundsToDefProcBit),
|
|
gestaltMenuMgrMoreThanFiveMenusDeepMask = (1L << gestaltMenuMgrMoreThanFiveMenusDeepBit)
|
|
};
|
|
|
|
|
|
enum {
|
|
gestaltMultipleUsersState = FOUR_CHAR_CODE('mfdr') /* Gestalt selector returns MultiUserGestaltHandle (in Folders.h)*/
|
|
};
|
|
|
|
|
|
enum {
|
|
gestaltMachineIcon = FOUR_CHAR_CODE('micn') /* machine icon */
|
|
};
|
|
|
|
enum {
|
|
gestaltMiscAttr = FOUR_CHAR_CODE('misc'), /* miscellaneous attributes */
|
|
gestaltScrollingThrottle = 0, /* true if scrolling throttle on */
|
|
gestaltSquareMenuBar = 2 /* true if menu bar is square */
|
|
};
|
|
|
|
|
|
/*
|
|
The name gestaltMixedModeVersion for the 'mixd' selector is semantically incorrect.
|
|
The same selector has been renamed gestaltMixedModeAttr to properly reflect the
|
|
Inside Mac: PowerPC System Software documentation. The gestaltMixedModeVersion
|
|
symbol has been preserved only for backwards compatibility.
|
|
|
|
Developers are forewarned that gestaltMixedModeVersion has a limited lifespan and
|
|
will be removed in a future release of the Interfaces.
|
|
|
|
For the first version of Mixed Mode, both meanings of the 'mixd' selector are
|
|
functionally identical. They both return 0x00000001. In subsequent versions
|
|
of Mixed Mode, however, the 'mixd' selector will not respond with an increasing
|
|
version number, but rather, with 32 attribute bits with various meanings.
|
|
*/
|
|
enum {
|
|
gestaltMixedModeVersion = FOUR_CHAR_CODE('mixd') /* returns version of Mixed Mode */
|
|
};
|
|
|
|
enum {
|
|
gestaltMixedModeAttr = FOUR_CHAR_CODE('mixd'), /* returns Mixed Mode attributes */
|
|
gestaltMixedModePowerPC = 0, /* true if Mixed Mode supports PowerPC ABI calling conventions */
|
|
gestaltPowerPCAware = 0, /* old name for gestaltMixedModePowerPC */
|
|
gestaltMixedModeCFM68K = 1, /* true if Mixed Mode supports CFM-68K calling conventions */
|
|
gestaltMixedModeCFM68KHasTrap = 2, /* true if CFM-68K Mixed Mode implements _MixedModeDispatch (versions 1.0.1 and prior did not) */
|
|
gestaltMixedModeCFM68KHasState = 3 /* true if CFM-68K Mixed Mode exports Save/RestoreMixedModeState */
|
|
};
|
|
|
|
enum {
|
|
gestaltQuickTimeConferencing = FOUR_CHAR_CODE('mtlk') /* returns QuickTime Conferencing version */
|
|
};
|
|
|
|
enum {
|
|
gestaltMemoryMapAttr = FOUR_CHAR_CODE('mmap'), /* Memory map type */
|
|
gestaltMemoryMapSparse = 0 /* Sparse memory is on */
|
|
};
|
|
|
|
enum {
|
|
gestaltMMUType = FOUR_CHAR_CODE('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 */
|
|
gestaltEMMU1 = 5 /* Emulated MMU type 1 */
|
|
};
|
|
|
|
enum {
|
|
gestaltUserVisibleMachineName = FOUR_CHAR_CODE('mnam') /* Coerce response into a StringPtr to get a user visible machine name */
|
|
};
|
|
|
|
enum {
|
|
gestaltMPCallableAPIsAttr = FOUR_CHAR_CODE('mpsc'), /* Bitmap of toolbox/OS managers that can be called from MPLibrary MPTasks */
|
|
gestaltMPFileManager = 0, /* True if File Manager calls can be made from MPTasks */
|
|
gestaltMPDeviceManager = 1, /* True if synchronous Device Manager calls can be made from MPTasks */
|
|
gestaltMPTrapCalls = 2 /* True if most trap-based calls can be made from MPTasks */
|
|
};
|
|
|
|
enum {
|
|
gestaltStdNBPAttr = FOUR_CHAR_CODE('nlup'), /* standard nbp attributes */
|
|
gestaltStdNBPPresent = 0,
|
|
gestaltStdNBPSupportsAutoPosition = 1 /* StandardNBP takes (-1,-1) to mean alert position main screen */
|
|
};
|
|
|
|
enum {
|
|
gestaltNotificationMgrAttr = FOUR_CHAR_CODE('nmgr'), /* notification manager attributes */
|
|
gestaltNotificationPresent = 0 /* notification manager exists */
|
|
};
|
|
|
|
enum {
|
|
gestaltNameRegistryVersion = FOUR_CHAR_CODE('nreg') /* NameRegistryLib version number, for System 7.5.2+ usage */
|
|
};
|
|
|
|
enum {
|
|
gestaltNuBusSlotCount = FOUR_CHAR_CODE('nubs') /* count of logical NuBus slots present */
|
|
};
|
|
|
|
enum {
|
|
gestaltOCEToolboxVersion = FOUR_CHAR_CODE('ocet'), /* OCE Toolbox version */
|
|
gestaltOCETB = 0x0102, /* OCE Toolbox version 1.02 */
|
|
gestaltSFServer = 0x0100 /* S&F Server version 1.0 */
|
|
};
|
|
|
|
enum {
|
|
gestaltOCEToolboxAttr = FOUR_CHAR_CODE('oceu'), /* OCE Toolbox attributes */
|
|
gestaltOCETBPresent = 0x01, /* OCE toolbox is present, not running */
|
|
gestaltOCETBAvailable = 0x02, /* OCE toolbox is running and available */
|
|
gestaltOCESFServerAvailable = 0x04, /* S&F Server is running and available */
|
|
gestaltOCETBNativeGlueAvailable = 0x10 /* Native PowerPC Glue routines are availible */
|
|
};
|
|
|
|
enum {
|
|
gestaltOpenFirmwareInfo = FOUR_CHAR_CODE('opfw') /* Open Firmware info */
|
|
};
|
|
|
|
enum {
|
|
gestaltOSAttr = FOUR_CHAR_CODE('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 */
|
|
gestaltNativeProcessMgrBit = 19, /* the process manager itself is native */
|
|
gestaltAltivecRegistersSwappedCorrectlyBit = 20 /* Altivec registers are saved correctly on process switches */
|
|
};
|
|
|
|
enum {
|
|
gestaltOSTable = FOUR_CHAR_CODE('ostt') /* OS trap table base */
|
|
};
|
|
|
|
|
|
/*******************************************************************************
|
|
* Gestalt Selectors for Open Transport Network Setup
|
|
*
|
|
* Note: possible values for the version "stage" byte are:
|
|
* development = 0x20, alpha = 0x40, beta = 0x60, final & release = 0x80
|
|
********************************************************************************/
|
|
enum {
|
|
gestaltOpenTptNetworkSetup = FOUR_CHAR_CODE('otcf'),
|
|
gestaltOpenTptNetworkSetupLegacyImport = 0,
|
|
gestaltOpenTptNetworkSetupLegacyExport = 1,
|
|
gestaltOpenTptNetworkSetupSupportsMultihoming = 2
|
|
};
|
|
|
|
enum {
|
|
gestaltOpenTptNetworkSetupVersion = FOUR_CHAR_CODE('otcv')
|
|
};
|
|
|
|
/*******************************************************************************
|
|
* Gestalt Selectors for Open Transport-based Remote Access/PPP
|
|
*
|
|
* Note: possible values for the version "stage" byte are:
|
|
* development = 0x20, alpha = 0x40, beta = 0x60, final & release = 0x80
|
|
********************************************************************************/
|
|
enum {
|
|
gestaltOpenTptRemoteAccess = FOUR_CHAR_CODE('otra'),
|
|
gestaltOpenTptRemoteAccessPresent = 0,
|
|
gestaltOpenTptRemoteAccessLoaded = 1,
|
|
gestaltOpenTptRemoteAccessClientOnly = 2,
|
|
gestaltOpenTptRemoteAccessPServer = 3,
|
|
gestaltOpenTptRemoteAccessMPServer = 4,
|
|
gestaltOpenTptPPPPresent = 5,
|
|
gestaltOpenTptARAPPresent = 6
|
|
};
|
|
|
|
enum {
|
|
gestaltOpenTptRemoteAccessVersion = FOUR_CHAR_CODE('otrv')
|
|
};
|
|
|
|
|
|
/* ***** Open Transport Gestalt ******/
|
|
|
|
|
|
enum {
|
|
gestaltOpenTptVersions = FOUR_CHAR_CODE('otvr') /* Defined by OT 1.1 and higher, response is NumVersion.*/
|
|
};
|
|
|
|
enum {
|
|
gestaltOpenTpt = FOUR_CHAR_CODE('otan'), /* Defined by all versions, response is defined below.*/
|
|
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 = FOUR_CHAR_CODE('pccd'), /* PC Card attributes*/
|
|
gestaltCardServicesPresent = 0, /* PC Card 2.0 (68K) API is present*/
|
|
gestaltPCCardFamilyPresent = 1, /* PC Card 3.x (PowerPC) API is present*/
|
|
gestaltPCCardHasPowerControl = 2, /* PCCardSetPowerLevel is supported*/
|
|
gestaltPCCardSupportsCardBus = 3 /* CardBus is supported*/
|
|
};
|
|
|
|
enum {
|
|
gestaltProcClkSpeed = FOUR_CHAR_CODE('pclk') /* processor clock speed in hertz */
|
|
};
|
|
|
|
enum {
|
|
gestaltPCXAttr = FOUR_CHAR_CODE('pcxg'), /* PC Exchange attributes */
|
|
gestaltPCXHas8and16BitFAT = 0, /* PC Exchange supports both 8 and 16 bit FATs */
|
|
gestaltPCXHasProDOS = 1, /* PC Exchange supports ProDOS */
|
|
gestaltPCXNewUI = 2,
|
|
gestaltPCXUseICMapping = 3 /* PC Exchange uses InternetConfig for file mappings */
|
|
};
|
|
|
|
enum {
|
|
gestaltLogicalPageSize = FOUR_CHAR_CODE('pgsz') /* logical page size */
|
|
};
|
|
|
|
/* System 7.6 and later. If gestaltScreenCaptureMain is not implemented,
|
|
PictWhap proceeds with screen capture in the usual way.
|
|
|
|
The high word of gestaltScreenCaptureMain is reserved (use 0).
|
|
|
|
To disable screen capture to disk, put zero in the low word. To
|
|
specify a folder for captured pictures, put the vRefNum in the
|
|
low word of gestaltScreenCaptureMain, and put the directory ID in
|
|
gestaltScreenCaptureDir.
|
|
*/
|
|
enum {
|
|
gestaltScreenCaptureMain = FOUR_CHAR_CODE('pic1'), /* Zero, or vRefNum of disk to hold picture */
|
|
gestaltScreenCaptureDir = FOUR_CHAR_CODE('pic2') /* Directory ID of folder to hold picture */
|
|
};
|
|
|
|
enum {
|
|
gestaltGXPrintingMgrVersion = FOUR_CHAR_CODE('pmgr') /* QuickDraw GX Printing Manager Version*/
|
|
};
|
|
|
|
enum {
|
|
gestaltPopupAttr = FOUR_CHAR_CODE('pop!'), /* popup cdef attributes */
|
|
gestaltPopupPresent = 0
|
|
};
|
|
|
|
enum {
|
|
gestaltPowerMgrAttr = FOUR_CHAR_CODE('powr'), /* power manager attributes */
|
|
gestaltPMgrExists = 0,
|
|
gestaltPMgrCPUIdle = 1,
|
|
gestaltPMgrSCC = 2,
|
|
gestaltPMgrSound = 3,
|
|
gestaltPMgrDispatchExists = 4,
|
|
gestaltPMgrSupportsAVPowerStateAtSleepWake = 5
|
|
};
|
|
|
|
enum {
|
|
gestaltPowerMgrVers = FOUR_CHAR_CODE('pwrv') /* power manager version */
|
|
};
|
|
|
|
/*
|
|
* 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.*/
|
|
enum {
|
|
gestaltPPCToolboxAttr = FOUR_CHAR_CODE('ppc '), /* PPC toolbox attributes */
|
|
gestaltPPCToolboxPresent = 0x0000, /* PPC Toolbox is present Requires PPCInit to be called */
|
|
gestaltPPCSupportsRealTime = 0x1000, /* PPC Supports real-time delivery */
|
|
gestaltPPCSupportsIncoming = 0x0001, /* PPC will allow incoming network requests */
|
|
gestaltPPCSupportsOutGoing = 0x0002, /* PPC will allow outgoing network requests */
|
|
gestaltPPCSupportsTCP_IP = 0x0004, /* PPC supports TCP/IP transport */
|
|
gestaltPPCSupportsIncomingAppleTalk = 0x0010,
|
|
gestaltPPCSupportsIncomingTCP_IP = 0x0020,
|
|
gestaltPPCSupportsOutgoingAppleTalk = 0x0100,
|
|
gestaltPPCSupportsOutgoingTCP_IP = 0x0200
|
|
};
|
|
|
|
enum {
|
|
gestaltPowerPCProcessorFeatures = FOUR_CHAR_CODE('ppcf'), /* Optional PowerPC processor features */
|
|
gestaltPowerPCHasGraphicsInstructions = 0, /* has fres, frsqrte, and fsel instructions */
|
|
gestaltPowerPCHasSTFIWXInstruction = 1, /* has stfiwx instruction */
|
|
gestaltPowerPCHasSquareRootInstructions = 2, /* has fsqrt and fsqrts instructions */
|
|
gestaltPowerPCHasDCBAInstruction = 3, /* has dcba instruction */
|
|
gestaltPowerPCHasVectorInstructions = 4, /* has vector instructions */
|
|
gestaltPowerPCHasDataStreams = 5 /* has dst, dstt, dstst, dss, and dssall instructions */
|
|
};
|
|
|
|
enum {
|
|
gestaltProcessorType = FOUR_CHAR_CODE('proc'), /* processor type */
|
|
gestalt68000 = 1,
|
|
gestalt68010 = 2,
|
|
gestalt68020 = 3,
|
|
gestalt68030 = 4,
|
|
gestalt68040 = 5
|
|
};
|
|
|
|
enum {
|
|
gestaltSDPPromptVersion = FOUR_CHAR_CODE('prpv') /* OCE Standard Directory Panel*/
|
|
};
|
|
|
|
enum {
|
|
gestaltParityAttr = FOUR_CHAR_CODE('prty'), /* parity attributes */
|
|
gestaltHasParityCapability = 0, /* has ability to check parity */
|
|
gestaltParityEnabled = 1 /* parity checking enabled */
|
|
};
|
|
|
|
enum {
|
|
gestaltQD3DVersion = FOUR_CHAR_CODE('q3v ') /* Quickdraw 3D version in pack BCD*/
|
|
};
|
|
|
|
enum {
|
|
gestaltQD3DViewer = FOUR_CHAR_CODE('q3vc'), /* Quickdraw 3D viewer attributes*/
|
|
gestaltQD3DViewerPresent = 0 /* bit 0 set if QD3D Viewer is available*/
|
|
};
|
|
|
|
#if OLDROUTINENAMES
|
|
enum {
|
|
gestaltQD3DViewerNotPresent = (0 << gestaltQD3DViewerPresent),
|
|
gestaltQD3DViewerAvailable = (1 << gestaltQD3DViewerPresent)
|
|
};
|
|
|
|
#endif /* OLDROUTINENAMES */
|
|
|
|
enum {
|
|
gestaltQuickdrawVersion = FOUR_CHAR_CODE('qd '), /* quickdraw version */
|
|
gestaltOriginalQD = 0x0000, /* original 1-bit QD */
|
|
gestalt8BitQD = 0x0100, /* 8-bit color QD */
|
|
gestalt32BitQD = 0x0200, /* 32-bit color QD */
|
|
gestalt32BitQD11 = 0x0201, /* 32-bit color QDv1.1 */
|
|
gestalt32BitQD12 = 0x0220, /* 32-bit color QDv1.2 */
|
|
gestalt32BitQD13 = 0x0230, /* 32-bit color QDv1.3 */
|
|
gestaltAllegroQD = 0x0250, /* Allegro QD OS 8.5 */
|
|
gestaltMacOSXQD = 0x0300 /* 0x310, 0x320 etc. for 10.x.y */
|
|
};
|
|
|
|
enum {
|
|
gestaltQD3D = FOUR_CHAR_CODE('qd3d'), /* Quickdraw 3D attributes*/
|
|
gestaltQD3DPresent = 0 /* bit 0 set if QD3D available*/
|
|
};
|
|
|
|
#if OLDROUTINENAMES
|
|
enum {
|
|
gestaltQD3DNotPresent = (0 << gestaltQD3DPresent),
|
|
gestaltQD3DAvailable = (1 << gestaltQD3DPresent)
|
|
};
|
|
|
|
#endif /* OLDROUTINENAMES */
|
|
|
|
enum {
|
|
gestaltGXVersion = FOUR_CHAR_CODE('qdgx') /* Overall QuickDraw GX Version*/
|
|
};
|
|
|
|
enum {
|
|
gestaltQuickdrawFeatures = FOUR_CHAR_CODE('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 */
|
|
gestaltSupportsMirroring = 4, /* Supports video mirroring via the Display Manager. */
|
|
gestaltQDHasLongRowBytes = 5 /* Long rowBytes supported in GWorlds */
|
|
};
|
|
|
|
enum {
|
|
gestaltQDTextVersion = FOUR_CHAR_CODE('qdtx'), /* QuickdrawText version */
|
|
gestaltOriginalQDText = 0x0000, /* up to and including 8.1 */
|
|
gestaltAllegroQDText = 0x0100, /* starting with 8.5 */
|
|
gestaltMacOSXQDText = 0x0200 /* we are in Mac OS X */
|
|
};
|
|
|
|
enum {
|
|
gestaltQDTextFeatures = FOUR_CHAR_CODE('qdtf'), /* QuickdrawText features */
|
|
gestaltWSIISupport = 0, /* bit 0: WSII support included */
|
|
gestaltSbitFontSupport = 1, /* sbit-only fonts supported */
|
|
gestaltAntiAliasedTextAvailable = 2, /* capable of antialiased text */
|
|
gestaltOFA2available = 3, /* OFA2 available */
|
|
gestaltCreatesAliasFontRsrc = 4, /* "real" datafork font support */
|
|
gestaltNativeType1FontSupport = 5, /* we have scaler for Type1 fonts */
|
|
gestaltCanUseCGTextRendering = 6
|
|
};
|
|
|
|
|
|
enum {
|
|
gestaltQuickTimeConferencingInfo = FOUR_CHAR_CODE('qtci') /* returns pointer to QuickTime Conferencing information */
|
|
};
|
|
|
|
enum {
|
|
gestaltQuickTimeVersion = FOUR_CHAR_CODE('qtim'), /* returns version of QuickTime */
|
|
gestaltQuickTime = FOUR_CHAR_CODE('qtim') /* gestaltQuickTime is old name for gestaltQuickTimeVersion */
|
|
};
|
|
|
|
enum {
|
|
gestaltQuickTimeFeatures = FOUR_CHAR_CODE('qtrs'),
|
|
gestaltPPCQuickTimeLibPresent = 0 /* PowerPC QuickTime glue library is present */
|
|
};
|
|
|
|
enum {
|
|
gestaltQuickTimeStreamingFeatures = FOUR_CHAR_CODE('qtsf')
|
|
};
|
|
|
|
enum {
|
|
gestaltQuickTimeStreamingVersion = FOUR_CHAR_CODE('qtst')
|
|
};
|
|
|
|
enum {
|
|
gestaltQTVRMgrAttr = FOUR_CHAR_CODE('qtvr'), /* QuickTime VR attributes */
|
|
gestaltQTVRMgrPresent = 0, /* QTVR API is present */
|
|
gestaltQTVRObjMoviesPresent = 1, /* QTVR runtime knows about object movies */
|
|
gestaltQTVRCylinderPanosPresent = 2, /* QTVR runtime knows about cylindrical panoramic movies */
|
|
gestaltQTVRCubicPanosPresent = 3 /* QTVR runtime knows about cubic panoramic movies */
|
|
};
|
|
|
|
enum {
|
|
gestaltQTVRMgrVers = FOUR_CHAR_CODE('qtvv') /* QuickTime VR version */
|
|
};
|
|
|
|
enum {
|
|
gestaltPhysicalRAMSize = FOUR_CHAR_CODE('ram ') /* physical RAM size */
|
|
};
|
|
|
|
enum {
|
|
gestaltRBVAddr = FOUR_CHAR_CODE('rbv ') /* RBV base address */
|
|
};
|
|
|
|
enum {
|
|
gestaltROMSize = FOUR_CHAR_CODE('rom ') /* rom size */
|
|
};
|
|
|
|
enum {
|
|
gestaltROMVersion = FOUR_CHAR_CODE('romv') /* rom version */
|
|
};
|
|
|
|
enum {
|
|
gestaltResourceMgrAttr = FOUR_CHAR_CODE('rsrc'), /* Resource Mgr attributes */
|
|
gestaltPartialRsrcs = 0, /* True if partial resources exist */
|
|
gestaltHasResourceOverrides = 1 /* Appears in the ROM; so put it here. */
|
|
};
|
|
|
|
enum {
|
|
gestaltResourceMgrBugFixesAttrs = FOUR_CHAR_CODE('rmbg'), /* Resource Mgr bug fixes */
|
|
gestaltRMForceSysHeapRolledIn = 0,
|
|
gestaltRMFakeAppleMenuItemsRolledIn = 1,
|
|
gestaltSanityCheckResourceFiles = 2, /* Resource manager does sanity checking on resource files before opening them */
|
|
gestaltSupportsFSpResourceFileAlreadyOpenBit = 3, /* The resource manager supports GetResFileRefNum and FSpGetResFileRefNum and FSpResourceFileAlreadyOpen */
|
|
gestaltRMSupportsFSCalls = 4, /* The resource manager supports OpenResFileFSRef, CreateResFileFSRef and ResourceFileAlreadyOpenFSRef */
|
|
gestaltRMTypeIndexOrderingReverse = 8 /* GetIndType() calls return resource types in opposite order to original 68k resource manager */
|
|
};
|
|
|
|
|
|
enum {
|
|
gestaltRealtimeMgrAttr = FOUR_CHAR_CODE('rtmr'), /* Realtime manager attributes */
|
|
gestaltRealtimeMgrPresent = 0 /* true if the Realtime manager is present */
|
|
};
|
|
|
|
|
|
enum {
|
|
gestaltSafeOFAttr = FOUR_CHAR_CODE('safe'),
|
|
gestaltVMZerosPagesBit = 0,
|
|
gestaltInitHeapZerosOutHeapsBit = 1,
|
|
gestaltNewHandleReturnsZeroedMemoryBit = 2,
|
|
gestaltNewPtrReturnsZeroedMemoryBit = 3,
|
|
gestaltFileAllocationZeroedBlocksBit = 4
|
|
};
|
|
|
|
|
|
enum {
|
|
gestaltSCCReadAddr = FOUR_CHAR_CODE('sccr') /* scc read base address */
|
|
};
|
|
|
|
enum {
|
|
gestaltSCCWriteAddr = FOUR_CHAR_CODE('sccw') /* scc read base address */
|
|
};
|
|
|
|
enum {
|
|
gestaltScrapMgrAttr = FOUR_CHAR_CODE('scra'), /* Scrap Manager attributes */
|
|
gestaltScrapMgrTranslationAware = 0 /* True if scrap manager is translation aware */
|
|
};
|
|
|
|
enum {
|
|
gestaltScriptMgrVersion = FOUR_CHAR_CODE('scri') /* Script Manager version number */
|
|
};
|
|
|
|
enum {
|
|
gestaltScriptCount = FOUR_CHAR_CODE('scr#') /* number of active script systems */
|
|
};
|
|
|
|
enum {
|
|
gestaltSCSI = FOUR_CHAR_CODE('scsi'), /* SCSI Manager attributes */
|
|
gestaltAsyncSCSI = 0, /* Supports Asynchronous SCSI */
|
|
gestaltAsyncSCSIINROM = 1, /* Async scsi is in ROM (available for booting) */
|
|
gestaltSCSISlotBoot = 2, /* ROM supports Slot-style PRAM for SCSI boots (PDM and later) */
|
|
gestaltSCSIPollSIH = 3 /* SCSI Manager will poll for interrupts if Secondary Interrupts are busy. */
|
|
};
|
|
|
|
enum {
|
|
gestaltControlStripAttr = FOUR_CHAR_CODE('sdev'), /* Control Strip attributes */
|
|
gestaltControlStripExists = 0, /* Control Strip is installed */
|
|
gestaltControlStripVersionFixed = 1, /* Control Strip version Gestalt selector was fixed */
|
|
gestaltControlStripUserFont = 2, /* supports user-selectable font/size */
|
|
gestaltControlStripUserHotKey = 3 /* support user-selectable hot key to show/hide the window */
|
|
};
|
|
|
|
enum {
|
|
gestaltSDPStandardDirectoryVersion = FOUR_CHAR_CODE('sdvr') /* OCE Standard Directory Panel*/
|
|
};
|
|
|
|
enum {
|
|
gestaltSerialAttr = FOUR_CHAR_CODE('ser '), /* Serial attributes */
|
|
gestaltHasGPIaToDCDa = 0, /* GPIa connected to DCDa*/
|
|
gestaltHasGPIaToRTxCa = 1, /* GPIa connected to RTxCa clock input*/
|
|
gestaltHasGPIbToDCDb = 2, /* GPIb connected to DCDb */
|
|
gestaltHidePortA = 3, /* Modem port (A) should be hidden from users */
|
|
gestaltHidePortB = 4, /* Printer port (B) should be hidden from users */
|
|
gestaltPortADisabled = 5, /* Modem port (A) disabled and should not be used by SW */
|
|
gestaltPortBDisabled = 6 /* Printer port (B) disabled and should not be used by SW */
|
|
};
|
|
|
|
enum {
|
|
gestaltShutdownAttributes = FOUR_CHAR_CODE('shut'), /* ShutDown Manager Attributes */
|
|
gestaltShutdownHassdOnBootVolUnmount = 0 /* True if ShutDown Manager unmounts boot & VM volume at shutdown time. */
|
|
};
|
|
|
|
enum {
|
|
gestaltNuBusConnectors = FOUR_CHAR_CODE('sltc') /* bitmap of NuBus connectors*/
|
|
};
|
|
|
|
enum {
|
|
gestaltSlotAttr = FOUR_CHAR_CODE('slot'), /* slot attributes */
|
|
gestaltSlotMgrExists = 0, /* true is slot mgr exists */
|
|
gestaltNuBusPresent = 1, /* NuBus slots are present */
|
|
gestaltSESlotPresent = 2, /* SE PDS slot present */
|
|
gestaltSE30SlotPresent = 3, /* SE/30 slot present */
|
|
gestaltPortableSlotPresent = 4 /* Portable's slot present */
|
|
};
|
|
|
|
enum {
|
|
gestaltFirstSlotNumber = FOUR_CHAR_CODE('slt1') /* returns first physical slot */
|
|
};
|
|
|
|
enum {
|
|
gestaltSoundAttr = FOUR_CHAR_CODE('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 */
|
|
gestaltPlayAndRecord = 6, /* built-in hardware can play and record simultaneously */
|
|
gestalt16BitSoundIO = 7, /* sound hardware can play and record 16-bit samples */
|
|
gestaltStereoInput = 8, /* sound hardware can record stereo */
|
|
gestaltLineLevelInput = 9, /* sound input port requires line level */
|
|
/* the following bits are not defined prior to Sound Mgr 3.0 */
|
|
gestaltSndPlayDoubleBuffer = 10, /* SndPlayDoubleBuffer available, set by Sound Mgr 3.0 and later */
|
|
gestaltMultiChannels = 11, /* multiple channel support, set by Sound Mgr 3.0 and later */
|
|
gestalt16BitAudioSupport = 12 /* 16 bit audio data supported, set by Sound Mgr 3.0 and later */
|
|
};
|
|
|
|
enum {
|
|
gestaltSplitOSAttr = FOUR_CHAR_CODE('spos'),
|
|
gestaltSplitOSBootDriveIsNetworkVolume = 0, /* the boot disk is a network 'disk', from the .LANDisk drive. */
|
|
gestaltSplitOSAware = 1, /* the system includes the code to deal with a split os situation. */
|
|
gestaltSplitOSEnablerVolumeIsDifferentFromBootVolume = 2, /* the active enabler is on a different volume than the system file. */
|
|
gestaltSplitOSMachineNameSetToNetworkNameTemp = 3, /* The machine name was set to the value given us from the BootP server */
|
|
gestaltSplitOSMachineNameStartupDiskIsNonPersistent = 5 /* The startup disk ( vRefNum == -1 ) is non-persistent, meaning changes won't persist across a restart. */
|
|
};
|
|
|
|
enum {
|
|
gestaltSMPSPSendLetterVersion = FOUR_CHAR_CODE('spsl') /* OCE StandardMail*/
|
|
};
|
|
|
|
enum {
|
|
gestaltSpeechRecognitionAttr = FOUR_CHAR_CODE('srta'), /* speech recognition attributes */
|
|
gestaltDesktopSpeechRecognition = 1, /* recognition thru the desktop microphone is available */
|
|
gestaltTelephoneSpeechRecognition = 2 /* recognition thru the telephone is available */
|
|
};
|
|
|
|
enum {
|
|
gestaltSpeechRecognitionVersion = FOUR_CHAR_CODE('srtb') /* speech recognition version (0x0150 is the first version that fully supports the API) */
|
|
};
|
|
|
|
enum {
|
|
gestaltSoftwareVendorCode = FOUR_CHAR_CODE('srad'), /* Returns system software vendor information */
|
|
gestaltSoftwareVendorApple = FOUR_CHAR_CODE('Appl'), /* System software sold by Apple */
|
|
gestaltSoftwareVendorLicensee = FOUR_CHAR_CODE('Lcns') /* System software sold by licensee */
|
|
};
|
|
|
|
enum {
|
|
gestaltStandardFileAttr = FOUR_CHAR_CODE('stdf'), /* Standard File attributes */
|
|
gestaltStandardFile58 = 0, /* True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported */
|
|
gestaltStandardFileTranslationAware = 1, /* True if standard file is translation manager aware */
|
|
gestaltStandardFileHasColorIcons = 2, /* True if standard file has 16x16 color icons */
|
|
gestaltStandardFileUseGenericIcons = 3, /* Standard file LDEF to use only the system generic icons if true */
|
|
gestaltStandardFileHasDynamicVolumeAllocation = 4 /* True if standard file supports more than 20 volumes */
|
|
};
|
|
|
|
enum {
|
|
gestaltSysArchitecture = FOUR_CHAR_CODE('sysa'), /* Native System Architecture */
|
|
gestalt68k = 1, /* Motorola MC68k architecture */
|
|
gestaltPowerPC = 2 /* IBM PowerPC architecture */
|
|
};
|
|
|
|
enum {
|
|
gestaltSystemVersion = FOUR_CHAR_CODE('sysv') /* system version*/
|
|
};
|
|
|
|
#if TARGET_OS_WIN32
|
|
enum {
|
|
gestaltWinOSVersion = FOUR_CHAR_CODE('winv') /* Windows system version*/
|
|
};
|
|
|
|
#endif /* TARGET_OS_WIN32 */
|
|
|
|
enum {
|
|
gestaltToolboxTable = FOUR_CHAR_CODE('tbtt') /* OS trap table base */
|
|
};
|
|
|
|
enum {
|
|
gestaltTextEditVersion = FOUR_CHAR_CODE('te '), /* TextEdit version number */
|
|
gestaltTE1 = 1, /* TextEdit in MacIIci ROM */
|
|
gestaltTE2 = 2, /* TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) */
|
|
gestaltTE3 = 3, /* TextEdit with 6.0.4 Script Systems all but MacIIci */
|
|
gestaltTE4 = 4, /* TextEdit in System 7.0 */
|
|
gestaltTE5 = 5 /* TextWidthHook available in TextEdit */
|
|
};
|
|
|
|
enum {
|
|
gestaltTEAttr = FOUR_CHAR_CODE('teat'), /* TextEdit attributes */
|
|
gestaltTEHasGetHiliteRgn = 0, /* TextEdit has TEGetHiliteRgn */
|
|
gestaltTESupportsInlineInput = 1, /* TextEdit does Inline Input */
|
|
gestaltTESupportsTextObjects = 2, /* TextEdit does Text Objects */
|
|
gestaltTEHasWhiteBackground = 3 /* TextEdit supports overriding the TERec's background to white */
|
|
};
|
|
|
|
enum {
|
|
gestaltTeleMgrAttr = FOUR_CHAR_CODE('tele'), /* Telephone manager attributes */
|
|
gestaltTeleMgrPresent = 0,
|
|
gestaltTeleMgrPowerPCSupport = 1,
|
|
gestaltTeleMgrSoundStreams = 2,
|
|
gestaltTeleMgrAutoAnswer = 3,
|
|
gestaltTeleMgrIndHandset = 4,
|
|
gestaltTeleMgrSilenceDetect = 5,
|
|
gestaltTeleMgrNewTELNewSupport = 6
|
|
};
|
|
|
|
enum {
|
|
gestaltTermMgrAttr = FOUR_CHAR_CODE('term'), /* terminal mgr attributes */
|
|
gestaltTermMgrPresent = 0,
|
|
gestaltTermMgrErrorString = 2
|
|
};
|
|
|
|
enum {
|
|
gestaltThreadMgrAttr = FOUR_CHAR_CODE('thds'), /* Thread Manager attributes */
|
|
gestaltThreadMgrPresent = 0, /* bit true if Thread Mgr is present */
|
|
gestaltSpecificMatchSupport = 1, /* bit true if Thread Mgr supports exact match creation option */
|
|
gestaltThreadsLibraryPresent = 2 /* bit true if Thread Mgr shared library is present */
|
|
};
|
|
|
|
enum {
|
|
gestaltTimeMgrVersion = FOUR_CHAR_CODE('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 */
|
|
gestaltNativeTimeMgr = 4 /* PowerPC native TimeMgr is present */
|
|
};
|
|
|
|
enum {
|
|
gestaltTSMTEVersion = FOUR_CHAR_CODE('tmTV'),
|
|
gestaltTSMTE1 = 0x0100, /* Original version of TSMTE */
|
|
gestaltTSMTE15 = 0x0150, /* System 8.0 */
|
|
gestaltTSMTE152 = 0x0152 /* System 8.2 */
|
|
};
|
|
|
|
enum {
|
|
gestaltTSMTEAttr = FOUR_CHAR_CODE('tmTE'),
|
|
gestaltTSMTEPresent = 0,
|
|
gestaltTSMTE = 0 /* gestaltTSMTE is old name for gestaltTSMTEPresent */
|
|
};
|
|
|
|
enum {
|
|
gestaltAVLTreeAttr = FOUR_CHAR_CODE('tree'), /* AVLTree utility routines attributes. */
|
|
gestaltAVLTreePresentBit = 0, /* if set, then the AVL Tree routines are available. */
|
|
gestaltAVLTreeSupportsHandleBasedTreeBit = 1, /* if set, then the AVL Tree routines can store tree data in a single handle */
|
|
gestaltAVLTreeSupportsTreeLockingBit = 2 /* if set, the AVLLockTree() and AVLUnlockTree() routines are available. */
|
|
};
|
|
|
|
enum {
|
|
gestaltALMAttr = FOUR_CHAR_CODE('trip'), /* Settings Manager attributes (see also gestaltALMVers) */
|
|
gestaltALMPresent = 0, /* bit true if ALM is available */
|
|
gestaltALMHasSFGroup = 1, /* bit true if Put/Get/Merge Group calls are implmented */
|
|
gestaltALMHasCFMSupport = 2, /* bit true if CFM-based modules are supported */
|
|
gestaltALMHasRescanNotifiers = 3 /* bit true if Rescan notifications/events will be sent to clients */
|
|
};
|
|
|
|
enum {
|
|
gestaltALMHasSFLocation = gestaltALMHasSFGroup
|
|
};
|
|
|
|
enum {
|
|
gestaltTSMgrVersion = FOUR_CHAR_CODE('tsmv'), /* Text Services Mgr version, if present */
|
|
gestaltTSMgr15 = 0x0150,
|
|
gestaltTSMgr20 = 0x0200
|
|
};
|
|
|
|
enum {
|
|
gestaltTSMgrAttr = FOUR_CHAR_CODE('tsma'), /* Text Services Mgr attributes, if present */
|
|
gestaltTSMDisplayMgrAwareBit = 0, /* TSM knows about display manager */
|
|
gestaltTSMdoesTSMTEBit = 1 /* TSM has integrated TSMTE */
|
|
};
|
|
|
|
enum {
|
|
gestaltSpeechAttr = FOUR_CHAR_CODE('ttsc'), /* Speech Manager attributes */
|
|
gestaltSpeechMgrPresent = 0, /* bit set indicates that Speech Manager exists */
|
|
gestaltSpeechHasPPCGlue = 1 /* bit set indicates that native PPC glue for Speech Manager API exists */
|
|
};
|
|
|
|
enum {
|
|
gestaltTVAttr = FOUR_CHAR_CODE('tv '), /* TV version */
|
|
gestaltHasTVTuner = 0, /* supports Philips FL1236F video tuner */
|
|
gestaltHasSoundFader = 1, /* supports Philips TEA6330 Sound Fader chip */
|
|
gestaltHasHWClosedCaptioning = 2, /* supports Philips SAA5252 Closed Captioning */
|
|
gestaltHasIRRemote = 3, /* supports CyclopsII Infra Red Remote control */
|
|
gestaltHasVidDecoderScaler = 4, /* supports Philips SAA7194 Video Decoder/Scaler */
|
|
gestaltHasStereoDecoder = 5, /* supports Sony SBX1637A-01 stereo decoder */
|
|
gestaltHasSerialFader = 6, /* has fader audio in serial with system audio */
|
|
gestaltHasFMTuner = 7, /* has FM Tuner from donnybrook card */
|
|
gestaltHasSystemIRFunction = 8, /* Infra Red button function is set up by system and not by Video Startup */
|
|
gestaltIRDisabled = 9, /* Infra Red remote is not disabled. */
|
|
gestaltINeedIRPowerOffConfirm = 10, /* Need IR power off confirm dialog. */
|
|
gestaltHasZoomedVideo = 11 /* Has Zoomed Video PC Card video input. */
|
|
};
|
|
|
|
|
|
enum {
|
|
gestaltATSUVersion = FOUR_CHAR_CODE('uisv'),
|
|
gestaltOriginalATSUVersion = (1 << 16), /* ATSUI version 1.0 */
|
|
gestaltATSUUpdate1 = (2 << 16), /* ATSUI version 1.1 */
|
|
gestaltATSUUpdate2 = (3 << 16), /* ATSUI version 1.2 */
|
|
gestaltATSUUpdate3 = (4 << 16), /* ATSUI version 2.0 */
|
|
gestaltATSUUpdate4 = (5 << 16), /* ATSUI version in Mac OS X - SoftwareUpdate 1-4 for Mac OS 10.0.1 - 10.0.4 */
|
|
gestaltATSUUpdate5 = (6 << 16), /* ATSUI version 2.3 in MacOS 10.1 */
|
|
gestaltATSUUpdate6 = (7 << 16) /* ATSUI version 2.4 in MacOS 10.2 */
|
|
};
|
|
|
|
enum {
|
|
gestaltATSUFeatures = FOUR_CHAR_CODE('uisf'),
|
|
gestaltATSUTrackingFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
|
|
gestaltATSUMemoryFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
|
|
gestaltATSUFallbacksFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
|
|
gestaltATSUGlyphBoundsFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
|
|
gestaltATSULineControlFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
|
|
gestaltATSULayoutCreateAndCopyFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
|
|
gestaltATSULayoutCacheClearFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
|
|
gestaltATSUTextLocatorUsageFeature = 0x00000002, /* feature introduced in ATSUI version 1.2 */
|
|
gestaltATSULowLevelOrigFeatures = 0x00000004, /* first low-level features introduced in ATSUI version 2.0 */
|
|
gestaltATSUFallbacksObjFeatures = 0x00000008, /* feature introduced - ATSUFontFallbacks objects introduced in ATSUI version 2.3 */
|
|
gestaltATSUIgnoreLeadingFeature = 0x00000008, /* feature introduced - kATSLineIgnoreFontLeading LineLayoutOption introduced in ATSUI version 2.3 */
|
|
gestaltATSUByCharacterClusterFeature = 0x00000010, /* ATSUCursorMovementTypes introduced in ATSUI version 2.4 */
|
|
gestaltATSUAscentDescentControlsFeature = 0x00000010, /* attributes introduced in ATSUI version 2.4 */
|
|
gestaltATSUHighlightInactiveTextFeature = 0x00000010, /* feature introduced in ATSUI version 2.4 */
|
|
gestaltATSUPositionToCursorFeature = 0x00000010, /* features introduced in ATSUI version 2.4 */
|
|
gestaltATSUBatchBreakLinesFeature = 0x00000010, /* feature introduced in ATSUI version 2.4 */
|
|
gestaltATSUTabSupportFeature = 0x00000010, /* features introduced in ATSUI version 2.4 */
|
|
gestaltATSUDirectAccess = 0x00000010 /* features introduced in ATSUI version 2.4 */
|
|
};
|
|
|
|
enum {
|
|
gestaltUSBAttr = FOUR_CHAR_CODE('usb '), /* USB Attributes */
|
|
gestaltUSBPresent = 0, /* USB Support available */
|
|
gestaltUSBHasIsoch = 1 /* USB Isochronous features available */
|
|
};
|
|
|
|
enum {
|
|
gestaltUSBVersion = FOUR_CHAR_CODE('usbv') /* USB version */
|
|
};
|
|
|
|
enum {
|
|
gestaltVersion = FOUR_CHAR_CODE('vers'), /* gestalt version */
|
|
gestaltValueImplementedVers = 5 /* version of gestalt where gestaltValue is implemented. */
|
|
};
|
|
|
|
enum {
|
|
gestaltVIA1Addr = FOUR_CHAR_CODE('via1') /* via 1 base address */
|
|
};
|
|
|
|
enum {
|
|
gestaltVIA2Addr = FOUR_CHAR_CODE('via2') /* via 2 base address */
|
|
};
|
|
|
|
enum {
|
|
gestaltVMAttr = FOUR_CHAR_CODE('vm '), /* virtual memory attributes */
|
|
gestaltVMPresent = 0, /* true if virtual memory is present */
|
|
gestaltVMHasLockMemoryForOutput = 1, /* true if LockMemoryForOutput is available */
|
|
gestaltVMFilemappingOn = 3, /* true if filemapping is available */
|
|
gestaltVMHasPagingControl = 4 /* true if MakeMemoryResident, MakeMemoryNonResident, FlushMemory, and ReleaseMemoryData are available */
|
|
};
|
|
|
|
enum {
|
|
gestaltVMInfoType = FOUR_CHAR_CODE('vmin'), /* Indicates how the Finder should display information about VM in */
|
|
/* the Finder about box. */
|
|
gestaltVMInfoSizeStorageType = 0, /* Display VM on/off, backing store size and name */
|
|
gestaltVMInfoSizeType = 1, /* Display whether VM is on or off and the size of the backing store */
|
|
gestaltVMInfoSimpleType = 2, /* Display whether VM is on or off */
|
|
gestaltVMInfoNoneType = 3 /* Display no VM information */
|
|
};
|
|
|
|
enum {
|
|
gestaltVMBackingStoreFileRefNum = FOUR_CHAR_CODE('vmbs') /* file refNum of virtual memory's main backing store file (returned in low word of result) */
|
|
};
|
|
|
|
|
|
|
|
enum {
|
|
gestaltALMVers = FOUR_CHAR_CODE('walk') /* Settings Manager version (see also gestaltALMAttr) */
|
|
};
|
|
|
|
enum {
|
|
gestaltWindowMgrAttr = FOUR_CHAR_CODE('wind'), /* If this Gestalt exists, the Mac OS 8.5 Window Manager is installed*/
|
|
gestaltWindowMgrPresent = (1L << 0), /* NOTE: this is a bit mask, whereas all other Gestalt constants of*/
|
|
/* this type are bit index values. Universal Interfaces 3.2 slipped*/
|
|
/* out the door with this mistake.*/
|
|
gestaltWindowMgrPresentBit = 0, /* bit number*/
|
|
gestaltExtendedWindowAttributes = 1, /* Has ChangeWindowAttributes; GetWindowAttributes works for all windows*/
|
|
gestaltExtendedWindowAttributesBit = 1, /* Has ChangeWindowAttributes; GetWindowAttributes works for all windows*/
|
|
gestaltHasFloatingWindows = 2, /* Floating window APIs work*/
|
|
gestaltHasFloatingWindowsBit = 2, /* Floating window APIs work*/
|
|
gestaltHasWindowBuffering = 3, /* This system has buffering available*/
|
|
gestaltHasWindowBufferingBit = 3, /* This system has buffering available*/
|
|
gestaltWindowLiveResizeBit = 4, /* live resizing of windows is available*/
|
|
gestaltWindowMinimizeToDockBit = 5, /* windows minimize to the dock and do not windowshade (Mac OS X)*/
|
|
gestaltHasWindowShadowsBit = 6, /* windows have shadows*/
|
|
gestaltSheetsAreWindowModalBit = 7, /* sheet windows are modal only to their parent window*/
|
|
gestaltFrontWindowMayBeHiddenBit = 8, /* FrontWindow and related APIs will return the front window even when the app is hidden*/
|
|
/* masks for the above bits*/
|
|
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)
|
|
};
|
|
|
|
/*#if TARGET_OS_WIN32 - These are needed by the i386 compiler for X*/
|
|
#if TARGET_CPU_X86
|
|
enum {
|
|
gestaltX86Features = FOUR_CHAR_CODE('x86f'),
|
|
gestaltX86HasFPU = 0, /* has an FPU that supports the 387 instructions*/
|
|
gestaltX86HasVME = 1, /* supports Virtual-8086 Mode Extensions*/
|
|
gestaltX86HasDE = 2, /* supports I/O breakpoints (Debug Extensions)*/
|
|
gestaltX86HasPSE = 3, /* supports 4-Mbyte pages (Page Size Extension)*/
|
|
gestaltX86HasTSC = 4, /* supports RTDSC instruction (Time Stamp Counter)*/
|
|
gestaltX86HasMSR = 5, /* supports Model Specific Registers*/
|
|
gestaltX86HasPAE = 6, /* supports physical addresses > 32 bits (Physical Address Extension)*/
|
|
gestaltX86HasMCE = 7, /* supports Machine Check Exception*/
|
|
gestaltX86HasCX8 = 8, /* supports CMPXCHG8 instructions (Compare Exchange 8 bytes)*/
|
|
gestaltX86HasAPIC = 9, /* contains local APIC*/
|
|
gestaltX86Reserved10 = 10, /* do not count on this bit value*/
|
|
gestaltX86HasSEP = 11, /* supports fast system call (SysEnter Present)*/
|
|
gestaltX86HasMTRR = 12, /* supports Memory Type Range Registers*/
|
|
gestaltX86HasPGE = 13, /* supports Page Global Enable*/
|
|
gestaltX86HasMCA = 14, /* supports Machine Check Architecture*/
|
|
gestaltX86HasCMOV = 15, /* supports CMOVcc instruction (Conditional Move).*/
|
|
/* If FPU bit is also set, supports FCMOVcc and FCOMI, too*/
|
|
gestaltX86HasPAT = 16, /* supports Page Attribute Table*/
|
|
gestaltX86HasPSE36 = 17, /* supports 36-bit Page Size Extension*/
|
|
gestaltX86HasMMX = 23, /* supports MMX instructions*/
|
|
gestaltX86HasFXSR = 24, /* Supports FXSAVE and FXRSTOR instructions (fast FP save/restore)*/
|
|
gestaltX86HasSSE = 25,
|
|
gestaltX86HasSSE2 = 26
|
|
};
|
|
|
|
#endif /* TARGET_CPU_X86 */
|
|
|
|
enum {
|
|
gestaltTranslationAttr = FOUR_CHAR_CODE('xlat'), /* Translation Manager attributes */
|
|
gestaltTranslationMgrExists = 0, /* True if translation manager exists */
|
|
gestaltTranslationMgrHintOrder = 1, /* True if hint order reversal in effect */
|
|
gestaltTranslationPPCAvail = 2,
|
|
gestaltTranslationGetPathAPIAvail = 3
|
|
};
|
|
|
|
enum {
|
|
gestaltExtToolboxTable = FOUR_CHAR_CODE('xttt') /* Extended Toolbox trap table base */
|
|
};
|
|
|
|
enum {
|
|
gestaltUSBPrinterSharingVersion = FOUR_CHAR_CODE('zak '), /* USB Printer Sharing Version*/
|
|
gestaltUSBPrinterSharingVersionMask = 0x0000FFFF, /* mask for bits in version*/
|
|
gestaltUSBPrinterSharingAttr = FOUR_CHAR_CODE('zak '), /* USB Printer Sharing Attributes*/
|
|
gestaltUSBPrinterSharingAttrMask = (long)0xFFFF0000, /* mask for attribute bits*/
|
|
gestaltUSBPrinterSharingAttrRunning = (long)0x80000000, /* printer sharing is running*/
|
|
gestaltUSBPrinterSharingAttrBooted = 0x40000000 /* printer sharing was installed at boot time*/
|
|
};
|
|
|
|
/*WorldScript settings;*/
|
|
enum {
|
|
gestaltWorldScriptIIVersion = FOUR_CHAR_CODE('doub'),
|
|
gestaltWorldScriptIIAttr = FOUR_CHAR_CODE('wsat'),
|
|
gestaltWSIICanPrintWithoutPrGeneralBit = 0 /* bit 0 is on if WS II knows about PrinterStatus callback */
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef PRAGMA_IMPORT_OFF
|
|
#pragma import off
|
|
#elif PRAGMA_IMPORT
|
|
#pragma import reset
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __GESTALT__ */
|
|
|