home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-01-02 | 206.7 KB | 4,929 lines | [TEXT/R*ch] |
-
- Gestalt Selectors List 2.7
- ==========================
- First published: 12 October 1992, 13:15 CET (GMT+1)
- Last modified : 2 Januari 1995, 11:30 CET (GMT+1)
-
- This document lists all selectors for use with the Gestalt Manager known to
- the editor. These can include selector codes installed by Apple (system)
- software or by software from third and so called "fourth" parties (your
- software?).
- The information in this list is useful for programmers and other people who
- can use the Gestalt Manager with their software perhaps even using
- externals (with HyperCard, 4th Dimension etc.).
-
- This file can be best viewed with a mono-spaced font like Monaco. Because
- it is wrapped as setext you can use several utilities to index and read it.
- For the Macintosh you can use Easy View and on a UNIX system sv (setext
- viewer) works fine. Both are available by FTP from sumex-aim.stanford.edu
- (or its mirrors!), archived respectively as:
- info-mac/text/easy-view-250.hqx
- info-mac/text/setext-viewer-05-unix.uu
-
- A single question mark indicates an uncertainty regarding the information
- in front of the question mark. Three question marks indicate complete
- absence of the information.
- See for more information about this list the chapters at the end.
-
- Contents
- --------
- Gestalt Selectors List
- Contents
- Contributions
- Changes Overview
- Gestalt Selector Codes
- Apple System Software (A-F)
- Apple System Software (G-L)
- Apple System Software (M-Q)
- Apple System Software (R-Z)
- Apple Additional Software
- Third Parties Software
- Unknown Gestalt Selector Codes
- Apple Software
- Third Parties Software
- Gestalt Manager Calls
- Gestalt Manager Routines
- Undocumented Gestalt Manager Routines
- Gestalt Value Routines
- Kilo-liners
- Direct Gestalt Calls
- Direct GestaltValue Calls
- GestaltSelectorZero
- GestaltBitTest
- Call Gestalt Function Direct
- Reports
- AppleShare File & Print Server selector codes
- AppleTalk
- Copy protection using Gestalt
- Environs & SysEnvirons
- Executor Mac-emulator
- Gestalt Apple Event
- GestaltValue
- Glue code
- PPC Libraries
- QuickTime
- RAM Doubler
- General Info
- System Managers
- Gestalt Problems
- History
- Abbreviations
- Sources
- Related Software
- URL
- Definitions and Format
- Use in Language
- Definitions
- Format Selector Entry
- Format Version Numbers
- About this list
- Availability
- Acknowledgements
- Legal Stuff
- Editors' Address
-
- Contributions
- -------------
- This section lists the people who contributed information which is now
- included with this version of the list.
-
- ===========================================================================
- Contributions to the selector sections
- ===========================================================================
- Person Software Selector(s) added/changed
- ---------------------------------------------------------------------------
- Anonymous(s) ColorSync ext cmtc
- FileSaver cp PNfs
- Martin Bestmann System (enablers) evnt
- John Champion A La Carte ext AlaC
- Mike Cohen System (enablers) mach
- John Mancino Remote Access strm
- Mark Nagata Dialog View cp DlgV, LFnt
- KeyQuencer KQae, KQue
- Marco Piovanelli System (enablers) os
- Dave Radcliffe System (enablers) cput
- Rene G.A. Ros Apple Guide/Reno reno
- Apple Menu Options HAM
- AppleShare afps
- At Ease app pxtn
- CDMenu cp CDmn
- ColorSync ext cmtc
- Control Strip cp sdev
- Debugger INIT ext NubA, NubD, NubH, NubV
- GestaltValue glue code gval
- Mount'em/Drop Disk app ddsk, mtem
- Mouse cp octb
- PC Exchange vdrc
- PC Setup? cp a pc
- PowerTalk Manager ext oceu
- PPPReport cp EDCN
- QuickTime ext qtim
- Shared Library Manager ext
- aslm
- SpeedyFinder7 Extension UhOh
- System ? scrf, tpad, tv
- System (enablers) cput, idsp, fxfr, mach,
- micn, proc, tele, tsma
- Video Player app/Video Startup ext
- mtv2, tv
- WorldScript II lang, lngb
- unknown cuda, iic
- Alex Rosenberg HAM ??? HAM
- System (enablers) ctbv, fxfr, icon, tabl,
- tele, nlup
- Marc Schrier System (enablers) mach
- Brian Stern SpeakAlert cp SPAL
- ---------------------------------------------------------------------------
-
- ===========================================================================
- Contributions to the non-selector sections
- ===========================================================================
- Person Chapter/Section
- ---------------------------------------------------------------------------
- Lawrence D'Oliveiro General Info/System Managers
- John Mancino General Info/System Managers
- Marco Piovanelli General Info/System Managers
- Rene G.A. Ros About this list/Legal Stuff
- Definitions and Format/Symbolic Names Suffixes
- General Info/Gestalt Problems
- General Info/Related Software & URL
- General Info/System Managers
- Gestalt Manager Calls/Gestalt Value Routines
- Reports/Gestalt Apple Event
- Alex Rosenberg Gestalt Manager Calls/Gestalt Value Routines
- ---------------------------------------------------------------------------
-
- Changes Overview
- ----------------
- Added selectors
- Apple System : tele, tsma
- Apple Add. : -
- Third Parties : PNfs
- Added unknown
- Apple Softw. : cuda, ddsk, iic , lngb, NubA, NubD, NubH, NubV, scrf
- Third Parties : CDmn, EDCN, UhOh
- Changed selectors
- Apple System : cmtc, cput, ctbv, fxfr, gval, icon, mach, os , proc,
- qtim, sdev, vers
- Apple Add. : cmtc, strm
- Third Parties : -
- Changed unknown
- Apple Softw. : a pc, afps, aslm, HAM , idsp, lang, mtem, pxtn, vdrc
- Third Parties : DlgV, KQae, KQue, LFnt
- Previously unknown
- Apple System : reno, tpad, tv
- Apple Add. : mtv2
- Third Parties : AlaC, SPAL
- Includes updates 2.6.1 up to and including 2.6.6, sent to subscribers of
- the mailing list.
-
- A number of chapters are now sections, which should increase the usability
- of the GSL when using a setext viewer (like EasyView).
- Several changes where made to the layout and information because of
- comments and suggestions I received with a survey of the subscribers of
- the mailing list.
-
- Several corrections were made to a number of entries regarding installed
- software versions, package names ('part of') and companies.
-
- Prepared GSL for automatic extraction of declarations into a
- Gestalt header file:
- - added 'const' to all parts declaring symbolic names;
- - most source references are now part of the comments;
- - grouped all declarations together, ending with an empty line or a line
- starting without leading spaces.
- It may take some time before I start writing an application/script to do
- the extraction. It should also be able to convert it to C. But I have to
- finish some other projects (incl. school) first!
-
- The GestaltValueDispatch A-trap is implemented with System 7.5 final (not
- 'finally'!) and the following selectors are now installed using
- GestaltValue:
- bugx, bugy, bugz, conn,
- crm , ctbv, ditl, edtn,
- fs , fxfr, nlup, pop!,
- stdf, tele, term, vers
-
- Also, the Performa 61xx types are released and now in the appropriate part
- of the 'mach' entry.
-
- Gestalt Selector Codes
- ======================
- The following sections list selector codes of which the meaning is know.
- For easier reading when using a setext viewer the 'Apple System Software'
- section has been divided into four groups grouped on the first character
- of the selectorcode (A-F, G-L, M-P and Q-Z).
-
- Apple System Software (A-F)
- ---------------------------
- a/ux (A/UX [2.0?])
- (System [6.0.4])
- gestaltAUXVersion
- Returns the version of A/UX, if it is executing, as BCD?
-
- const
- gestaltAUXVersion = 'a/ux'; {A/UX version, if present}
-
- NOTES:
- If Gestalt doesn't know the answer, test bit 9 of the HWCFgFlag
- system global ($0B22; word). if it is, assume you have A/UX 1.0.
-
- This selector also indicates if you're running under MAE on an
- UNIX machine. *AD08
- addr (System [6.0.4])
- gestaltAddressingModeAttr
- Returns information about the current addressing mode.
-
- const
- gestaltAddressingModeAttr = 'addr'; {addressing mode attributes}
- gestalt32BitAddressing = 0; {started up with 32-bit addr.}
- gestalt32BitSysZone = 1; {system heap has 32-bit clean}
- { block headers}
- gestalt32BitCapable = 2; {machine is 32-bit capable}
- alis (System [7.0])
- (Remote Access Aliases ext [1.0?], part of Apple Remote Access)
- gestaltAliasMgrAttr
- Returns information about the Alias Manager.
-
- const
- gestaltAliasMgrAttr = 'alis';{Alias Mgr attributes}
- gestaltAliasMgrPresent = 0;
- gestaltAliasMgrSupportsRemoteAppletalk = 1; {supports Remote}
- { Appletalk *AD02}
- gestaltAliasMgr??? = 2; {since System 7.1 Pro}
-
- NOTE: See 'Reports' chapter (QuickTime section) for more information.
- ascr (AppleScript ext [1.0])
- gestaltAppleScriptAttr *AS08
- Returns information about AppleScript.
-
- const
- gestaltAppleScriptAttr = 'ascr'; {AppleScript attributes}
- gestaltAppleScriptPresent = 0;
- gestaltAppleScriptPowerPCSupport = 1;
- ascv (AppleScript ext [1.0])
- gestaltAppleScriptVersion *AS08
- Returns the version of AppleScript as NumVersion.
-
- const
- gestaltAppleScriptVersion = 'ascv'; {AppleScript version}
-
- NOTE:
- AppleScript 1.1 returns $01100110 which doesn't look like a proper
- version number (version 1.0 returned $01008000). (Rene Ros)
- atkv (System [7.0, AppleTalk 56])
- gestaltATalkVersion *AT02
- Returns AppleTalk version as NumVersion.
-
- This is different from 'atlk' !
-
- const
- gestaltATalkVersion = 'atkv'; {AppleTalk version *AD01/M01}
-
- WARNING:
- This selector returns the majorRev field of the NumVersion record as
- hexadecimal instead of the usual BCD.
-
- NOTE: See 'Reports' chapter (AppleTalk section) for more information.
- atlk (System [6.0.4])
- gestaltAppleTalkVersion
- Returns the version of the .MPP driver as INTEGER.
-
- const
- gestaltAppleTalkVersion = 'atlk'; {AppleTalk version}
- aucd (Audio CD Access ext [4.0], part of Apple CD-ROM Software) *AT03
- gestaltAudioCDAccessVersion?
- Returns Audio CD Access version as BCD.
-
- const
- gestaltAudioCDAccessVersion? = 'aucd'; {Audio CD Access version}
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
- BSDa (CloseView cp [???], by Berkeley Systems, Inc.)
- gestaltCloseViewAttr
- Returns information about the CloseView Control Panel.
-
- const
- gestaltCloseViewAttr = 'BSDa'; {CloseView attributes}
- gestaltCloseViewEnabled = 0;
- gestaltCloseViewDisplayMgrFriendly = 1; {Closeview compatible}
- { with Display Manager}
- { (FUTURE) *AS05}
- cash (System [???]) *S03
- gestaltRAMCacheSize
- Returns byte-size of physical RAM allocated to Disk Cache.
- 0 = Disk Cache Off
-
- const
- gestaltRAMCacheSize = 'cash'; {RAM cache size}
-
- NOTE:
- This selector is listed in THINK Reference 1.0 but it is unknown which
- System Software version should install it.
- cfrg (System [7.1.2?])
- gestaltCFMAttr
- Returns information about the Code Fragment Manager machines.
-
- const
- gestaltCFMAttr = 'cfrg'; {Code Fragment Mgr attributes}
- gestaltCFMPresent = 0; {Code Fragment Manager is present}
-
- NOTE:
- Don't rely on the presence of CFM along to check for a PowerMac. The
- CFM will likely appear on 680x0 platforms as well. (Dave Falkenburg)
- cmta (ColorSync ext [1.0.4?]
- gestaltColorMatchingAttr *AD09
- Returns information about the ColorSync Utilities?
-
- const
- gestaltColorMatchingAttr = 'cmta'; {Color Matching Attributes}
- gestaltHighLevelMatching = 0; {BeginMatching &}
- { DrawMatchedPicture
- { present}
- gestaltColorMatchingLibLoaded = 1; {Native PowerPC shared}
- { library is loaded. a.k.a.}
- { gestaltSharedLibLoaded?}
- cmtc (ColorSync ext [1.0?])
- gestaltColorMatchingVersion
- Returns the version of the Color Matching software as BCD.
-
- const
- gestaltColorMatchingVersion = 'cmtc'; {Color Matching version}
- gestaltColorSync10 = $0100; {*AD09}
- gestaltColorSync11 = $0110; {*AD09}
- gestaltColorSync104 = $0104; {*AD09}
- gestaltColorSync105 = $0105; {*AD09}
- gestaltColorSync20? = $0200; {*AD17}
-
- NOTE:
- ColorSync 1.0 returns gestaltColorSync10 for the version of the
- utilities that work with System 6.0.7. And gestaltColorSync11 is
- returned by the version that works with System 7.0 and later.
- From version 1.0.4 up the correct version is returned. *AD17
- conn (System [7.0])
- gestaltConnMgrAttr
- Returns information about the Connection Manager.
-
- const
- gestaltConnMgrAttr = 'conn'; {Conn. Mgr attributes}
- gestaltConnMgrPresent = 0; {Connection Mgr is present}
- gestaltConnMgrCMSearchFix = 1; {fix for CMAddSearch present}
- gestaltConnMgrErrorString = 2; {has CMGetErrorString *AS02}
- gestaltConnMgrMultiAsyncIO = 3; {CMNewsIOPB,CMDisposeIOPB,}
- { CMPBRead,CMPBWrite,CMPBIOKill}
- { *AS02}
-
- NOTE:
- With System 6, this Gestalt selector isn't implemented when the
- Communications Toolbox is installed. (Michael Hecht)
- cpkr (Color Picker ext [2.0?])
- gestaltColorPickerMgrAttr
- Returns information about the Color Picker Manager.
-
- const
- gestaltColorPickerMgrAttr = 'cpkr'; {ColorPicker Mgr attributes}
- gestaltColorPickerMgrPresent? = 0?; {ColorPicker Mgr Present}
- (Marco Piovanelli, Lawrence D'Oliveiro)
-
- NOTE:
- Extension version 2.0a4 returns a response ($0x0001) which is
- according to the info above. Version 2.0a5 however returns $0x0100, is
- this an error?
- cpnt (System [7.1])
- (Color Picker Extension ext [2.0])
- (Color Sync ext [1.0.4?])
- (Macintosh Easy Open cp [1.0?])
- (QuickTime ext [1.0])
- (Speech Manager ext [1.1.1, not 1.2?])
- gestaltComponentMgr
- Returns Component Manager version as INTEGER.
-
- const
- gestaltComponentMgr = 'cpnt'; {Component Mgr version *AS01}
- cput (System [7.1.2?]) *AS04/AS05
- gestaltNativeCPUtype
- Returns a value that indicates the type of native processor that is
- currently running.
-
- const
- gestaltNativeCPUtype = 'cput'; {Native CPU type}
- {Motorola Architecture}
- gestaltCPU68000 = 1;
- gestaltCPU68010 = 2;
- gestaltCPU68020 = 3;
- gestaltCPU68030 = 4;
- gestaltCPU68040 = 5;
- {PowerPC Architecture}
- gestaltCPU601 = $0x101;
- gestaltCPU603 = $0x103;
- gestaltCPU604 = $0x104;
- gestaltCPU620? = ???;
-
- NOTE:
- To check whether the native system architecture is a MC680x0 or a
- PowerPC use the gestaltSysArchitecture ('sysa') selector. See for
- more information on the 68K processors the gestaltProcessorType
- ('proc') selector.
-
- The GestaltEqu.h file published with E.T.O. #12 was replaced by the
- one on E.T.O. #13. However there was made a mistake, it lists the 68K
- values in the range 0-4 while it should be 1-5 as listed above.
- This problem is acknowledged by Apple.
- You can fix this problem by using the declarations listed above or by
- using the GestaltEqu.h file from E.T.O. #13 but then test first the
- gestaltSysArchitecture ('sysa') selector and when it reports a 68K
- machine use gestaltProcessorType.
- However, System 7.5. was apperantly created using the incorrect header
- file and returns the incorrect values. Example: 'cput' returns 3
- and 'proc' returns 4.
- (Dave Radcliffe, Roland Mansson, Rene Ros)
- crm (System [7.0])
- (Communications Toolbox for System 6)
- gestaltCRMAttr
- Returns information about the Communications Resource Manager.
-
- const
- gestaltCRMAttr = 'crm '; {Comm. Resource Mgr attributes}
- gestaltCRMPresent = 0; {Comm. Resource Mgr present}
- gestaltCRMPersistentFix = 1; {fix for persistent tools *AS02}
- gestaltCRMToolRsrcCalls = 2; {has CRMGetToolResource/}
- { ReleaseToolResource *AS02}
- csvr (Control Strip cp [1.0], part of PowerBook Utilities)
- gestaltControlStripVersion
- Returns the version of Control Strip software that is installed as
- NumVersion.
-
- const
- gestaltControlStripVersion = 'csvr';
-
- WARNING:
- Control Strip 1.0 used to install the 'sdvr' selector (which is used
- by PowerTalk) instead of this selector to return the version. This is
- corrected when the gestaltControlStripAttr ('sdev') selector has bit
- gestaltControlStripVersionFixed set (unknown which version sets it).
- No written documentation found, based on header file. *AS11 (Rene Ros)
-
- NOTE:
- Control Strip displays a row with icons and popup menus to quickly
- change settings on portable macs, i.e. AppleTalk and the sound volume.
- ctbm (System [7.0])
- (Communications Toolbox for System 6)
- gestaltCTBManagersAttr
- Returns information about the Communications Toolbox Managers, it is a
- bitmask of which managers are present.
-
- const
- gestaltCTBManagersAttr = 'ctbm'; {Comm. Mgrs attributes *S02}
- ctbu (System [7.0])
- (Communications Toolbox for System 6)
- gestaltCTBUtilsAttr
- Returns information about the Communications Toolbox Utilities.
-
- const
- gestaltCTBUtilsAttr = 'ctbu'; {Comm. TB Utils attributes *S02}
- gestaltCTBUtilsPresent = 0; {*S02}
- ctbv (System [7.0])
- (Communications Toolbox for System 6)
- gestaltCTBVersion
- Returns the version number of the Communications Toolbox.
-
- const
- gestaltCTBVersion = 'ctbv'; {Comm. Toolbox version}
-
- NOTE:
- With the Power Macintosh the Communication Toolbox returned a Gestalt
- value indicating version 1.1 while the ROM actually had version 1.0.
- This is fixed by the PowerPC Enabler 1.0.1. and the PowerPC Upgrade
- Card Enabler 1.0.1. because they install CTB 1.1. *AT06
- As of System 7.1, the version of the CTB should track the System
- version. The PowerMac ROMs handled this incorrectly and System 7.5
- rectifies this by reporting 7.5.0. (Alex Rosenberg)
- dbac (System [7.0])
- gestaltDBAccessMgrAttr
- Returns information about the Data Access Manager.
-
- const
- gestaltDBAccessMgrAttr = 'dbac'; {Data Access Mgr attributes}
- gestaltDBAccessMgrPresent = 0; {TRUE if Data Access Mgr present}
- dfnd (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSDPFindVersion
- Returns the SDP Find version as INTEGER.
-
- const
- gestaltSDPFindVersion = 'dfnd'; {SDP Find version}
- dict (System [7.1])
- gestaltDictionaryMgrAttr
- Returns information about the Dictionary Manager.
-
- const
- gestaltDictionaryMgrAttr = 'dict'; {Dictionary Mgr attributes}
- gestaltDictionaryMgrPresent = 0;
- ditl (System [7.0])
- gestaltDITLExtAttr
- Returns information about the Dialog Manager.
-
- const
- gestaltDITLExtAttr = 'ditl'; {Dialog Mgr attributes}
- gestaltDITLExtPresent = 0; {Dialog Mgr extensions present}
- dplv (Display Enabler [1.0?])
- (System [7.1.1])
- gestaltDisplayMgrVers *AS05
- Returns Display Manager version as INTEGER?.
-
- const
- gestaltDisplayMgrVers = 'dplv'; {Display Mgr version}
- dply (Display Enabler [1.0?])
- (System [7.1.1])
- gestaltDisplayMgrAttr *AS05
- Returns information about the Display Manager.
-
- const
- gestaltDisplayMgrAttr = 'dply'; {Display Mgr attributes}
- gestaltDisplayMgrPresent = 0; {True if Display Mgr is present}
- gestaltDisplayMgr??? = 1;
- gestaltDisplayMgr??? = 2;
- drag (Macintosh Drag and Drop ext [1.0])
- gestaltDragMgrAttr *AD05
- Returns information about the Drag Manager.
-
- const
- gestaltDragMgrAttr = 'drag'; {Drag Manager attributes}
- gestaltDragMgrPresent = 0; {Drag Manager is present}
- gestaltDragMgrFloatingWind = 1; {*AS09}
- gestaltPPCDragLibPresent = 2; {*AS09}
- gestaltDragMgr??? = 31; {set with System 7.5}
- dsig (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltDigitalSignatureVersion
- Returns version of the Digital Signature toolbox as BCD.
-
- const
- gestaltDigitalSignatureVersion = 'dsig'; {Digitial Signature version}
- eajt (Easy Access cp [7.0])
- gestaltEasyAccessJTable
- Returns the base address of the Easy Access jump-trap table.
-
- const
- gestaltEasyAccessJTable = 'eajt'; {Easy Access jump-trap table *M01}
- easy (Easy Access cp [6.0.4?])
- gestaltEasyAccessAttr
- Returns information about the status of Easy Access.
-
- const
- gestaltEasyAccessAttr = 'easy'; {Easy Access attributes}
- gestaltEasyAccessOff = 0; {Easy Access present but off}
- gestaltEasyAccessOn = 1; {Easy Access on}
- gestaltEasyAccessSticky = 2; {Easy Access "Sticky"}
- gestaltEasyAccessLocked = 3; {Easy Access "Locked"}
-
- NOTE:
- The values listed above are not returned with System 7 and later.
- Because of a bug different values are returned. This problem is
- acknowledged by Apple, but it is unclear when it will be fixed. They
- know about it since September 1992... (Rene Ros)
- edtn (System [7.0])
- (Macintosh Easy Open cp [1.0?])
- gestaltEditionMgrAttr
- Returns information about the Edition Manager.
-
- const
- gestaltEditionMgrAttr = 'edtn'; {Edition Mgr attributes}
- gestaltEditionMgrPresent = 0;
- gestaltEditionMgrTranslationAware = 1; {*AD03}
- evnt (System [7.0]) *AS05
- (Apple Event Manager ext [1.0.1], part of AppleScript Setup)
- gestaltAppleEventsAttr
- Returns information about Apple Events.
-
- const
- gestaltAppleEventsAttr = 'evnt'; {Apple events attributes}
- gestaltAppleEventsPresent = 0; {True if Apple Events present}
- { *AS05}
- gestaltScriptingSupport = 1;
- gestaltOSLInSystem = 2; {OSL is in system so don`t use}
- { the one linked}
-
- NOTE:
- These declarations in the AEObjects.h file (on ETO 14) should be
- ignored:
- gestaltObjectSupportLibraryInSystem = 1,
- gestaltObjectSupportLibraryPowerPCSupport = 2
- flag (Network Extension ext [System 7.0 *AT02])
- gestaltFlagshipAttr
- Returns information about the Flagship.
-
- const
- gestaltFlagshipAttr = 'flag'; {*M01}
- gestaltFlagshipPresent = 0; {*M01}
- gestaltFlagshipRegistered = 1; {*M01}
- fndr (Finder [7.1.1]) *AS04
- gestaltFinderAttr
- Returns information about the Finder.
-
- const
- gestaltFinderAttr = 'fndr';
- gestaltFinderDropEvent = 0;
- gestaltFinderMagicPlacement = 1;
- gestaltFinderCallsAEProcess = 2;
- gestaltOSLCompliantFinder = 3; {supports Finder Event Suite}
- gestaltFinderSupports4GBVolumes = 4;
- gestaltFinderHandlesCFMFailures = 5;
- gestaltFinderHasClippings = 6; {*AD12}
- fold (System [7.0])
- gestaltFindFolderAttr
- Returns information about the FindFolder function.
-
- const
- gestaltFindFolderAttr = 'fold'; {FindFolder attributes}
- gestaltFindFolderPresent = 0; {FindFolder function available}
- font (System [7.0])
- (TrueType INIT ext for System 6)
- gestaltFontMgrAttr
- Returns information about the Font Manager.
-
- const
- gestaltFontMgrAttr = 'font'; {Font Mgr attributes}
- gestaltOutlineFonts = 0;
- gestaltFontMgr??? = 1; {set with System 7.1 & 7.5}
- gestaltDiskCachedFonts? = 2; {Disk Cached Fonts available?}
-
- NOTE:
- Inside the Inline Extension 1.0 with KanjiTalk7, which was compiled
- with full subroutine names, there is a subroutine called
- 'DiskChachedFontsAvailable' in an INIT resource which checks bit 2
- of the gestaltFontMgrAttr selector response. (Marco Piovanelli)
- fpu (System [6.0.4])
- gestaltFPUType
- Returns a value that indicates the FPU-type, if any.
-
- const
- gestaltFPUType = 'fpu '; {FPU Type}
- gestaltNoFPU = 0; {no FPU}
- gestalt68881 = 1; {68881 FPU}
- gestalt68882 = 2; {68882 FPU}
- gestalt68040FPU = 3; {built-in 68040 FPU *S01}
-
- NOTE: See also the 'FPUE' entry with the Third Parties section.
- fs (720K Floppy Disk Formatter ext [1.0a3?],
- part of the Hardware System Update [2.0])
- (Apple Share ext [AS 3.0/SYS 7.0])
- (File System Manager ext [1.2])
- (System [7.0])
- gestaltFSAttr
- Returns information about the file system.
-
- const
- gestaltFSAttr = 'fs '; {file-system attributes}
- gestaltFullExtFSDispatching = 0; {exports HFSDispatch traps}
- gestaltHasFSSpecCalls = 1; {supports FSSpec records}
- gestaltHasFileSystemManager = 2; {has the File System Manager}
- { *S01}
- gestaltFSMDoesDynamicLoad = 3; {FSM supports dynamic loads}
- { *AD12}
- gestaltFSSupports4GBVols = 4; {FS supports 4 gigabyte volumes}
- { *AD14}
- gestaltFSSupports2TBVols = 5; {FS supports 2 terabyte volumes}
- { *AD14}
- gestaltHasExtendedDiskInit = 6; {has extended Disk}
- { Initialization calls *AD12}
-
- NOTES:
- See 'Reports' chapter (QuickTime section) for more information.
- fxfr (System [7.0])
- gestaltFXfrMgrAttr
- Returns information about the File Transfer Manager.
-
- const
- gestaltFXfrMgrAttr = 'fxfr'; {File Transfer Mgr attributes}
- gestaltFXfrMgrPresent = 0; {File Transfer Mgr present}
- gestaltFXfrMgrMultiFile = 1; {supports FTSend and FTReceive}
- { *AS02}
- gestaltFXfrMgrErrorString = 2; {supports FTGetErrorString}
- { *AS02/S02}
- gestaltFXfrMgr??? = 3?; {new, see future technote}
- { set with System 7.5}
-
- Apple System Software (G-L)
- ---------------------------
- gval (GestaltValue glue code)
- gestaltValueTable?
- Returns a pointer to a table with the selectors and values managed
- by the GestaltValue code. (Marco Piovanelli)
-
- const
- gestaltValueTable? = 'gval';
-
- WARNING:
- Although this information isn't officially confirmed, it is probably
- correct.
-
- NOTES:
- Although System 7.5 implements the GestaltValue functions it does not
- install this selector. Only with system software before 7.5 it is
- installed by the glue code. (Rene Ros)
-
- See 'Reports' chapter (GestaltValue section) for more information.
- hdwr (System [6.0.4]) INF
- gestaltHardwareAttr
- Returns information about the hardware configuration of the machine.
-
- const
- gestaltHardwareAttr = 'hdwr'; {hardware attributes}
- gestaltHasVIA1 = 0; {VIA 1}
- gestaltHasVIA2 = 1; {VIA 2}
- gestaltHasRBV = 2; {RBV *M01}
- gestaltHasASC = 3; {ASC}
- gestaltHasSCC = 4; {SCC *M01}
- gestaltHasOSS = 5; {OSS *M01}
- gestaltHasSCSIDMA = 6; {53C80 SCSI DMA *M01}
- gestaltHasSCSI = 7; {SCSI}
- gestaltHasSWIMIOP = 8; {SWIM IOP *M01}
- gestaltHasSCCIOP = 9; {SCC IOP *M01}
- gestaltHasFitch = 10; {Fitch memory Controller *M02}
- gestaltHasIWM = 11; {IWM *M01}
- gestaltHasPWM = 12; {PWM disk speed buffer *M02}
- gestaltHasRAMSndBuff = 13; {RAM-based sound buffer *M02}
- gestaltHasVideoDAConv = 14; {Video D/A Converter *M02}
- gestaltHasPGC = 15; {PGC (parity control) *M02}
- gestaltHasRPU? = 16; {Random Parity Unit}
- gestaltHasOMC? = 17; {Orwell Memory Controller}
- gestaltHasVISARBV? = 18; {VISA Ram Based Video}
- gestaltHasSoftPowerOff = 19; {Software PowerOff (since 7.0?) *S01}
- gestaltHasSonic = 20; {Sonic (built-in ethernet) *M01}
- gestaltHasSCSI961 = 21; {Int. 53C96 SCSI *AT01}
- gestaltHasSCSI962 = 22; {Ext. 53C96 SCSI *AT01}
- gestaltHasDAFBVideo = 23; {DAFB Video *M01}
- gestaltHasUniversalROM = 24; {Universal ROM *AT04}
- gestaltHas??? = 27; {set on PowerMac and C660AV}
- gestaltHasDSP? = 30; {set on C660AV, DSP?}
- gestaltHasDSP? = ??; {Digital Signal Processor}
- gestaltHasEASC? = ??; {Enhanced Apple Sound Chip}
- gestaltHasFWSCSI? = ??; {Fast and Wide SCSI}
- gestaltHasGraphic? = ??; {Apple Graphics coprocessor}
- gestaltHasJaws? = ??; {JMC}
- gestaltHasSCSI2? = ??; {SCSI 2}
-
- NOTES:
- See for additional information the TN "M.OV.GestaltSysenvirons" (OV 16).
-
- On the Mac IIfx and Quadra 900 the gestaltHasSCC bit always returns 0
- because the SCC is isolated by I/O processors. When the Compatibility
- Switch control panel is used the bit is set. *AD12
-
- The old IM VI listed this selector as an environmental selector but
- IM OS Utilities now lists it as an informational selector.
- help (System [7.0])
- gestaltHelpMgrAttr
- Returns information about the Help Manager.
-
- const
- gestaltHelpMgrAttr = 'help'; {Help Mgr attributes}
- gestaltHelpMgrPresent = 0; {Help Mgr present}
- gestaltHelpMgrExtensions = 1; {Help Mgr extensions installed}
- { *AS03}
- gestaltAppleGuideIsDebug = 30; {Apple Guide is debugging version}
- { *AS12}
- gestaltAppleGuidePresent = 31; {Apple Guide is available *AS12}
- hscd (High Sierra File Access ext [5.0], part of Apple CD-ROM Software and
- System 7.5)
- (ISO 9660 File Access ext [1.0-4.0], part of Apple CD-ROM Software)
- gestaltHighSierraFAVersion? *AT03
- Returns High Sierra File Access version in BCD.
-
- const
- gestaltHighSierraFAVersion? = 'hscd'; {High Sierra Fileaccess version}
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
- icmp (QuickTime ext [1.0])
- gestaltCompressionMgr
- Returns Compression Manager version as Integer.
-
- const
- gestaltCompressionMgr = 'icmp'; {determines if Image Compression}
- { manager is available *AS01}
- icon (System [7.1.2])
- gestaltIconUtilities
- Returns information about the Icon Utilities routines.
-
- const
- gestaltIconUtilities = 'icon'; {Icon Utils attributes}
- gestaltIconUtilitiesPresent = 0;
-
- NOTE:
- This selector is supposed to be implemented since System 7.1.2. You
- need to determine if the _IconDispatch A-trap ($AB49) is available
- instead since the Icon Utilities are actually available since
- System 7.0. *AD13/AT01
- intd (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0])
- gestaltInternalDiskAttr?
- Returns information about the internal harddisk of portable
- computers?
-
- const
- gestaltInternalDiskAttr? = 'intd'; {PB Internal HD attributes}
- gestaltHasInternalDisk? = 0; {TRUE if machine has internal HD}
- gestaltDiskSpinning? = 1; {TRUE if internal HD is spon up}
- gestalt??? = 24; {unknown, set on PB180, PB210,}
- { PB540}
-
- WARNING:
- This information is from a reliable source. However, is it not
- officially confirmed by Apple and there are no constants defined.
-
- NOTE:
- On a PB Duo 210 (PowerBook Duo Enabler) I haven't seen bit 1 set, even
- when the disk is spinning. It is also reported the bit is clear when
- the disk is spinning and set when down (seen on PB Duo 230).
- (David Lewis, Rene Ros)
- iscd (ISO 9660 File Access ext [5.0], part of Apple CD-ROM Software and
- System 7.5)
- gestaltISO9660FAVersion?
- Returns ISO 9660 File Access version in BCD?.
-
- const
- gestaltISO9660FAVersion? = 'iscd';
-
- NOTE:
- Versions before 5.0 installed the 'hscd' selector.
- kbd (System [6.0.4])
- gestaltKeyboardType
- Returns a value that indicates the type of keyboard on which the last
- keystroke was seen.
-
- const
- gestaltKeyboardType = 'kbd '; {keyboard type}
- gestaltMacKbd = 1; {Macintosh Keyboard}
- gestaltMacAndPad = 2; {Macintosh Keyboard with Pad}
- gestaltMacPlusKbd = 3; {Macintosh Plus Keyboard}
- gestaltExtADBKbd = 4; {Extended ADB Keyboard}
- gestaltStdADBKbd = 5; {Standard ADB Keyboard}
- gestaltPrtblADBKbd = 6; {Portable ADB Keyboard}
- gestaltPrtblISOKbd = 7; {Portable ISO ADB Keyboard}
- gestaltStdISOADBKbd = 8; {Standard ISO ADB Keyboard}
- gestaltExtISOADBKbd = 9; {Extended ISO ADB Keyboard}
- gestaltADBKbdII = 10; {ADB Keyboard II}
- gestaltADBISOKbdII = 11; {ISO ADB Keyboard II}
- gestaltPwrBookADBKbd = 12; {PowerBook Keyboard *AT01}
- gestaltPwrBookISOADBKbd = 13; {PowerBook Keyboard (ISO) *AT01}
- gestaltAppleAdjustKeypad = 14; {Apple Adjustable Keypad *AT01}
- gestaltAppleAdjustADBKbd = 15; {Apple Adjustable Keyboard}
- { incl. US, ISO and Japanese *AT01}
- gestaltUnknownKbd1??? = ??; {new AppleDesign extended kbd.}
- gestaltUnknownKbd2??? = 24; {reported to be returned on}
- { PB 5xx other report says these}
- { return 11}
-
- ======================================================================
- Combinations of System Global KbdType/ADB Mgr devType and
- gestaltKeyboardType values *AT01
- ======================================================================
- KbdType gestaltKeyboardType Gestalt Name
- (hex.) (decimal)
- ----------------------------------------------------------------------
- $03 1 gestaltMacKbd
- $13 2 gestaltMacAndPad
- $0B 3 gestaltMacPlusKbd
- $02 4 gestaltExtADBKbd
- $01 5 gestaltStdADBKbd
- $06 6 gestaltPrtblADBKbd
- $07 7 gestaltPrtblISOKbd
- $04 8 gestaltStdISOADBKbd
- $05 9 gestaltExtISOADBKbd
- $08 10 gestaltADBKbdII
- $09 11 gestaltADBISOKbdII
- $0C 12 gestaltPwrBookADBKbd
- $0D 13 gestaltPwrBookISOADBKbd
- $0E 14 gestaltAppleAdjustKeypad
- $10 15 gestaltAppleAdjustADBKbd, US
- $11 15 gestaltAppleAdjustADBKbd, ISO
- $12 15 gestaltAppleAdjustADBKbd, Japanese
- ----------------------------------------------------------------------
-
- NOTES:
- The Apple Adjustable Keyboard doesn't has its own Gestalt keyboard
- type defined with the some versions of System Software (7.1?). It
- changes a low memory global but this doesn't change the Gestalt
- response. This problem is corrected by the Hardware System Update 2.0
- or later.
-
- The PowerMac 7100/66 doesn't install this selector for some reason.
- Other Macs with Gestalt version 4 do, so it isn't intentional.
-
- Since this selector returns the type of the keyboard last touched
- and because there can be more than one keyboard, MacDTS considers this
- selector to be obsolete. You should use GetADBInfo instead and check
- the orgADBAddr field for a keyboard (0x02) and the devType field
- contains the keyboard device type. It uses the same values as the
- KbdType low memory variable, see the table above. *AD07/AT01
- kpcd (Apple Photo Access ext [1.0], part of Apple CD-ROM Software) *AT03
- gestaltApplePhotoAccessVersion?
- Returns Apple Phote Access version in BCD.
-
- const
- gestaltApplePhotoAccessVersion? = 'kpcd';
-
- NOTE:
- The above is what the documentation says. However it seems to return
- always $FFFFFF7 as response.
- lram (System [6.0.4])
- (RAM Doubler [1.0] by Connectix Corporation)
- gestaltLogicalRAMSize
- Returns the amount of logical memory available in bytes.
-
- const
- gestaltLogicalRAMSize = 'lram'; {logical RAM size}
- lmem (System [6.0.4])
- gestaltLowMemorySize
- Returns the amount of the low-memory area in bytes.
-
- const
- gestaltLowMemorySize = 'lmem'; {low-memory area size}
-
- Apple System Software (M-P)
- ---------------------------
- mach (System [6.0.4]) INF
- gestaltMachineType
- Returns one of the following values, indicating the type of
- machine.
-
- RELEASED
- const
- gestaltMachineType = 'mach'; {machine type}
- gestaltClassic = 1; {Macintosh 128K}
- gestaltMacXL = 2; {Macintosh XL}
- gestaltMac512KE = 3; {Macintosh 512KE}
- gestaltMacPlus = 4; {Macintosh Plus}
- gestaltMacSE = 5; {Macintosh SE}
- gestaltMacII = 6; {Macintosh II}
- gestaltMacIIx = 7; {Macintosh IIx}
- gestaltMacIIcx = 8; {Macintosh IIcx}
- gestaltMacSE030 = 9; {Macintosh SE/30}
- gestaltPortable = 10; {Macintosh Portable}
- gestaltMacIIci = 11; {Macintosh IIci}
- gestaltMacIIfx = 13; {Macintosh IIfx}
- gestaltMacClassic = 17; {Macintosh Classic}
- gestaltMacIIsi = 18; {Macintosh IIsi}
- gestaltMacLC = 19; {Macintosh LC}
- gestaltQuadra900 = 20; {Macintosh Quadra 900 *AT01}
- gestaltPowerBook170 = 21; {Macintosh PowerBook 170 *AT01}
- gestaltQuadra700 = 22; {Macintosh Quadra 700 *AT01}
- gestaltClassicII = 23; {Macintosh Classic II *AT01}
- gestaltPowerBook100 = 24; {Macintosh PowerBook 100 *AT01}
- gestaltPowerBook140 = 25; {Macintosh PowerBook 140 *AT01}
- gestaltQuadra950 = 26; {Macintosh Quadra 950 *AT01}
- gestaltMacLCIII = 27; {Macintosh LC III}
- gestaltPowerBook210 = 29; {Macintosh PowerBook 210}
- gestaltMacCentris650 = 30; {Macintosh Centris 650}
- gestaltPowerBook230 = 32; {Macintosh PowerBook 230}
- gestaltPowerBook180 = 33; {Macintosh PowerBook 180}
- gestaltPowerBook160 = 34; {Macintosh PowerBook 160}
- gestaltMacQuadra800 = 35; {Macintosh Quadra 800}
- gestaltMacQuadra650 = 36; {Macintosh Quadra 650 *AT01}
- gestaltMacLCII = 37; {Macintosh LC II}
- gestaltPowerBookDuo250 = 38; {Macintosh PowerBook Duo 250 *AT01}
- gestaltPowerMac9150 = 39; {Power Macintosh 9150 *AT01}
- gestaltPowerMac8100_110? = 40; {Power Macintosh 8100/110}
- gestaltMacIIvi = 44; {Macintosh IIvi}
- gestaltPerforma600 = 45; {Macintosh Performa 600}
- gestaltMacIIvx = 48; {Macintosh IIvx}
- gestaltMacColorClassic = 49; {Macintosh Color Classic}
- gestaltPowerBook165c = 50; {Macintosh PowerBook 165c}
- gestaltMacCentris610 = 52; {Macintosh Centris 610}
- gestaltMacQuadra610 = 53; {Macintosh Quadra 610 *AT01}
- gestaltPowerBook145 = 54; {Macintosh PowerBook 145 & 145b}
- { *AT01}
- gestaltMacLC520 = 56; {Macintosh LC 520 *AT01}
- gestaltMacCentris660AV = 60; {Macintosh Centris 660AV *AT01}
- gestaltPerforma460 = 62; {Macintosh Performa 460}
- gestaltPowerMac8100_80 = 65; {Power Macintosh 8100/80}
- gestaltPowerBook180c = 71; {Macintosh PowerBook 180c *AT01}
- gestaltPowerBook520_540 = 72; {Macintosh PowerBook 520, 520c,}
- { 540 & 540c}
- { use MaximumProcessorSpeed from}
- { Power Mgr. 25 and 33 resp. *AT01}
- gestaltPowerMac6100_60 = 75; {Power Macintosh 6100/60}
- gestaltPowerBookDuo270c = 77; {Macintosh PowerBook Duo 270c}
- { *AT01}
- gestaltMacQuadra840AV = 78; {Macintosh Quadra 840AV *AT01}
- gestaltMacLC550 = 80; {Macintosh LC 550 *AT01}
- gestaltPowerBook165 = 84; {Macintosh PowerBook 165 *AT01}
- gestaltMacTV = 88; {Macintosh TV}
- gestaltMacLC475 = 89; {Macintosh LC 475 *AT01}
- gestaltMacLC575 = 92; {Macintosh LC 575 *AT01}
- gestaltMacQuadra605 = 94; {Macintosh Quadra 605 *AT01}
- gestaltMacLC630 = 98; {Macintosh LC 630, see below *AT01}
- gestaltMacQuadra630 = 98; {Macintosh Quadra 630 *AT01}
- { Q630 has MC68040, LC 630 has}
- { MC68LC040 but can upgrade}
- gestaltPowerBookDuo280 = 102; {Macintosh PowerBook Duo 280}
- gestaltPowerBookDuo280c = 103; {Macintosh PowerBook Duo 280c}
- gestaltPowerMac7100_66 = 112; {Power Macintosh 7100/66}
- gestaltPowerBook150 = 115; {Macintosh PowerBook 150}
- gestaltPowerMacQ700? = 116; {Quadra 700 upgrade card?}
- gestaltPowerMacQ900? = 117; {Quadra 900 upgrade card?}
- gestaltPowerMacQ950? = 118; {Quadra 950 upgrade card?}
- gestaltPowerMacC610? = 119; {Centris 610 upgrade card?}
- gestaltPowerMacC650? = 120; {Centris 650 upgrade card?}
- gestaltPowerMacQ610? = 121; {Quadra 610 upgrade card?}
- gestaltPowerMacQ650? = 122; {Quadra 650 upgrade card?}
- gestaltPowerMacQ800? = 123; {Quadra 800 upgrade card?}
-
- Exceptions with systems prior to System 7.1:
- const
- gestaltMacLCII = 19; {Macintosh LC & LC II}
- { LC has MC68020,LC II has MC68030}
- gestaltPowerBook145 = 25; {Macintosh PowerBook 140 & 145}
- { use GetCPUSpeed from}
- { Power Mgr? 16 and 25 resp.}
-
- Released unknown
- At the moment there are no released Macintosh models of which the
- machine ID is unknown.
-
- Relabeled
- Performa 200 = gestaltClassicII
- Performa 250 = gestaltMacColorClassic
- (sold in Australia & Britain)
- Performa 400 = gestaltMacLCII
- Performa 405 = gestaltMacLCII
- Performa 410 = gestaltMacLCII
- Performa 430 = gestaltMacLCII
- Performa 450 = gestaltMacLCIII
- Performa 466 = gestaltMacLCIII
- Performa 467 = gestaltMacLCIII
- Performa 475 = gestaltMacLC475
- Performa 476 = gestaltMacLC475
- Performa 550 = gestaltMacLC550
- Performa 560MM = gestaltMacLC550
- Performa 575 = gestaltMacLC575
- Performa 577 = gestaltMacLC575
- Performa 578 = gestaltMacLC575
- Performa 600 = gestaltMacIIvx
- Performa 630 = gestaltMac630?
- Performa 635 = gestaltMac630?
- Performa 636 = gestaltMac630?
- Performa 638CDV = gestaltMac630?
- Performa 6110CD = gestaltPowerMac6100_60
- Performa 6112CD = gestaltPowerMac6100_60
- Performa 6115CD = gestaltPowerMac6100_60
- Performa 6117CD = gestaltPowerMac6100_60
- Performa 6118CD = gestaltPowerMac6100_60
- PowerMac 6100/60AV = gestaltPowerMac6100_60
- PowerMac 7100/66AV = gestaltPowerMac7100_66
- PowerMac 8100/80AV = gestaltPowerMac8100_80
- PowerMac WGS 6150 = gestaltPowerMac6100_60 ?
- PowerMac WGS 8150 = gestaltPowerMac8100_80 ?
- PowerMac WGS 9150 = gestaltPowerMac9150
- Quadra 660AV = gestaltMacCentris660AV
- Workgroup Server 60 = gestaltMacCentris610
- Workgroup Server 80 = gestaltMacQuadra800
- Workgroup Server 95 = gestaltQuadra950
- Workgroup Server 95+ = gestaltQuadra950
-
- UNRELEASED (RUMOURED / PRERELEASES)
- const
- gestaltPaulaMac? = 31; {"Paula's Desk Macintosh" in}
- { PowerPC Enabler 1.1}
- gestaltUnknownLC475? = 90; {Q605 as a LC475 at 33 Mhz instead}
- { of 25 Mhz}
- gestaltQ605_20? = 93; {Q605 at 20 Mhz instead of 25 Mhz}
- gestaltQ605_33? = 95; {Q605 at 33 Mhz instead of 25 Mhz}
- gestaltTellShow = 98; {codename for LC630? *AD16}
- gestaltUnknownMac? = 99; {???, 'Macintosh' in Enabler 405}
- gestaltTellXfmr = 99; {codename LC630 successor? *AD16}
- gestaltPowerMac6100_66? = 46; {Power Macintosh 6100/66?}
- gestaltPowerMac6100_66? = 100; {Power Macintosh 6100/66?}
- gestaltPowerMac6100_80? = 101; {Power Macintosh 6100/80}
- gestaltPowerMac7100_60? = 111; {Power Macintosh 7100/60}
- gestaltPowerMac7100_80? = 47; {Power Macintosh 7100/80?}
- gestaltPowerMac7100_80? = 113; {Power Macintosh 7100/80?}
- gestaltPowerMac8100_60? = 61; {Power Macintosh 8100/80 when}
- { actually running at 60 MHz}
- { (value found experimentally)}
- gestaltPowerMac8100_60? = 64; {Power Macintosh 8100/60 but also}
- { Power Macintosh 8100/80 when}
- { actually running at 66.6 MHz}
- { (value from PowerPC Enabler)}
- gestaltPowerMac8100_100? = 55; {Power Macintosh 8100/100?}
- gestaltPowerMac8100_100? = 66; {Power Macintosh 8100/100?}
- gestaltPowerMac8100_120 = 12; {Power Macintosh 8100/120}
-
- Unreleased unknown
- const
- gestaltPomona??? = ???; {unknown, codename Pomona?}
- Pomona is probably the codename of a new line of home and business
- machines scheduled for early 1995, with three models:
- gestalt??? = ???
- gestalt??? = ???
- gestalt??? = ???
- gestalt??? = 43; {unknown, pre-rel. Tempest/Cyclone}
- gestaltAlchemy? = ???; {unknown, codename Alchemy}
- gestaltCatalyst? = ???; {unknown, codename Catalyst}
- gestaltNitro? = ???; {unknown, codename Nitro}
- gestaltPowerBookDuo2300? = ???; {PowerBook Duo 2300 (or AJ?) with}
- {PPC 603? (May 95)}
- gestaltPowerBookDuo2300c?= ???; {PowerBook Duo color (or AJc?) with
- { PPC 603? (May 95)}
- gestaltPowerBook603? = ???; {Macintosh PowerBook with PPC 603?}
- { June 95}
- gestaltTNTPowerMacsHP? = ???; {TNT PowerMac, High Perf.?}
- gestaltTNTPowerMacsGW? = ???; {TNT PowerMac, Graphics Workstation?}
- gestaltTsunami? = ???; {unknown, codename Tsunami}
-
- Relabeled
- -
-
- NOTES:
- The Power Macintosh computers also set the three low bits of a 32-bit
- register at address $5FFF FFFC to a machine identification code.
-
- ======================================================================
- Power Macintosh register identification codes
- ======================================================================
- Machine Register bits
- ----------------------------------------------------------------------
- Power Macintosh 6100 000
- Power Macintosh 7100 010
- Power Macintosh 8100 011
- ----------------------------------------------------------------------
-
- An upgraded Centris 610 doesn't return 119 (Centris 610 upgrade card?)
- but 75 (PowerMac 6100). (Carl R. Osterwald)
- With an upgraded Quadra 700 the upgrade card value is returned. The
- values for the upgrade cards came from the kMachineNameStrID resource
- from the Power Mac Upgrade Card enabler distributed with System
- Update 3.0 on disk 2. The Power Macintosh Card 1.0 control panel
- checks both the Quadra/Centris machine IDs and the ones for the
- upgrade cards to determine if it can run. (Rene Ros)
-
- When a PowerMac is clock-chipped it changes the machine type ID it
- returns. This has been observed with a PM 6100/60 which was chipped to
- 80 MHz and higher, it returned 101 which belongs to a PM 6100/80
- (Mike Cohen). Even funnier is a 8100AV (standard at 80 MHz) which
- returns 64 ("8100/60") with a clockspeed of 66.6 MHz, but 61 (???)
- and no name in the 'About this Macintosh' window at 60 MHz.
- - Centris 650 can be changed into a Quadra 650 by a resistor swap.
- - remove jumper J118 of Q605 and it becomes a LC475.
- - LC III/P450 returns value for P460 when chipped to 33 MHz.
- For more info on clock-chipping Macs:
- http://bambam.cchem.berkeley.edu/~schrier/mhz.html
- (Marc Schrier, the 'clock-chipping' guy who was experimenting a bit
- but most of the time he is speeding them up...).
-
- The Machine Name STR# resource in the PowerPC Enabler 1.1 contains
- this:
- items 1-66 contain the item number itself except:
- 12 Power Macintosh 8100/120
- 31 Paula's Desk Macintosh
- 39 Workgroup Server 9150
- 40 Power Macintosh 8100/110
- 46 Power Macintosh 6100/66
- 47 Power Macintosh 7100/80
- 55 Power Macintosh 8100/100
- 64 Power Macintosh 8100/60
- 65 Power Macintosh 8100/80
- 66 Power Macintosh 8100/100
- items 67-115 are empty except:
- 75 Power Macintosh 6100/60
- 100 Power Macintosh 6100/66
- 101 Power Macintosh 6100/80
- 111 Power Macintosh 7100/60
- 112 Power Macintosh 7100/66
- 113 Power Macintosh 7100/80
- items 116-123 contain the text " Power Macintosh"
- "Paula's Desk Macintosh" disappeared again with version 1.1.1 of the
- PowerPC enabler! :-)
-
- The Performa 600 was originally planned to ship as Macintosh IIvm
- but the name was changed because users thought 'vm' meant 'Virtual
- Memory'. MOST system enablers (i.e. 001, 040, 065 & 201) still
- contain this original name.
-
- The Developer Notes (available from APDA, on ftp.apple.com and on the
- Developer CD-ROM Series) about some PowerBook models (100/140/170)
- provide incorrect information regarding the machine type returned by
- the Gestalt Manager.
-
- With the Universal Interfaces 2.0a1 a number of symbolic names for the
- types are added, but their correctness is unknown. These are:
- const
- gestaltPerforma450 = 27;
- gestaltAWS9150_80 = 39;
- gestaltMacIIvm = 45;
- gestaltPerforma250 = 49;
- gestaltPerforma46x = 62;
- gestaltPerforma550 = 80;
- gestaltPerforma47x = 89;
-
- You can use the returned value as an index with GetIndString
- to get the machine's name. The STR# resource ID is:
- kMachineNameStrID = -16395;
-
- On Macintosh Performas, the Machine Name STR# resource will always
- return the string "Macintosh" (not "Macintosh Performa 450" or
- "Performa 450"). On all other Macintoshes, the string will return
- the correct name. (Mark Dawson)
- [But] if you do a dirty install [of System 7.5 or later] (right on top
- of an existing, pre-7.5 System), your machine type and icon will be
- preserved. If you do a clean install, you'll get the generic name/icon
- in the Finder's "About This Macintosh..." dialog. (Tim Swihart)
- This can be fixed by using the freeware Mac Identifier extension from
- Flux Software, written by Maurice Volaski. See the 'Related Software'
- section of the 'General Info' chapter for availability. (Rene Ros)
- In the future ID's will be reused and the kMachineNameStrID will
- contain only the text ' Macintosh' (two spaces first) *AT01
- Why, oh why? (Rene Ros)
-
- All system enablers have a STR# resource -16395 (kMachineNameStrID)
- included to replace the one in the System file. In most cases this
- resource lists the same Macintosh names as the original one in
- System 7.1 and adds the names of the machines the enabler is intended
- for. But some only list the machines the enabler is used with.
- Therefore, if you want to display the name of a machine which isn't
- of the current machine type you can't rely on this resource anymore.
- Using the archive mail server you can obtain a ResEdit file with the
- complete machine name string resource. The command to use is
- archive get src/machname-str.sit.hqx
- I will keep it up-to-date along with the changes in this 'mach' entry.
- (Rene Ros)
-
- IM More Macintosh Toolbox (p. 1-127) lists this selector as
- 'gestaltMachineModel'.
-
- (Sources of relabled and unreleased machines:
- MacFacts Two by J.D.S. Babcock <jdsb@ee.duke.edu>;
- Duo FAQ by Nicholas C. De Mello <nick@pitt.edu>;
- MacWEEK magazine;
- TidBits magazine by Adam Engst & Co.)
- malr (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSMPMailerVersion
- Returns the SMP Mailer version as INTEGER.
-
- const
- gestaltSMPMailerVersion = 'malr'; {SMP Mailer version}
- micn (System [6.0.4]) INF
- gestaltMachineIcon
- Returns an icon family resource ID for the current type of
- Macintosh.
-
- const
- gestaltMachineIcon = 'micn'; {machine ICON/cicn res ID}
-
- NOTE:
- The icon resource ID returned is based on the gestaltMachineType
- response which is used as index into a table. This table of
- resource IDs differs for most System Software versions (and
- enablers). If you really want to know the icon resource ID of a
- machine which is not the current machine you have the following
- options:
- - Write a GDEF to replace the 'mach' selector, let this GDEF return
- the original gestaltMachineType unless a certain selector exists.
- Create this selector with the GestaltValue code and make it loop
- from 1 to the number of items in the STR# kMachineNameStrID
- resource, let the custom GDEF return this as the machine type so
- the gestaltMachineIcon selector will use this to look up the icon
- resource ID. Then remove the GestaltValue selector and restore the
- original gestaltMachineType selector.
- - Get the entrypoint of the gestaltMachineIcon GDEF, jump into the
- GDEF a few bytes further (and thus skipping the gestalt call using
- the gestaltMachineType selector), emulate a genuine call to Gestalt
- by setting the A0 (response, the machineType you want) and
- D0 (result) registers correct.
- - Determine the start of the table, which is located in memory before
- the entrypoint of the gestaltMachineIcon GDEF code, and calculate
- the offset to the icon resource ID you need. If you want code which
- does this, you can contact me (Rene Ros) an I will sent you some
- Pascal source code.
- (David Greenspon, Michael Hecht and Rene Ros)
-
- It appears as if this selector returns always the ID of the general
- Macintosh icon (like in the Welcome screen), starting with System 7.5.
- (Rene Ros)
- misc (System [6.0.5])
- gestaltMiscAttr
- Returns information about miscellaneous pieces of software or
- hardware.
-
- const
- gestaltMiscAttr = 'misc'; {miscellaneous attributes}
- gestaltScrollingThrottle = 0;
- gestaltBootGlobals = 1; {Boot Globals *M02}
- gestaltSquareMenuBar = 2;
- mixd (System? [7.1.2?])
- gestaltMixedModeAttr
- Returns information about the Mixed Mode Manager.
-
- const
- gestaltMixedModeAttr = 'mixd'; {Mixed Mode Mgr attributes}
- gestaltPowerPCAware = 0; {True if MMMgr Supports PowerPC}
-
- NOTE:
- IM OS Utilities lists the 'mixd' selector as 'gestaltMixedModeVersion'
- but I don't believe that... (Rene Ros)
- mmu (System [6.0.4])
- gestaltMMUType
- Returns a value that indicates the type of MMU currently installed,
- if any.
-
- const
- gestaltMMUType = 'mmu '; {MMU Type}
- gestaltNoMMU = 0; {no MMU}
- gestaltAMU = 1; {AMU}
- gestalt68851 = 2; {68851 MMU}
- gestalt68030MMU = 3; {built-in 68030 MMU}
- gestalt68040MMU = 4; {built-in 68040/68LC040 *S01}
- gestaltEMMU1 = 5; {Emulated MMU type 1, PowerPC MMU *AS05}
- mtcp (MacTCP cp [1.1])
- gestaltMacTCPAttr? *AD01
- Returns the version of MacTCP, if opened, as index-value.
-
- ====================
- MacTCP responses
- ====================
- Version Response
- --------------------
- 1.1 1
- 1.1.1 2
- 2.0.x 3
- --------------------
-
- If MacTCP is not opened a value of 0 is returned.
- No constants are defined with the documentation.
- nlup (System [7.0])
- gestaltStdNBPAttr
- Returns information about the call StandardNBP.
-
- gestaltStdNBPAttr = 'nlup'; {Standard NBP attributes}
- gestaltStdNBPPresent = 0;
- gestaltStdNBPSupportsAutoPosition = 1; {StandardNBP takes (-1,-1)}
- { for auto-positioning}
- nmgr (System [6.0.5])
- gestaltNotificationMgrAttr
- Returns information about the Notification Manager.
-
- const
- gestaltNotificationMgrAttr = 'nmgr'; {Notification Mgr attributes}
- gestaltNotificationPresent = 0;
- nubs (System [6.0.4, 6.0.5, 6.0.7, discontinued])
- gestaltNuBusSlotCount
- Returns count of NuBus slots.
-
- const
- gestaltNuBusSlotCount = 'nubs'; {NuBus slot count}
- ocet (PowerTalk Manager ext [1.0?], part of PowerTalk)
- gestaltOCEToolboxVersion
- Returns the versions of the S&F Server and the OCE Toolbox as BCD.
-
- const
- gestaltOCEToolboxVersion = 'ocet'; {OCE Toolbox version}
- gestaltOCETB = $0102; {current OCE Toolbox version 1.0.2}
- gestaltSFServer = $0100; {current S&F Server version 1.0}
-
- NOTE:
- The high order word will represent the S&F Server version number, and
- the low order the OCE Toolbox version number both as BCD.
- These will be zero until the component is up and running.
- oceu (PowerTalk Manager ext [1.0?], part of PowerTalk)
- gestaltOCEToolboxAttr
- Returns information about the Open Colloboration Environment Toolbox.
-
- const
- gestaltOCEToolboxAttr = 'oceu'; {OCE Toolbox attributes}
- gestaltOCETBPresent = $1; {OCE toolbox is present,}
- { not running}
- gestaltOCETBAvailable = $2; {OCE toolbox is running and}
- { available}
- gestaltOCESFServerAvailable = $4; {S&F Server is running and}
- { available}
- gestaltOCTBNativeGlueAvailable = $10; {PowerPC glue available}
- { *AS13}
-
- NOTE:
- Any (future) remaining OCE attributes may not be established
- correctly until the attribute gestaltOCETBAvailable is set.
- os (System [6.0.4, 7.0 and later])
- (Process Manager INIT ext [???], part of ???)
- gestaltOSAttr
- Returns general information about the Operating System.
-
- const
- gestaltOSAttr = 'os '; {O/S attributes}
- gestaltSysZoneGrowable = 0;
- gestaltLaunchCanReturn = 1;
- gestaltLaunchFullFileSpec = 2;
- gestaltLaunchControl = 3;
- gestaltTempMemSupport = 4;
- gestaltRealTempMemory = 5;
- gestaltTempMemTracked = 6;
- gestaltIPCSupport = 7;
- gestaltSysDebuggerSupport = 8;
- gestaltSkiaGlobalsSwitched = 9; {*AS05}
- gestaltBgndMouseDownSupport = 10; {unnamed Process Mgr routine}
- { available to indicate if a}
- { layer switch is wanted by the}
- { application when one of its}
- { windows is clicked while in}
- { the background. *AS04}
- gestaltModernMemMgr? = 11; {on PowerPC, Modern Mem. Mgr?}
- gestalt??? = 13; {unknown, System 7.5}
- gestalt??? = 14; {unknown, System 7.5}
-
- NOTES:
- See the Process Manager chapter in IM Processes for more information
- about the launch control features. And the Memory Manager chapter in
- IM Memory about the memory features.
-
- More information on the unnamed routine which presence is indicated
- by the gestaltBgndMouseDownSupport bit can be found in the orginal
- email from Marco Piovanelli to the editor of the GSL. You can get a
- copy by emailing this command to the mail archive server:
- archive get src/bgndmouse.txt
-
- The header file which lists the gestaltSkiaGlobalsSwitched bit says
- this:
- /*gestaltSkiaGlobalsSwitched is #9. I don't know why it is not here*/
-
- "Skia" is the code name for QuickDraw GX (MacsBug uses it for trap
- $A832, which is the main QuickDraw GX trap).
- (Lawrence D'Oliveiro, Anonymous)
- ostt (System [6.0.8?])
- gestaltOSTable
- Returns the base address of the Operating System trap table.
-
- const
- gestaltOSTable = 'ostt'; {O/S trap table base}
- osyv (sysvINIT ext [???] by T. Tanaka, Apple Computer Japan Inc.) INF
- gestaltOldSystemVersion?
- Returns the version of the system file as BCD which was returned
- before sysvINIT replaced the gestalt definition with a corrected one.
-
- const
- gestaltOldSystemVersion? = 'osyv';
-
- NOTE:
- Because of a bug with KanjiTalk 6.0.7 this extension (snippet code,
- available on Developer CD-ROM Series) replaces the standard 'sysv'
- Gestalt Definition (GDEF) with a corrected one to return $0x0607 and
- installs the 'osyv' selector which uses the replaced gestalt
- definition. *M03
- pcxg (System? [???]) *AS04/AS05
- gestaltPCXAttr
- Returns information about PC Exchange.
-
- const
- gestaltPCXAttr = 'pcxg'; {PC Exchange attributes}
- gestaltPCXHas8and16BitFAT = 0; {PC Exchange supports both 8 and}
- { 16 bit FATs}
- gestaltPCXHasProDOS = 1; {PC Exchange supports ProDOS}
- pgsz (System [6.0.4])
- (RAM Doubler [1.0] by Connectix Corporation)
- gestaltLogicalPageSize
- Returns the logical page size in bytes.
-
- const
- gestaltLogicalPageSize = 'pgsz'; {logical page size}
-
- NOTE:
- The value is unknown on 68000 machines, Gestalt will return an error.
- pop! (System [7.0])
- gestaltPopupAttr
- Returns information about the pop-up control definition.
-
- const
- gestaltPopupAttr = 'pop!'; {pop-up CDEF attributes}
- gestaltPopupPresent = 0; {pop-up CDEF available}
- powr (System [6.0.4])
- gestaltPowerMgrAttr
- Returns information about the Power Manager, if present.
-
- const
- gestaltPowerMgrAttr = 'powr'; {Power Mgr attributes}
- gestaltPMgrExists = 0; {Power Mgr is present}
- gestaltPMgrCPUIdle = 1; {CPU can idle}
- gestaltPMgrSCC = 2; {can stop SCC clock}
- gestaltPMgrSound = 3; {can shut off sound circuits}
- gestaltPMgrDispatchExists = 4; {dispatch routines are present}
- ppc (System [7.0])
- gestaltPPCToolboxAttr
- Returns information about the capabilities of the PPC Toolbox.
-
- const
- gestaltPPCToolboxAttr = 'ppc '; {PPC Toolbox attributes}
- gestaltPPCToolboxPresent = $0x0000; {Requires PPCInit to be}
- { called}
- gestaltPPCSupportsIncoming = $0x0001; {Deny incoming net}
- { requests}
- gestaltPPCSupportsOutGoing = $0x0002; {Deny outgoing net}
- { requests}
- gestaltPPCSupportsRealTime = $0x1000; {Supports real-time}
- { delivery}
- gestaltPPCSupportsStoreAndForward = $0x2000; {Supports store and}
- { forward delivery}
- gestaltPPCSupportsDontCare = $0x4000; {Supports specification}
- { of Don't care}
-
- NOTE:
- The first thing that is confusing is that, unlike other selectors
- returning attributes, the responses are not bit values, but bit masks.
- This means you simply AND the value with the response to test the bit.
- The second thing that is confusing is how to interpret
- gestaltPPCToolboxPresent = $0x0000.
- What this means is that if the PPC toolbox is present, but has not
- been initialised (by calling PPCInit), then gestaltPPCToolboxAttr
- returns $0x0000. In reality, PPCInit gets called by the Process
- Manager before any applications get launched, so no applications will
- actually see this response. (Dave Radcliffe)
- proc (System [6.0.4])
- gestaltProcessorType
- Returns a value that indicates the type of processor that is
- currently running (or emulated on Power Macs or with MAE).
-
- const
- gestaltProcessorType = 'proc'; {processor type}
- gestalt68000 = 1; {MC68000}
- gestalt68010 = 2; {MC68010}
- gestalt68020 = 3; {MC68020}
- gestalt68030 = 4; {MC68030}
- gestalt68040 = 5; {MC68040 *S01}
-
- NOTES:
- The 68LC040 responds as type gestalt68040 but doesn't has an FPU. The
- user can swap out the 68LC040 and put in a real 68040 with FPU, so
- just checking the machineType or the processorType isn't enough.
- (Dave Radcliffe)
-
- Has there been a 68EC030 processor??? I assume it returns
- gestalt68030 but doesn't has a MMU. (Rene Ros)
-
- On a Power Macintosh the Gestalt function returns, although a 68LC040
- is emulated, the value gestalt68020. This return value is intended to
- highlight the two ways in which the 68LC040 Emulator more closely
- resembles a 68020 processor than a 68040 processor. *AD11
- prpv (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSDPPromptVersion
- Returns the SDP Prompt version as INTEGER.
-
- const
- gestaltSDPPromptVersion = 'prpv'; {SDP Prompt version}
- prty (System [6.0.4])
- gestaltParityAttr
- Returns information about the parity-checking abilities of the
- machine.
-
- const
- gestaltParityAttr = 'prty'; {parity attributes}
- gestaltHasParityCapability = 0;
- gestaltParityEnabled = 1;
-
- Apple System Software (Q-Z)
- ---------------------------
- qd (System [6.0.4])
- gestaltQuickDrawVersion
- Returns the version of QuickDraw currently present as 2-byte value.
-
- const
- gestaltQuickDrawVersion = 'qd '; {QuickDraw version}
- gestaltOriginalQD = $000; {obsolete?}
- gestaltOriginalQD1 = $001; {obsolete?}
- gestalt8BitQD = $100;
- gestalt32BitQD = $200;
- gestalt32BitQD11 = $210;
- gestalt32BitQD12 = $220;
- gestalt32BitQD13 = $230;
- gestalt32BitQD135? = $235; {with System 7.1.2, ROM = 3072K?}
-
- ======================================================================
- Possible Combinations of ROM Versions and System Software Versions
- ======================================================================
- ROM Class System Version Gestalt Value
- ----------------------------------------------------------------------
- Black-and-white class < 7.0 gestaltOriginalQD
- (ROM < 256K) >= 7.0 gestaltOriginalQD and
- gestaltSystemVersion >= $0700
-
- Color QD class < 7.0, no INITs gestalt8BitQD
- (ROM = 256K) 6.0.3/6.0.4 and gestalt32BitQD
- 32-Bit QD INIT 1.0
- 6.0.5-6.0.8 and gestalt32BitQD12
- 32-Bit QD INIT 1.2
- >= 7.0 gestalt32BitQD13
-
- ci class 6.0.4 gestalt32BitQD + 1
- (256K < ROM >= 3072K) 6.0.5-6.0.8 gestalt32BitQD12
- >= 7.0 gestalt32BitQD13
- PPC class? 7.1.2? gestalt32BitQD135?
- (ROM = 3072K)
- ----------------------------------------------------------------------
- (Original source: Develop 14, June 1993, p. 56)
-
- NOTE:
- gestalt32BitQD11 is never returned and gestalt32BitQD + 1 means
- $0x0201 as response value and doesn't has a defined constant.
- Another QuickDraw version is System 7 with a black-and-white class
- machine.
- qdrw (System [7.0])
- gestaltQuickDrawFeaturesAttr
- Returns information about QuickDraw.
-
- const
- gestaltQuickDrawFeaturesAttr = 'qdrw'; {QuickDraw attributes} *S01
- gestaltHasColor = 0; {*S01}
- gestaltHasDeepGWorlds = 1; {*S01}
- gestaltHasDirectPixMaps = 2; {*S01}
- gestaltHasGrayishTextOr = 3; {*S01}
- gestaltSupportsMirroring = 4; {*AD12}
-
- NOTES:
- There is a bug in the 'qdrw' selector that causes it to report that
- Color QuickDraw is always present, even on machines that don't support
- it. Apple has acknowledged this bug on AppleLink. (Chris Wysocki)
- Use SysEnvirons instead or test for the QD version ('qd ') being
- 8-bit QD or later.
-
- IM OS Utilities lists this selector as 'gestaltQuickDrawFeatures'.
- qtim (QuickTime ext [1.0])
- gestaltQuickTime
- Returns QuickTime version as NumVersion.
-
- const
- gestaltQuickTime = 'qtim'; {Movie Toolbox Availability}
-
- NOTES:
- The returned version is obtained from 'vers' resource ID# 1.
-
- IM OS Utilities and the Universal Interfaces 2.0a1 list this selector
- as 'gestaltQuickTimeVersion'.
-
- See 'Reports' chapter (QuickTime section) for more information.
- qtrs (QuickTime PowerPlug ext [1.0?])
- gestaltQuickTimeFeatures *AS06
-
- const
- gestaltQuickTimeFeatures = 'qtrs'; {QT Features attributes}
- gestaltPPCQuickTimeLibPresent = 0, {PowerPC QT glue library is}
- { present}
-
- NOTE:
- The gestaltPPCQuickTimeLibPresent bit indicates that the native
- QuickTime interface library is available and can be called by native
- PowerPC applications. (Dave Radcliffe)
- ram (System [6.0.4])
- (RAM Doubler [1.0] by Connectix Corporation)
- gestaltPhysicalRAMSize
- Returns the number of bytes of the physical RAM currently installed.
-
- const
- gestaltPhysicalRAMSize = 'ram '; {physical RAM}
- rbv (System [6.0.4, discontinued?]) *AS04
- gestaltRBVAddr
- Returns the address of the RBV?
-
- const
- gestaltRBVAddr = 'rbv '; {RBV address}
- reno (Apple Guide ext [1.2?], part of System 7.5)
- ???
- Indicates presence "of the Reno system extension." (Reno is the
- mechanism behind Apple Guide for managing the help data-bases?)
- rom (System [6.0.4]) INF
- gestaltROMSize
- Returns the size of the installed ROM in bytes.
-
- const
- gestaltROMSize = 'rom '; {ROM size}
- romv (System [6.0.4]) INF
- gestaltROMVersion
- Returns the version number of the installed ROM.
-
- const
- gestaltROMVersion = romv'; {ROM version}
- rsrc (System [should work since 7.0?])
- gestaltResourceMgrAttr
- Returns information about the Resource Manager.
-
- const
- gestaltResourceMgrAttr = 'rsrc'; {Resource Mgr attributes}
- gestaltPartialRsrcs = 0;
- gestalt??? = 1; {unknown, set with System 7.5}
-
- NOTE:
- Under System 7, bit 0 that tells if you have partial resource support
- doesn't work right. The selector is undefined under System 7.0 and
- 7.0.1 even though the partial resource calls are available. This has
- been acknowledged by Apple.
- (Michael Hecht, Quinn)
- rtmr (System? [7.1.1?])
- gestaltRealtimeMgrAttr
- Returns information about the Realtime Manager.
-
- const
- gestaltRealtimeMgrAttr = 'rtmr'; {Realtime Mgr attributes}
- gestaltRealtimeMgrPresent = 0; {Realtime Mgr is present}
-
- NOTE:
- If the RealTime Mgr is present this means the ARTA routines are
- available to determine if and how many DSPs are installed.
- (Zalman Stern)
- sccr (System [6.0.4, discontinued]) *AS04
- gestaltSCCReadAddr
- Returns the address of SCC read ports.
-
- const
- gestaltSCCReadAddr = 'sccr'; {SCC read ports address}
- sccw (System [6.0.4, discontinued]) *AS04
- gestaltSCCWriteAddr
- Returns the address of SCC write ports.
-
- const
- gestaltSCCWriteAddr = 'sccw'; {SCC write ports address}
- scr# (System [6.0.4])
- gestaltScriptCount
- Returns the number of script systems currently active.
-
- const
- gestaltScriptCount = 'scr#'; {number of active scripts}
- scra (Macintosh Easy Open cp [1.0]) *AD03
- gestaltScrapMgrAttr
- Returns information about the Scrap Manager.
-
- const
- gestaltScrapMgrAttr = 'scra'; {Scrap Mgr attributes}
- gestaltScrapMgrTranslationAware = 0;
- gestaltTranslationMgrHintOrder = 1; {*AS04}
- scri (System [6.0.4])
- gestaltScriptMgrVersion
- Returns the version number of the Script Manager as BCD.
-
- const
- gestaltScriptMgrVersion = 'scri'; {Script Mgr version}
-
- ======================================================================
- Version numbers for the Script Manager
- ======================================================================
- System Version Script Mgr Script Mgr Version
- (older ROMs)+ (newer ROMs) format
- ----------------------------------------------------------------------
- 6.0.3 and earlier <= $20F N.A. binary
- 6.0.4 Roman $211 $215 "
- 6.0.4 non-Roman $212 $216 "
- 6.0.5 $213 $217 (=2.23) "
-
- 6.0.7 $230 $231 BCD
- J-6.0.7.1 $230 $231 "
- 6.0.8 $230 $231 "
- 6.1 non-Roman $240 $241 "
- 7.0 $700 $700 "
- 7.0.1 Roman $701 $701 "
- 7.0.1 non-Roman $701 $701 "
- 7.1 $710 $710 "
- 7.5 $720 $720 "
-
- + Plus,SE,II,IIx,IIcx,SE/30,Classic
- ----------------------------------------------------------------------
- (Original source: Inside Macintosh Text, p. 6-9)
-
- scsi (System [7.1.2?])
- (SCSI Manager ext [4.3])
- gestaltSCSI *AT07
- Returns information about the SCSI Manager.
-
- const
- gestaltSCSI = '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}
- sdev (Control Strip cp [1.0], part of PowerBook Utilities)
- gestaltControlStripAttr
- Returns information about the Control Strip software.
-
- const
- gestaltControlStripAttr = 'sdev';
- gestaltControlStripExists = 0; {TRUE = control strip is}
- { installed}
- gestaltControlStripVersionFixed = 1; {version of Control Strip}
- { installs 'csvr' selector}
- { instead of 'sdvr' *AS11}
-
- NOTES:
- Control Strip displays a row with icons and popup menus to quickly
- change settings on portable macs, i.e. AppleTalk and the sound volume.
-
- A file 'IsControlStrip.c' included with the Apple Guide Authoring Kit
- defines this selector as:
- #define gestaltStatusBarAttr 'sdev'
- #define gestaltStatusBarExists 0
- (Rene Ros)
- sdvr (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSDPStandardDirectoryVersion
- Returns the SDP Standard Directory version as INTEGER.
-
- const
- gestaltSDPStandardDirectoryVersion = 'sdvr'; {SDP Standard Directory}
- {version}
-
- WARNING:
- The same selector code is used by the Control Strip 1.0 control panel.
- See the gestaltControlStripVersion ('csvr') selector entry above.
- ser (System [6.0.8?])
- gestaltSerialAttr
- Returns information about the serial hardware of the machine.
-
- const
- gestaltSerialAttr = 'ser '; {serial hardware attributes}
- gestaltGPIaToDCDa = 0;
- gestaltGPIaToRTxCa = 1;
- gestaltGPIaToDCDb = 2;
- slot (System [6.0.4, 6.0.5, discontinued])
- gestaltSlotAttr
- Returns information about the Slot Manager.
-
- const
- gestaltSlotAttr = 'slot'; {Slot Mgr attributes}
- gestaltSlotMgrExists = 0;
- gestaltNuBusPresent = 1;
- gestaltSESlotPresent = 2;
- gestaltSE30SlotPresent = 3;
- gestaltPortableSlotPresent = 4;
- slt1 (System [6.0.4, 6.0.5, discontinued])
- gestaltFirstSlotNumber
- Returns first slot number.
-
- const
- gestaltFirstSlotNumber = 'slt1'; {First Slot number}
- sltc (System [6.0.8?])
- gestaltNuBusConnectors
- Returns information about the NuBus slot connector locations. The
- value returned is a bitmap. If bits 9 to E are set, there are six
- slots present with locations 9 to E.
-
- const
- gestaltNuBusConnectors = 'sltc'; {NuBus connector bitmap}
-
- NOTE:
- This selector does not return information about the Macintosh IIsi
- slot.
- snd (System [6.0.4])
- gestaltSoundAttr
- Returns information about the sound capabilities of the machine.
-
- const
- gestaltSoundAttr = 'snd '; {sound attributes}
- gestaltStereoCapability = 0; {can play stereo sounds}
- gestaltStereoMixing = 1; {mixes channels into single}
- { signal}
- gestaltSoundReserved = 2;
- gestaltSoundIOMgrPresent = 3; {new sound input routines avail.}
- gestaltBuiltInSoundInput = 4; {built-in sound input device
- { available}
- gestaltHasSoundInputDevice = 5; {some sound input device avail.}
- gestaltPlayAndRecord = 6; {built-in hardware can play and}
- { record simultaneously}
- { *AS03/AS04}
- gestalt16BitSoundIO = 7; {sound hardware can play and}
- { record 16-bit samples *AS04}
- gestaltStereoInput = 8; {sound hardware can record}
- { stereo *AS04}
- gestaltLineLevelInput = 9; {sound input port requires}
- { line level *AS04}
- gestaltSndPlayDoubleBuffer = 10; {play from disk available *AS04}
- gestaltMultiChannels = 11; {multiple channel support}
- { *AS03/AS04}
- gestalt16BitAudioSupport = 12; {16 bit audio data supported}
- { *AS04}
-
- NOTES:
- Bit 7 through 12 are not defined for versions of the Sound Manager
- prior to version 3.0.
-
- If the gestaltSndPlayDoubleBuffer flag is not set you can check for
- the gestaltHasASC flag with the gestaltHardwareAttr selector. If this
- is true both SndPlayDoubleBuffer and SndStartFilePlay are present.
- *AD06
- snhw (System [7.5])
- (Sound Manager ext [3.0])
- gestaltSoundHardware
- Returns type of hardware used for sound?
-
- const
- gestaltSoundHardware = 'snhw'; {Sound Hardware}
- gestaltASC = 'asc '; {ASC}
- gestaltDSP = 'dsp '; {DSP}
- gestaltClassicSound = 'clas'; {Classic Mac?}
- gestaltAWAC? = 'awac'; {returned on PowerMac}
- gestaltSing? = 'sing'; {returned on PB 540c}
- spsl (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSMPSPSendLetterVersion
- Returns the SMP SendLetter version as INTEGER.
-
- const
- gestaltSMPSPSendLetterVersion = 'spsl'; {SMP Sendletter version}
- stdf (System [7.0])
- (Macintosh Easy Open cp [1.0?])
- gestaltStandardFileAttr
- Returns information about the Standard File Package.
-
- const
- gestaltStandardFileAttr = 'stdf';{Standard File attr.}
- gestaltStandardFile58 = 0;
- {StandardPutFile, StandardGetFile, CustomPutFile}
- { and CustomGetFile are available.}
- gestaltStandardFileTranslationAware = 1; {*AD03/AS04}
- gestaltStandardFileHasColorIcons = 2; {*AD03/AS04/AS05}
- gestaltStandardFileUseGenericIcons = 3; {force the LDEF to use only}
- { the system generic icons}
- { *AT06}
- gestaltStandardFileHasDynamicVolumeAllocation = 4;
- {supports more than 20 volumes *AT06}
- sysa (System [7.1.2?]) *AS04
- gestaltSysArchitecture
- Returns one of the following values, indicating the type of
- architecture on which the application is currently running.
-
- const
- gestaltSysArchitecture = 'sysa'; {System Architecture type}
- gestalt68k = 1;
- gestaltPowerPC = 2;
- sysv (System [6.0.4]) INF
- gestaltSystemVersion
- Returns the version number of the currently active System file as BCD.
-
- const
- gestaltSystemVersion = 'sysv'; {System file version}
-
- NOTES:
- Is it correct system 6.0.8 returns $0x0607? Can you determine if it is
- actually 6.0.8 in another way?
-
- In addition KanjiTalk 6.0.7 (Japanese System) and other non-Roman
- versions return $0606. See the 'osyv' selector.
- System J-6.0.7.1 returns $0609
-
- System 7.1.2 (for Power Macintosh) apparently returns an incorrect
- version number ($0710) when in 68K mode with a PPC Upgrade card.
- (Rick Gansler)
-
- There are some system versions (like International System 6.0.8.1 or
- 7.0.1.1) which just return the normal version number, i.e. 6.0.8 and
- 7.0.1.
- tabl (System [6.0.4])
- gestaltSelectorTable?
- Returns a handle to the Gestalt selector table itself.
-
- const
- gestaltSelectorTable? = 'tabl'; {Gestalt Table address}
-
- WARNING:
- Although this information isn't officially confirmed, it is probably
- correct. But it is likely to go away in future systems.
-
- NOTE:
- The Gestalt selector table is kept in a resizable block in the system
- heap. The last item in the table is a dummy entry (INVALID), marked by
- a selector OSType(MaxLongInt). (Marco Piovanelli, he also has some
- snippet Pascal code to list all selectors)
- tbtt (System [6.0.8])
- gestaltToolboxTable
- Returns the base address of the Toolbox trap table.
-
- const
- gestaltToolboxTable = 'tbtt'; {Toolbox trap table base}
- te (System [6.0.5])
- gestaltTextEditVersion
- Returns a value that indicates which version of TextEdit is present.
-
- const
- gestaltTextEditVersion = 'te '; {TextEdit version}
- gestaltTE1 = 1;
- gestaltTE2 = 2;
- gestaltTE3 = 3;
- gestaltTE4 = 4;
- gestaltTE5 = 5;
-
- ======================================================================
- Version numbers for TextEdit
- ======================================================================
- Returned value New Features System software Hardware
- ----------------------------------------------------------------------
- gestaltUndefSelector Multistyled TE before 6.0.4 all
- gestaltTE1 6.0.4 Roman IIci
- gestaltTE2 New width 6.0.4 non-Roman IIci
- measurement hook
- Script Mgr compatible
- gestaltTE3 6.0.4 non-Roman non-IIci
- gestaltTE4 TEFeatureFlag 6.0.5 all
- gestaltTE5 Text width 7.0 all
- measurement hook
- ----------------------------------------------------------------------
- (Source: Inside Macintosh Text, p.2-23)
- teat (Macintosh Drag and Drop ext [1.0])
- gestaltTEAttr *AD05
- Returns information about the functions and capabilities of TextEdit.
-
- const
- gestaltTEAttr = 'teat'; {TextEdit attributes}
- gestaltTEHasGetHiliteRgn = 0; {TEGetHiliteRgn present}
- tele (System [7.5])
- gestaltTelephoneMgrAttr?
- Returns information about the Telephone Mgr.
-
- const
- gestaltTelephoneMgrAttr? = 'tele';
- gestaltTelephoneMgrPresent = 0;
- gestaltPPCTelephoneLibPresent? = 1;
- term (System [7.1])
- gestaltTermMgrAttr
- Returns information about the Terminal Manager.
-
- const
- gestaltTermMgrAttr = 'term'; {Terminal Mgr attributes}
- gestaltTermMgrPresent = 0; {Terminal Mgr is present}
- gestaltTermMgrErrorString = 2; {*AS04}
- thds (Thread Manager ext [1.1]) *AD04
- (QuickDraw GX ext [1.0?])
- (System [7.1.2?])
- gestaltThreadAttr
- Returns information about the Thread Manager.
-
- const
- gestaltThreadAttr = 'thds'; {Thread Manager attributes}
- gestaltThreadsPresent = 0; {bit true if Threads present}
- gestaltSpecificMatchSupport = 1; {bit true if ‘exact match’}
- { API supported}
- gestaltThreadsLibraryPresent = 2; {bit true if ThreadsLib is}
- { present}
- gestalt??? = 4; {unknown}
-
- NOTE:
- IM OS Utilities lists this selector as 'gestaltThreadMgrAttr'.
- tmgr (System [6.0.4])
- gestaltTimeMgrVersion
- Returns a value that indicates the version of the Time Manager.
-
- const
- gestaltTimeMgrVersion = 'tmgr'; {Time Mgr version}
- gestaltStandardTimeMgr = 1; {Standard Time Mgr}
- gestaltRevisedTimeMgr = 2; {Revised Time Mgr}
- gestaltExtendedTimeMgr = 3; {Extended Time Mgr}
- tpad (System? [7.5?] on PowerBook 520/540?)
- Indicates precense of a trackpad? As such used in the 'IsTrackPad.c'
- file included with the Apple Guide Authoring Kit.
- tsma (System? [???])
- gestaltTSMgrAttr *AS14
- Returns information about the Text Services Manager.
-
- const
- gestaltTSMgrAttr = 'tsma'; {Text Services Mgr attributes}
- gestaltTSMDisplayMgrAwareBit = 0; {TSM knows about Display Mgr}
- tsmv (System [7.1])
- gestaltTSMgrVersion *AT05
- Returns Text Services Manager version in BCD.
-
- const
- gestaltTSMgrVersion = 'tsmv'; {Text Services Mgr version}
- tv (System? [???])
- (Video Startup ext [1.0], part of European Video Installer)
- gestaltTVAttr *AS14
- Returns information about the TV capabilities?
-
- const
- gestaltTVAttr = 'tv '; {TV Version [huh? ed.]}
- 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}
- ufox (Foreign File Access ext [4.0], part of Apple CD-ROM Software) *AT03
- gestaltForeignFAVersion?
- Returns Foreign File Access version in BCD.
-
- const
- gestaltForeignFAVersion? = 'ufox'; {Foreign File Access version}
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
- vers (System [6.0.4])
- gestaltVersion
- Returns the version of Gestalt as INTEGER.
-
- const
- gestaltVersion = 'vers'; {Gestalt version}
-
- NOTE:
- Usually version 1 is present. On machines with ROM version 1917
- (Quadra 840AV, PowerMacs etc.) version 4 is present.
- Version 5 is installed by System 7.5 adding support for the
- GestaltValue calls? (Rene Ros)
- via1 (System [6.0.4, discontinued])
- gestaltVIA1Addr
- Returns the address of VIA 1.
-
- const
- gestaltVIA1Addr = 'via1'; {VIA 1 address}
- via2 (System [6.0.4, discontinued])
- gestaltVIA2Addr
- Returns the address of VIA 2.
-
- const
- gestaltVIA2Addr = 'via2'; {VIA 2 address}
- vm (System [6.0.4])
- (RAM Doubler [1.0] by Connectix Corporation)
- gestaltVMAttr
- Returns information about virtual memory.
-
- const
- gestaltVMPresent = 0; {set; virtual memory present}
- gestaltVMNotInstalled = 0; {clear; virtual memory not present}
-
- NOTE:
- Future OS may have VM always on but this is not reported by this
- selector. A future selector will tell if the microkernal is running
- and thus if VM is actually used. *AD10
- wma. (System [7.0])
- (Responder ext [2.0?])
- gestaltResponderAttr
- Returns information about the Workstation Management Agent a.k.a.
- Responder.
-
- const
- gestaltResponderAttr = 'wma.'; {Responder attributes}
- gestaltResponderPresent = 0; {Responder is present}
- xlat (Macintosh Easy Open cp [1.0]) *AD03
- gestaltTranslationAttr
- Returns information about the Translation Manager.
-
- const
- gestaltTranslationAttr = 'xlat'; {Translation Mgr attrib.}
- gestaltTranslationMgrExists = 0; {TM present}
- gestaltTranslationMgrHintOrder = 1; {TRUE if hint order}
- { reversal bug is fixed}
- gestaltTranslationPPCAvail = 2; {PPC Lib. available}
- gestaltTranslationGetPathAPIAvail = 3; {GetFileTranslationPath}
- {and GetPathTranslationDialog available}
- gestalt??? = 4; {by MEO 1.1}
- xttt (System [6.0.8])
- gestaltExtToolboxTable
- Returns the base address of the Extended Toolbox trap table.
-
- const
- gestaltExtToolboxTable = 'xttt'; {Extended Toolbox trap table}
-
- Apple Additional Software
- -------------------------
- arb (Serial Port Arbitrator ext [1.0], part of Apple Remote Access)
- gestaltArbitorAttr *AD02
- Returns information about the Serial Port Arbitration.
-
- const
- gestaltArbitorAttr = 'arb '; {Serial Port Arbitration}
- { attributes}
- gestaltSerialArbitrationExists = 0; {Serial Port Arbitration}
- { installed}
- cltn (QuickDraw GX [1.0])
- gestaltCollectionMgrVersion
- Returns the version of the Collection Manager as NumVersion.
-
- const
- gestaltCollectionMgrVersion = 'cltn'; {Collection Mgr version}
-
- NOTE:
- The Collection Manager is a set of routines for maintaining tagged
- collections of data; GX uses it to support the "tags" that you can
- attach to GX objects, for holding special data, including
- user-defined data. (Lawrence D'Oliveiro)
- fsm (File System Manager ext [1.2?])
- gestaltFSMVersion *AD14
- Returns File System Manager version as BCD.
-
- const
- gestaltFSMVersion = 'fsm ';
- gfxa (QuickDraw GX [1.0])
- gestaltGraphicsAttr
- Returns information about the Graphics.
-
- const
- gestaltGraphicsAttr = 'gfxa'; {graphics attributes bits }
- gestaltGraphicsIsDebugging = $0001;
- gestaltGraphicsIsLoaded = $0002;
- gestaltGraphicsIsPowerPC = $0004;
-
- NOTE: Not bit values but bit masks? Use AND?
- grfx (QuickDraw GX ext [1.0])
- gestaltGraphicsVersion
- Returns the version of the Graphics as INTEGER.
-
- const
- gestaltGraphicsVersion = 'grfx'; {Gestalt version selector}
- gestaltCurrentGraphicsVersion = $00010000; {supposed value returned}
- kids (At Ease [1.0])
- kAtEaseGestalt
- Returns a handle to a structure holding information about At Ease.
-
- The following code was published by Apple *AT06:
-
- #define kAtEaseGestalt 'kids'
- typedef struct {
- short giVersion; /* structure version */
- short giIsActive; /* true if at ease is currently running */
- short giAutoCreateAlias; /* if true then auto create alias */
- short giRequestFloppy; /* if true then request floppy on new
- saves */
- short giStacksAreApps; /* if true then HyperCard stacks are shown
- with applications */
- FSSpec giItemsLocation; /* location of the At Ease Items folder */
- } GestaltRec, *GestaltRecPtr, **GestaltRecHand;
- mess (QuickDraw GX [1.0])
- gestaltMessageMgrVersion
- Returns the version of the Message Manager as NumVersion.
-
- const
- gestaltMessageMgrVersion = 'mess'; {Message Mgr version}
-
- NOTE:
- The Message Manager is an implementation of object-oriented-style
- message passing within an inheritance hierarchy, that can be used from
- non-OO languages.
- It is used by the GX printing system, to allow the customization of
- printing behaviour by letting applications (and developers of printing
- extensions) intercept messages sent to the printer driver.
- (Lawrence D'Oliveiro)
- mtv2 (Video Player app [???])
- (Video Startup ext [1.0], part of European Video Installer)
- gestaltTV *AD16
- "Indicates whether the Video Player app is present."
- pmgr (QuickDraw GX [1.0])
- gestaltPrintingMgrVersion
- Returns the version of the QuickDraw GX Printing Manager as
- NumVersion.
-
- const
- gestaltPrintingMgrVersion = 'pmgr'; {Printing Mgr version}
- qdgx (QuickDraw GX [1.0])
- gestaltGXVersion
- Returns the version of QuickDraw GX as NumVersion.
-
- const
- gestaltGXVersion = 'qdgx'; {QuickDraw GX version}
- srta (Speech Recognition ext [1.2.1?])
- gestaltSpeechRecognitionAttr
- Returns information about the Speech Recognition software.
-
- const
- gestaltSpeechRecognitionAttr = 'srta';
- gestaltDesktopSpeechRecognition = 0; {Recognition using mic.}
- gestaltTelephoneSpeechRecognition = 1; {FUTURE}
-
- NOTE:
- The Speech Recognition (1.2.1) only works on AV and PPC Macs, but the
- selector is installed on all machines and the response value will
- indicate the speech recognition is available. (Rene Ros)
- srtb (Speech Recognition ext [1.2.1?])
- gestaltSpeechRecognitionVersion
- Returns the version of the Speech Recognition software as BCD.
-
- const
- gestaltSpeechRecognitionVersion = 'srtb';
-
- NOTE:
- The Speech Recognition (1.2.1) only works on AV and PPC Macs, but the
- selector is installed on all machines and its presence will indicate
- the speech recognition is available. (Rene Ros)
- strm (Remote Access Aliases [1.0], part of Apple Remote Access)
- gestaltRemoteAccessAttr *AD02
-
- const
- gestaltRemoteAccessAttr = 'strm'; {Remote Access attributes}
- gestaltRemoteAccessExists = 0; {RA Connection Interface is}
- { available}
- gestaltRemoteAccessCallOnly = 1; {checks for ARA client *AD15}
- gestaltRemoteAccessMPServer = 2; {checks for ARA multi-port}
- { server *AD15}
- gestaltRemoteAccessVers2 = 3; {checks for ARA 2.0 features}
- { *AD15}
- tmTE (Inline Extension ext [1.0], part of KanjiTalk7)
- gestaltTSMTEAttr *AS07
- Returns information about the Text Services Manager for TextEdit.
-
- const
- gestaltTSMTEAttr = 'tmTE'; {TSM for TE attributes}
- gestaltTSMTEPresent = 0; {TSM for TE is present}
- tmTV (Inline Extension ext [1.0], part of KanjiTalk7)
- gestaltTSMTEVersion *AS07
- Returns the version of the Text Services Manager for TextEdit as BCD.
-
- const
- gestaltTSMTEVersion = 'tmTV'; {TSM for TE version}
- gestaltTSMTE1 = $0100; {TSM for TE version 1.0}
- ttsc (Text-To-Speech Manager ext [1.0?])
- gestaltSpeechAttr
- Returns information about the Speech Manager.
-
- const
- gestaltSpeechAttr = 'ttsc'; {Text-To-Speech Manager attrib.}
- gestaltSpeechMgrPresent = 0; {bit true if Speech Mgr present}
- gestaltSpeechHasPPCGlue = 1; {Speech Mgr has native PPC glue}
- ws 1 (WorldScript I ext [7.1?])
- gestaltWorldScriptIVersion?
- Returns version of WorldScript I software as BCD.
-
- const
- gestaltWorldScriptIVersion? = 'ws 1';
- XTND (??? [???])
- gestaltXTNDAttr *AS11
- Returns information about XTND Manager?
-
- const
- gestaltXTNDAttr = 'XTND';
- gestaltPPCXTNDPresent = 1;
-
- NOTE:
- Is used in some code to check if XTND engine is present. However it is
- unknown when it is installed, so supposedly it is meant for future
- use. Like a built-in XTND engine in the System Software? When the
- selector is installed all operations are dispatched through trap
- _XTNDMgr ($ABF4) otherwise the library provides the code.
- (Marco Piovanelli)
-
- Third Parties Software
- ----------------------
- !SYM (Symbionts ext [1.0] by B. Kevin Hardman)
- gestaltSymbiontsTable
- Returns a pointer to a structure containing the size of the System
- Heap before and after loading the INITs.
-
- const
- gestaltSymbiontsTable = '!SYM'; {Symbionts address}
- ADfd (AfterDark [2.0?] by Berkeley Systems, Inc.)
- gestaltAfterDarkFolder *M05
- Returns a pointer to a procedure that gives the DirID and vRefNum of
- the 'After Dark Files' folder.
-
- const
- gestaltAfterDarkFolder = 'ADfd';
-
- NOTE:
- See for more information the AfterDark Gestalt header file (See
- section 'Related Software' in the 'General Info' chapter for
- availability)
- ADrk (AfterDark [2.0] by Berkeley Systems, Inc.)
- gestaltAfterDarkAttr *M05
- Returns a longword bitmask containing public information about
- After Dark.
-
- const
- gestaltAfterDarkAttr = 'ADrk'; {After Dark states}
- eSystemIQActive = 0; {SystemIQx activity monitor active}
- eSoundActive = 1; {AD has allocated a sound channel}
- eADAcquiringPassword = 2; {After Dark has its password dialog up}
-
- NOTE:
- See for more information the AfterDark Gestalt header file (See
- section 'Related Software' in the 'General Info' chapter for
- availability)
- AlaC (A La Carte ext [1.1?] by Denali Software Development)
- gestaltALaCarte?
- Returns the address of the A La Carte INIT global data. The structure
- of the data is proprietary. The existence of the 'AlaC' selector
- indicates that the A La Carte INIT is loaded.
-
- const
- gestaltALaCarte? = 'AlaC';
- ApoL (Apollo ext [1.0] by Jeremy Roussak)
- gestaltApolloTable
- Returns a handle to an instance of a structure.
-
- const
- gestaltApolloTable = 'ApoL'; {Apollo address}
-
- NOTE:
- See for more information the Programmers' Information chapter in the
- Apollo documentation. (Jeremy Roussak)
- ASHI (Arashi app [???] by Juri Munkki)
- ???
- Returns information about the presence of Arashi by returning one (1)
- if loaded, and zero (0) when removed.
- AuBu (AutoBuild ext [1.0] by Rene G.A. Ros)
- gestaltAutoBuildVersion
- Returns the version of AutoBuild as NumVersion.
-
- const
- gestaltAutoBuildVersion = 'AuBu'; {AutoBuild version}
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
- BBlk (Basic Black cp [1.3], by Mason L. Bliss)
- gestaltBasicBlackAddr
- Returns the address of Basic Black's patch globals.
-
- const
- gestaltBasicBlackAddr = 'BBlk'; {Basic Black address}
-
- NOTE:
- See documentation included with Basic Black for more information.
- BIFF (QM Biff ext [1.0] by Patrick C. Beard)
- ???
- Determines if there is mail (QuickMail). The response long word is 1
- if you have mail, and 0 if you don't.
- Cafe (Coffee Break appl [1.0] by Thomas Reed)
- gestaltCoffeeBreakAddr?
- Returns a pointer to a code resource owned by Coffee Break.
- Details are private.
-
- const
- gestaltCoffeeBreakAddr? = 'Cafe';
- CKI3 (AETracker cp [3.0] by C.K. Haun)
- gestaltAETrackerAddr
- This selector returns a pointer to the external interface routine for
- AETracker, details of which are in the AETracker interface guide.
- (C.K. Haun)
-
- const
- gestaltAETrackerAddr = 'CKI3'; {AETracker address}
- CsWT (Desktop Strip cp [1.0b1] by Sigurdur Asgeirsson)
- gestaltDesktopStripAttr?
- Returns information about the installed Desktop Strip software.
-
- const
- gestaltDesktopStripAttr? = 'CsWT';
- gestaltDesktopStripPresent? = 0;
- dBgP (DBugR cp [1.0?] by Alessandro Levi Montalcini)
- ???
- Returns a pointer to a data structure with the preferences,
- identical to the data in the PREF resource, for which a template
- is included.
-
- NOTE: The d is actually the option-d character (ASCII $B6).
- EagL (Eagle ext [1.4], part of Apollo 1.1 by Jeremy Roussak)
- gestaltEagleAttr?
- Returns information about the state of the Eagle background
- application.
-
- const
- gestaltEagleAttr? = 'EagL'; {Eagle attributes}
- gestaltEaglePPCReady? = 0; {Eagle can accept next PPC}
- FPUE (SoftwareFPU cp [3.0?] by John Neil & Associates) *M06
- gestaltSoftwareFPUAddr?
- Detects presence of SoftwareFPU.
- If the result of the Gestalt call is noErr, then SoftwareFPU is
- installed, and the 68881 FPU reported by the gestaltFPUType selector
- is an emulated FPU. The value returned in the response is private and
- should be ignored.
-
- const
- gestaltSoftwareFPUAddr? = 'FPUE';
- FrcP (Decor cp [1.0] by Francois Pottier)
- gestaltDecorAddr
- Returns a pointer to a structure which can be read or changed, and
- enables programmers to change the picture on the desktop.
-
- const
- gestaltDecorAddr = 'FrcP'; {Decor address}
-
- NOTES:
- See for more information on how to use this structure the
- documentation included with Decor 1.0 or later.
-
- The c is actually the option-c character (ASCII $8D).
- Gast (Gestalt! appl [2.9.2] by Roland Mansson)
- gestaltGestaltVersion
- Returns the version of the application as NumVersion.
- GestaltValue is removed when application quits. Just for fun.
- (Roland Mansson)
-
- const
- gestaltGestaltVersion = 'Gast'; {Gestalt! version}
-
- NOTE: The a is actually the option-u/a character (ASCII $8A).
- GTLK (GestaltTalk code by Brigham Stevens, Apple Computer DTS)
- ???
- Snippet code, see documentation. (See section 'Related Software'
- in the 'General Info' chapter for availability).
- GWat (GestaltWatch ext [1.0] by Scot Bronson)
- ???
- Returns pointer to structure where collected information is stored.
-
- NOTE: In development, not yet available.
- IF 8 (Speak Note cp [???] by Glenn R. Howes)
- gestaltSpeechNoteAttr?
- Returns information about the installed copy of Speak Note.
-
- const
- gestaltSpeechNoteAttr? = 'IF 8';
- gestaltSpeechNoteAvailable = 0;
- Lnch (Network Time cp [2.0] by Pete Resnick)
- (First Launch Gestalt INIT code resource, by Pete Resnick)
- gestaltFirstLaunchAttr
- Returns info on whether the _Launch trap has been called by the
- System.
-
- const
- gestaltFirstLaunchAttr = 'Lnch'; {_Launch information)
- gestaltFirstLaunchDone = 0; {_Launch called, INIT time over}
-
- NOTE:
- Bit 0 of the response, gestaltFirstLaunchDone, indicates whether the
- _Launch trap has been called since startup of the machine. All other
- bits are reserved and currently 0. Even if not installed at INIT time,
- Network Time will install the Gestalt selector if it is not already
- there when the control panel is opened and automatically set
- bit 0 to 1.
- 68000 assembler source code is available for the INIT that installs
- the selector, and INIT resource -4048 from Network Time may be
- stolen (and renumbered as desired) and used in any INIT file as
- desired. (Pete Resnick)
- NIPX (Novell MacIPX cp [1.0.1] by Novell Inc.)
- gestaltNovellIPXVersion
- Returns the version of MacIPX as NumVersion.
-
- const
- gestaltNovellIPXVersion = 'NIPX'; {MacIPX version}
-
- NOTE:
- If the selector returns an error (i.e. no such selector?) then MacIPX
- is not installed. If the selector returns 0 then MacIPX is installed
- but the driver is not open. Any other value is the version.
- (Duane Murphy)
- NMBT (Attention cp [0.6] by Marco Piovanelli)
- gestaltAttentionAddr
- The response value returned is a pointer to a read-only parameter
- block in the system heap.
-
- const
- gestaltAttentionAddr = 'NMBT'; {Attention address}
-
- NOTE: See for more detailed information the included ReadMe file.
- NTim (Network Time cp [2.0] by Pete Resnick)
- ???
- Returns information private to Network Time.
- PNfs (FileSaver [3.0], part of Norton Utilities for Macintosh)
- Returns a private structure used by various portions of the
- Norton Utilities.
- PPP (PPP mdev [???], part of MacPPP by Merit Network, Inc. and the
- University of Michigan)
- ???
- Returns the address of the Lap globals as documented in the header
- file 'ppp.h.source'. It's an absolutely enormous struct that contains
- among other things function pointers to let you open and close MacPPP.
- (Richard Buckle)
-
- const
- ??? = 'PPP ';
-
- NOTE:
- Source code of MacPPP is available at:
- ftp://merit.edu/pub/ppp/mac/
- PWRS (PwrSwitcher cp [1.0] by David B. Lamkins)
- gestaltPwrSwitcherTable
- Returns a pointer to a private data structure (undocumented).
-
- const
- gestaltPwrSwitcherTable = 'PWRS'; {Power Switcher address}
- SAVC (AfterDark cp [2.0] by Berkeley Systems, Inc.)
- (Basic Black cp [1.3.3] by Mason L. Bliss)
- (DarkSide of the Macintosh [4.0] by Tom Dowdy)
- gestaltScreenSaverControl *M05
- Returns a pointer to a procedure of type
-
- typedef pascal OSErr (*SaverControlProcPtr) (SaverCommand command);
-
- which allows controlling the screen saver.
-
- const
- gestaltScreenSaverControl = 'SAVC';
-
- NOTE:
- See for more information the AfterDark Gestalt header file (See
- section 'Related Software' in the 'General Info' chapter for
- availability)
- SAVR (AfterDark cp [2.0] by Berkeley Systems, Inc.)
- (Arashi app [???] by Juri Munkki)
- (Basic Black cp [1.3.3] by Mason L. Bliss)
- (Coffee Break app [1.0] by Thomas Reed)
- (DarkSide of the Macintosh [4.0] by Tom Dowdy)
- gestaltScreenSaverAttr *M05
- Returns information about the current screen saver. Defined if a
- screen saver is installed.
-
- const
- gestaltScreenSaverAttr = 'SAVR'; {Screen saver attributes}
- gestaltSaverTurnedOn = 0; {saver enabled/disabled}
- gestaltSaverAsleep = 1; {saver currently asleep}
- gestaltSaverDemoMode = 2; {saver sleeping in demo mode}
- gestaltSaverPasswordMode = 3; {saver sleeping in password-}
- { protected mode}
- gestaltAppDrawingDisabled = 4; {QD drawing disallowed between}
- { module animation frames}
-
- NOTE:
- See for more information the AfterDark Gestalt header file (See
- section 'Related Software' in the 'General Info' chapter for
- availability)
- SDdD (Shutdown Delay cp [2.0.1] by Alessandro Levi Montalcini)
- kSDDelayCreator
- Returns a pointer to a data structure described in the documentation
- included with Shutdown Delay.
-
- const
- kSDDelayCreator = 'SDdD';
-
- NOTE: The d is actually the option-shift v character (ASCII $D7).
- SHCM (Shared Code Manager ext [1.0] by Eric Schlegel of Microsoft Corp.)
- gestalt???
- Returns a pointer to an undocumented entrypoint into the Shared Code
- Manager.
-
- const
- gestalt??? = 'SHCM';
-
- NOTE:
- The Shared Code Manager (1991) is a simple DLL mechanism that is
- currently used by Microsoft's Mac OLE 1.0 (Object Linking & Embedding)
- and the applications that use OLE 1.0. (Eric Schlegel)
- SLip (StuffIt SpaceSaver ext [1.0?] by Aladdin Systems, Inc.)
- gestaltStuffItSpaceSaverAddr
- Returns the address of the SpaceSaver "command module" which allows
- developers to access all the functions of SpaceSaver.
- (Leonard Rosenthol)
-
- const
- gestaltStuffItSpaceSaverAddr = 'SLip';
- SPAL (SpeakAlert cp [1.0] by Brian Stern)
- gestaltSpeakAlert
- Details are private to SpeakAlert.
-
- const
- gestaltSpeakAlert = 'SPAL';
- TExT (FileTyper Menu cp [none], part of FileTyper by Daniel Azuma)
- gestaltTyperMenuAttr
- Returns information about the FileTyper Menu's operation.
-
- const
- gestaltTyperMenuAttr = 'TExT';
- gestalt??? = 0; {TRUE = NO item added to Finder's}
- { File menu}
-
- WARNING:
- No currently released version of FileTyper Menu (up to and including
- 4.1.1) installs this selector, but future versions may. Check for the
- existence of this selector first, if you use it. (Daniel Azuma)
- TMON (TMON Pro [3.0] by ICOM Simulations, Inc.)
- ???
- The value returned is a pointer to a Monitor information block. *M04
- (Scott Bronson)
- Typ4 (FileTyper Menu cp [4.1.1], part of FileTyper by Daniel Azuma)
- gestaltTyperMenuPriv
- Returns private information, the existence of this selector indicates
- FileTyper Menu is installed.
-
- const
- gestaltTyperMenuPriv = 'Typ4';
-
- NOTE:
- Third parties can determine if FileTyper Menu is installed by
- checking for the existence of this selector. However, the actual value
- returned is private and subject to change. (Daniel Azuma)
- UMAM (Authentication Manager cp [1.0.7] by Robert John Churchill of the
- University of Michigan)
- gestaltAuthManVersion
- Returns the version of the Authentication Manager as Double BCD.
-
- const
- gestaltAuthManVersion = 'UMAM';
- YeHa (SpeedyFinder7 cp [1.5.4?] by Victor Tan)
- ???
- Returns a pointer to a private data structure (undocumented).
-
- NOTE:
- The structure to which the Gestalt selector refers changes almost
- invariably from version to version of SF7. Should someone work out
- parts of the structure of the selector keep in mind that it will
- almost certainly change in the next minor release and definitely with
- the next major release. (Victor Tan)
-
- Unknown Gestalt Selector Codes
- ==============================
- The following sections list selector codes of which the meaning is unknown.
-
- Apple Software
- --------------
- OSType(7)
- (System [6.0.4])
- Returns LongInt('carl') and a result code of noErr.
- OSType(13)
- (System [6.0.4])
- Returns LongInt('bbmc') and a result code of noErr.
- 3615 (Express Modem cp [1.0], part of Express Modem Software)
- a pc (PC Setup? cp [1.0?], part of Quadra 610-DOS software)
- admn (AppleShare Admin appl [3.0])
- gestaltASAdminAttr?
-
- const
- gestaltASAdminAttr? = 'admn';
- gestaltASAdminPresent? = 0;
- AgVU (Agent VU ext [2.0?], part of Virtual User)
- afps (AppleShare ext [3.5?], part of System 7.5)
- Bits 0 and 16 set.
- aint (System? [7.1.1?])
- NOTE: Returns 2 on a C660AV and Q840AV.
- apml (PowerTalk Manager ext [1.0?], part of PowerTalk)
- Bit 0 and 31 set.
- aslm (Shared Library Manager ext [1.1.1?])
- (System? [7.5?])
- gestaltSharedLibraryMgr?
- Returns the version of the Shared Library Manager as BCD in high word
- and information about the SLM in low word?
-
- const
- gestaltSharedLibraryMgr? = 'aslm';
- gestaltSharedLibrary??? = 0;
- gestaltSharedLibrary??? = 1;
-
- NOTE:
- This selector appears to be both an attribute and version selector:
- - the version is BCD in the high word (confirmed in version 1.1.2
- and 2.0 doesn't contradict this)
- - the attributes are in the low order word (but I don't know the
- meanings)
- (John Mancino)
-
- Returns zero when the Shared Library Mgr is not initialized?
- (Rene Ros)
- asps (AppleShare Print Server appl [3.0])
- gestaltASPrintServerAttr?
-
- const
- gestaltASPrintServerAttr? = 'asps';
- gestaltASPrintServerPresent? = 0;
- AtEa (At Ease Startup [2.0?], part of At Ease for Workgroups)
- bART (MacCheck app [1.0])
- BaRT (MacCheck app [1.0])
- bast (Performa cp [1.1], part of System 7.1P)
- batt (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0]))
- Returns information about the PowerBook battery?
-
- The debugger name for the routine which returns the response for this
- selector is called 'GETTIMELEFT'. But in what units? And what time?
- I've only seen the value 0, 5 or 6 returned. The GDEF calls the Power
- Manager (_PMgrOp [$A085 with D0=$00]) to get the info but I can't find
- which function. (Rene Ros)
- brcn (Screen? cp [1.0?] on Color Classic)
- brcN (Energy Saver cp [1.0?], part of Monitor Energy Saver)
- bugx (System [7.5])
- (System Update ext [3.0])
-
- NOTE:
- The System Update reserves the 'bugx', ‘bugy’ and ‘bugz’ gestalt
- selectors to indicate which fixes are installed on a given machine.
- These are for Apple internal use only, and developers should not rely
- on these. There is no guarantee that they will be supported in future
- versions of Macintosh system software. *AT06
- bugy (32-bit System Enabler [1.0])
- (Hardware System Update ext [1.0])
- (Network Launch Fix ext [1.0])
- (Sound Manager ext [3.0])
- (System? [7.1?])
- (System enabler 065)
- gestaltEnablerAttr?
-
- const
- gestaltEnablerAttr? = 'bugy'; ?
- gestaltEnablerEgretDispatchPatch? = 0; {these correct the system}?
- gestaltEnablerEgretTimePatch? = 1; { clock and modem perf.}?
- gestalt??? = 2; {unknown, Hardware Upd.}
- gestaltEnablerEgretTickHandlerPatch? = 3; { see bit 0 & 1}?
- gestalt??? = 4; {unknown, Hardware Upd.}
- gestaltEnablerSCSIPatch? = 5; {floppy drive fixed}?
- gestalt??? = 6; {unknown, Hardware Upd.}
- gestaltEnabler32bit? = 7; {32-bit enabler present}?
- gestalt??? = 9; {unknown, Sound Mgr 3.0}
- gestalt??? = 11; {unknown, Hardware Upd.}
- gestalt??? = 12; {unknown, Hardware Upd.}
- gestalt??? = 13; {unknown, Hardware Upd.}
- gestalt??? = 14; {unknown, Hardware Upd.}
- gestalt??? = 15; {unknown, Hardware Upd.}
- gestalt??? = 16; {unknown, Hardware Upd.}
- gestaltEnablerKeyboardPatch? = 17; {corrects Adjustable Kbd}
- { gestaltKeyboardType}
- { response?}
- gestalt??? = 18; {unknown, Hardware Upd.}
- gestalt??? = 19; {unknown, ???}
- gestalt??? = 24; {unknown, ???}
- gestalt??? = 25; {unknown, ???}
- gestalt??? = 26; {unknown, ???}
- gestaltNetworkLaunchFix? = 27; {fix problem with appl. on}
- { server launch with 68040}
- gestalt??? = 28; {unknown, ???}
- gestalt??? = 31; {unknown, ???}
-
- WARNING:
- These are ALL guesses. Well not entirely, I used the ResEdit CODE
- Editor to peek into the 32-bit System Enabler, Hardware System update
- and other software. Please check if I'am right. You should be able to
- find some of the answers in the INIT resource of the Hardware Update
- and the names of the PTCH resources in version 1.0 were also useful...
- The System Enablers (for new Macintosh models) don't seem to install
- or change any Gestalt selector to indicate their presence.
-
- NOTE:
- The System Update reserves the 'bugx', ‘bugy’ and ‘bugz’ gestalt
- selectors to indicate which fixes are installed on a given machine.
- These are for Apple internal use only, and developers should not rely
- on these. There is no guarantee that they will be supported in future
- versions of Macintosh system software. *AT06
- bugz (System [7.0]/Tune-up ext)
-
- NOTE:
- The System Update reserves the 'bugx', ‘bugy’ and ‘bugz’ gestalt
- selectors to indicate which fixes are installed on a given machine.
- These are for Apple internal use only, and developers should not rely
- on these. There is no guarantee that they will be supported in future
- versions of Macintosh system software. *AT06
- cate (Catalogs Extension? ext [???], part of PowerTalk)
- Bit 0 set.
- CDJR (Apple Menu Options cp [1.0], part of System 7.5)
- (ExtendedAppleMenu [???] by Chris Derossi)
- cfmg (System [7.1.2 on PowerMac])
- clbv (PowerTalk ext [1.0?], part of PowerTalk)
- Bit 0 set.
- comp (QuickDraw Font Plus ext [???], part of the KanjiTalk 7.1)
-
- NOTES:
- The name "QuickDraw Font Plus" is translated from Japanese and may be
- translated differently by Apple Computer, Inc.
-
- I think 'comp' stands for 'composite', as the INIT contains patches to
- the Font Manager needed to handle 'composite font suitcases'.
- (Marco Piovanelli)
- ctxm (???)
- cuda (???, on Performa 630TV)
- ddsk (DropDisk app [1.0b3], formerly Mount'em app by Mike Wise and
- Chris Cotton of Apple Computer)
- Only installed if DropDisk driver is loaded. Looks like the highword
- contains the version (of driver or application?) as BCD, while the
- low-word is a mystery.
-
- NOTE:
- See also the 'mtem' selector installed by Mount'em 1.0b1 and 1.0b2.
- detc (???)
- diag (Automated Diagnostics ext [1.0], part of Apple Personal
- Diagnostics 1.0)
- doub (WorldScript II ext [7.2?], part of KanjiTalk7 and
- several language kits)
- gestaltDoubleByteScriptVersion?
- Returns the version of WorldScript II as BCD?
-
- const
- gestaltDoubleByteScriptVersion? = 'doub';
-
- NOTE:
- This selector seems to be installed by WorldScript II (the
- System 7.1 ext needed to handle double-byte scripts like Japanese,
- Korean and Traditional Chinese). Known returned value is $0x0710.
- (Marco Piovanelli)
- dude (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0]))
- dudi (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0]))
- fdbk (Speech Setup cp? [???], part of PlainTalk)
- fdrs (Finder [7.1.1b1?], part of AOCE Developer's Kit)
- Installed by Finder extension?
- fnda (Finder [7.1.1])
- NOTE: The a is actually the option-a character (ASCII $8C).
- fnd& (Finder?, System? [7.1.2 on PowerMac?])
- NOTE: The & is actually the option-shift-a character (ASCII $E5).
- fnd* (Finder [7.1.1])
- NOTE: The * is actually the shift-6 character (ASCII $F6).
- fnd? (Finder [7.1.1b1?], part of AOCE Developer's Kit)
- Installed by Finder extension?
- fnd (Finder [7.1.1b1?], part of AOCE Developer's Kit)
- Installed by Finder extension?
- fndc (Finder [7.1.1])
- fndn (Finder?, System? [7.1.2 on PowerMac?])
- NOTE: The n is actually an option-n, n (ASCII $96).
- FNDR (Finder [7.1.1b1?], part of AOCE Developer's Kit)
- Installed by Finder extension?
- futr (ThreadsINIT ext [2.0?], part of Threads Package)
- gFax (Fax Extension ext [1.1?], part of Express Modem Software)
- gntz (System [7.1.2 on PowerMac])
- gpad (System? [7.5?])
- gprf (System? [7.5?])
- HAM (Apple Menu Options cp [1.0], part of System 7.5)
- (HAM ??? [???] by Inline Design)
- harp (PowerBook cp? [7.2?])
- hcsl (Finder [7.1.1b1?], part of AOCE Developer's Kit)
- heap (System [7.1.2 on PowerMac])
- Bits 1 and 5 set.
- hgfd (AppleShare File Server appl [3.0])
- gestaltASFileServerAttr?
-
- const
- gestaltASFileServerAttr? = 'hgfd';
- gestaltASFileServerPresent? = 0;
- HrIt (HearIt cp [1.0])
- iadj (System? [7.1.2?] with PowerTalk?)
- (Display Enabler ext, Icon relocation INIT ID#3 [1.0])
- idsp (System? [7.1?] on Macs with sound input?)
- Values found: $FFFF FFFF, $0x000C, $0x0000
- iic (???, on Performa 630TV)
- immg (??? [???] on PowerBook 520/540? and Performa 630TV)
- intD (??? [???])
-
- NOTE:
- This is a mystery selector. It isn't installed by any software, as
- far as I know, but the Finder 7.1 checks for this selector in certain
- situations. (Marco Piovanelli)
- jkbd (??? (Japanese!) ext [1.0], part of KanjiTalk)
- lang (WorldScript II ? ext [7.2?], part of KanjiTalk7 and
- several language kits)
- gestalt???Attr
- Returns information about the Language Manager?
-
- const
- gestaltLanguageMgrAttr = 'lang';
- gestaltLanguageMgr??? = 0;
- ldap (???)
- lngb (WorldScript II ? ext [7.2?], part of KanjiTalk7 and
- several language kits)
- Value found: $00001FFF.
- lstk (Speech Setup cp? [???], part of PlainTalk)
- ltma (Link Tool Manager ext [2.0?], part of Apple Remote Access 2.0)
- gestaltLinkToolVersion?
- Returns the version of the Link Tool Manager as NumVersion?
-
- const
- gestaltLinkToolVersion? = 'ltma';
-
- NOTE:
- The only value I've seen returned was $02002008, which would mean
- '2.0d8' which was not correct since the 'vers' recource said '2.0f0'.
- The value is hardcoded in the .LTM Driver resource. (Rene Ros)
- mash (System [7.1P?]/At Ease [1.0?])
-
- NOTE:
- The Starter cp (part of System 7.1P) and Launcher cp (part of
- System 7.5) both contain a 'mash' resource and includes a template for
- it. Can this be the same data-structure? (Rene Ros)
- mbox (Mailbox Extension? ext [???], part of PowerTalk?)
- gestaltMailboxVersion?
- Returns version of Mailbox software as INTEGER.
-
- const
- gestaltMailboxVersion? = 'mbox';
- MClk (Date & Time cp [7.5], part of System 7.5)
- (SuperClock! cp [4.0] by Steve Christensen)
- mfdr (At Ease [1.0])
- mjik (MenuMagic ext [1.0], part of System 7.1 Pro and 7.5)
- mtem (Mount'em app [1.0b1-1.0b2] by Mike Wise and Chris Cotton of
- Apple Computer)
- See the 'ddsk' selector installed by DropDisk 1.0b3 and later.
- mtv! (TV Setup cp [1.0], part of System for Macintosh TV?)
-
- NOTE:
- Not seen installed, disassembled control panel, meaning unknown.
- It's probably an address. (Rene Ros)
- NubA (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- NubD (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- NubH (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- NubV (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- octb (System? [7.5?] on PowerBook 520/540?)
- ot (??? [???])
- gestaltOpenTransportAttr?
- Returns information about the Open Transport software?
-
- const
- gestaltOpenTransportAttr? = 'ot ';
- gestaltOpenTransportPresent? = 0;
- PhoN (PowerBook Setup cp [7.3.1?], PhoneINIT INIT resource)
- port (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0])
- gestaltPortAttr?
- Returns information about the ports?
-
- const
- gestaltPortAttr? = 'port';
- gestaltHasInternalModem? = 0?;
- gestaltHasExternalPrinter? = 1?;
- gestaltHasExternalModem? = 2?;
-
- NOTE:
- System Enabler 201 and PowerBook Duo enabler contain an GDEF resource
- which indicates bits 0, 1 and 2 can be set. (Rene Ros)
- ppad (Performa cp [1.1], part of System 7.1P)
- pprf (Performa cp [1.1], part of System 7.1P)
- ptlk (Speech Setup cp? [???], part of PlainTalk)
- pxtn (At Ease app [2.0?])
- Remt (AutoRemounter cp [???])
- scrf (System? [7.5?])
- serh (System? [7.1.2?])
- gestaltSerialHardware?
- Returns type of hardware used for serial I/O?
-
- const
- gestaltSerialHardware? = 'serh'; {Serial Hardware}
- gestaltClassicSer? = 'Clas'; {returned on PPC 8100/80 (GeoPort?)}
- shal (System [7.1?])
-
- NOTE: Returns 2 on PowerMac and 1 on Centris 660AV
- slnk (MNPLinkTool? [1.0], part of Apple Remote Access)
- sndx (Sound Manager ext [3.0]?)
- gestaltSoundMgrAttr?
-
- const
- gestaltSoundMgrAttr? = 'sndx'?;
- gestaltSoundMgrPresent? = 0?
- thng (ThreadsINIT ext [2.0?], part of Threads Package)
- thrd (ThreadsINIT ext [2.0?], part of Threads Package)
- udsk (System [7.1.2 on PowerMac])
- udsv (System [7.1.2 on PowerMac])
- vdrc (PC Exchange? cp [1.0?])
- vmbs (System [7.0])
- (RAM Doubler [1.0] by Connectix Corporation)
- gestaltVMBackingStoreRef?
- Returns the file reference number of the Virtual Memory storage file
- if VM is present.
-
- const
- gestaltVMBackingStoreRef? = 'vmbs';
- vmcl (System, VM on [7.0])
- vmem (RAM Doubler [1.0] by Connectix Corporation)
- gestaltVMExtensionMgr?
- Returns type of software used to extend the Virtual Memory Mgr?
-
- const
- gestaltVMExtensionMgr? = 'vmem';
- gestaltRAMDoubler? = 'RaM2';
-
- NOTE: See 'Reports' chapter (RAMDoubler section) for more information.
-
- Third Parties Software
- ----------------------
- *DC* (DepthCharge cp [???] by Maf Vosburgh)
- AClk (AutoClock Extension ext [1.3?] by Jean-Pierre Gachen)
- ADex (AfterDark [2.0?] by Berkeley Systems, Inc.)
- ADii (AfterDark [2.0?] by Berkeley Systems, Inc.)
-
- NOTE:
- Not installed by AfterDark but the GDEF indicates it is able to return
- a response.
- ADr2 (AfterDark [2.0?] by Berkeley Systems, Inc.)
-
- NOTE:
- Not installed by AfterDark but the GDEF indicates it is able to return
- a response.
- ADRC (DDExpand appl [3.7.7?] by Fifth Generation Systems)
- ADTK (Talk*Control cp [???] by 2Way Computing, Inc.)
- AP00..AP06
- (RapidLock cp or RapidTrak cp [1.1], part of RapidTrak software by
- Insignia Solutions Inc.)
- It seems these selectors are installed for each harddisk connected to
- your Macintosh. The last two bytes of the selector are the SCSI ID.
- Although the third byte can mean something else, because perhaps
- 'AP17' (listed below) is probably also installed by
- RapidLock/RapidTrack.
- AP17 (???)
- ApWi (ApplWindows cp [2.0?] by Hiro Yamamoto)
- ASTN (Asante EN/SC ext [???] by Asante Technologies, Inc.)
- aYmm (AfterDark [2.0?] by Berkeley Systems, Inc.)
- AzNe (NameView cp [2.7?] by AStar Technologies, Inc.)
- A–Tr (Trapper ext [1.0?] by Alessandro Levi Montalcini)
- Blad (Blood cp [1.0.1?] by Alessandro Levi Montalcini)
- NOTES:
- The B is actually the option-s character (ASCII $A7).
- The d is actually the option-d character (ASCII $B6).
- bMRN (Super Boomerang cp [4.0?], part of NOW Utilities 4.0.1p package
- by NOW Software)
- CDmn (CDMenu cp [1.0?] by Henrik Eliasson)
- CHSR (ChooserUser [1.2?] by Maurice Volaski)
- CiCN (Color ICON Mania cp [1.0] by Yosuke Suzuki)
- DanS (PowerClick cp [1.0] by Daniel A. Segel)
- DCDt (NoDesktopCleanup cp [1.0?] by Alessandro Levi Montalcini)
- DCKc (Keys! cp [1.0] by Stefan Kurth)
-
- NOTE: The lowercase c is actually the control-q (Command key sign)
- character (ASCII $11).
- DD37 (DiskDoubler [3.7] by Fifth Generation Systems, Inc.)
- DDAD (AutoDoubler cp [1.0?] by Fifth Generation Systems, Inc.)
- DFlh (DiskFlash cp [1.0], part of ALSoft Power Utilities by ALSoft, Inc.)
- DlgV (Dialog View cp [2.11], formerly List Font cp by James W. Walker)
- See also 'LFnt'.
- Dpth (DepthMaster cp [1.0] by Victor Tan)
- DWG! (Volume Menu cp [1.0] by David Gladstone, Chris Burns, Julian Harris)
- EDCN (PPPReport cp [1.0b3?] by Eric de la Musse)
- EM20 (Extensions Manager cp [2.0] by Ricardo Batista)
- ESCa (Escapade cp [1.0?] by Christopher R. Wysocki)
- ESOC (Serial of Champions ext [???] by Mike Throckmorton)
- Extn (NOW Startup Manager cp [4.0?], part of NOW Utilities 4.0.1p package
- by NOW Software)
- Fie (Icon7 ext [???] by Inline Designs)
- gestaltIcon7?
- fPth (FinderPaths cp? [???])
-
- NOTE: The f is actually the option-f character (ASCII $C4).
- fmci (FinderMenu INIT ext [1.0], part of UserLand's Frontier Runtime
- package)
- FtCg (FontPatchin cp [2.0?] by Keisuke Hara)
- FW14 (FileWave Administrator ext [2.0?], part of FileWave 2.0
- by Wave Research)
- FWCP (File Tracker Controls cp [1.0] by Mark Aiken)
- fWmM (Super Boomerang cp [4.0?], part of NOW Utilities 4.0.1p package
- by NOW Software)
- GrEG (Greg's Buttons ext [3.1.4?] by Greg Landweber)
- GtOp (MenuExtend cp [1.0], part of ALSoft Power Utilities by ALSoft, Inc.)
- gV00 (PowerPort cp? [???])
- gV01 (PowerPort cp? [???])
- gV02 (PowerPort cp? [???])
- gV03 (PowerPort cp? [???])
- gV04 (PowerPort cp? [???])
- He20 (Helium cp [1.0?] by Robert L. Mathews)
- HEID (Incognito cp [1.0?] by Manuel Veloso)
- HPBG (HP Background ext [3.0?] by Hewlett-Packard Company)
- GDEF always returns value 1.
- HtLk (Reference Link ext [1.0] by James W. Walker)
- iHnd (Invisible Hand cp [1.0] by Carl Mauer)
-
- NOTE:
- Because this cp patches the _Random trap you can use this selector to
- determine its presence and refuse to continue.
- Intj (Interjection ext [???])
- JAiN (Rival cp by Inline Designs)
- gestaltRival
-
- NOTE: The i is actually the option-u/i character (ASCII $95).
- jsm1 (???)
- JXNM (NowMenus cp [4.0?], part of NOW Utilities 4.0.1p package
- by NOW Software)
- KBCF (Easy KEYS cp [1.5] by Kerry Clendinning)
- KBCM (???)
- KQae (KQ Apple Events ext [???], part of KeyQuencer
- by Alessandro Levi Montalcini)
- KQue (KeyQuencer cp [???], part of KeyQuencer
- by Alessandro Levi Montalcini)
- LFnt (Dialog View cp [???], formerly List Font cp by James W. Walker)
- See also 'DlgV'.
- LNCH (Talk*Control cp [???] by 2Way Computing, Inc.)
- LxRZ (Retro.SCSI? ext [2.0?], part of Retrospect by Dantz Development
- Corporation)
- (Remote? cp [2.0?], part of Retrospect by Dantz Development
- Corporation)
- Mgc! (Wizard INIT ext [1.0], part of Disk Wizard by Francois Pottier)
- MJC& (AutoMenus II cp [???] by Michael Conrad)
- MV10 (TearOFF cp [???] by Bad Boys' Software)
- nOAg (??? cp [1.2?], part of netOctopus by Pole Position)
- nOAv (??? cp [1.2?], part of netOctopus by Pole Position)
- Returns version as NumVersion?
- NGst (NokNok cp [1.0?])
- NkNk (NokNok cp [1.0?])
- NowT (NOW Toolbox ext [4.0?], part of NOW Utilities 4.0.1p package,
- by NOW Software)
- PBUf (???)
- PBUt (???)
- PRT+ (PrintAid [0.9?] by James W. Walker)
- PtrP (PrintPatrol [1.0] by Randy DeRuiter and John Champion)
- QRef (QuickRef ext? [1.0] by Scott Bronson)
- ReSp (File Tracker Controls cp [1.0] by Mark Aiken)
- RQDC (DropCheck cp [???] by Ronald B. Queloz)
- SCTR (FaxMonitor ext [1.6?], part of FAXcilitate by PSI)
- SDIT (???)
- SEcl (ScreenEclipse cp [1.0], part of ALSoft Power Utilities by
- ALSoft, Inc.)
- SFun (SF Windows [1.0] by Damon Cokenias)
- SFwd (Open-wide cp [3.0?] by James W. Walker)
- SLi2 (StuffIt SpaceSaver ext by Aladdin Systems, Inc. ?)
- SNIT (Snitch ext [1.0] by Mitch Jones)
- SPLO (SpigotVDIG ext [1.0] by SuperMac Technology)
- ST20 (Snap-To cp [2.0?] by Trevden Sherzell)
- STYH (StayHere! cp [2.0?] by Nobuhiro Miyatake)
- TgrX (Xmas Lights cp [1.0] by Tiger Technologies)
- Tmon (TMON Pro cp? [3.0] by ICOM Simulations)
- UhOh (SpeedyFinder7 Extension ext [1.5.9h], part of SpeedyFinder7
- by Victor Tan)
- UlOn (UndelineEnabler ext [2.0?], part of FontPachin package by
- Keisuke Hara)
- See also FtCg selector.
- View (StuffIt Viewer Engine [???] by Aladdin Systems Inc.)
- gestaltViewerEngine
- The gestalt selector is not installed until someone (StuffIt) invokes
- the engine.
- vmFn (RAM Doubler [1.0] by Connectix Corporation)
- Seems to return a memory address, perhaps to a function to control
- Virtual Memory?
-
- NOTE: See 'Reports' chapter (RAMDoubler section) for more information.
- WARE (???)
- WREO (Replace Existing Options cp [???] by Jonathon Summers)
-
- NOTE: The W is actually the option-w character (ASCII $B7).
- Wttf (TeachText7.0 Font ext [???] by Jonathon Summers)
-
- NOTE: The W is actually the option-w character (ASCII $B7).
- *Men (OtherMenu ext [1.0] by James W. Walker)
-
- Gestalt Manager Calls
- =====================
- All standard calls to the _Gestalt or _GestaltValueDispatch trap are listed
- in this chapter.
-
- Gestalt Manager Routines
- ------------------------
- The CallSelectorFunctionProc and NewSelectorFunctionProc functions were
- listed in the GestaltEqu.h file on E.T.O. #12 CD-ROM but not yet fully
- documented.
-
- FUNCTION Gestalt (selector: OSType; VAR response: LongInt): OSErr;
- Available since System 6.0.4.
- Trap Macro
- _Gestalt ($A1AD)
- Registers on entry D0: selector code
- Registers on exit A0: response
- D0: result code
- Result codes
- noErr 0 No error
- gestaltUnknownErr -5550 Could not obtain the response
- gestaltUndefSelectorErr -5551 Undefined selector
- FUNCTION NewGestalt (selector: OSType; selectorfunction: ProcPtr): OSErr
- Available since System 6.0.4.
- Trap Macro
- _NewGestalt ($A3AD)
- Registers on entry A0: address of new selector function
- D0: selector code
- Registers on exit D0: result code
- Result codes
- noErr 0 No error
- memFullErr -108 Ran out of memory
- gestaltDupSelectorErr -5552 Selector already exists
- gestaltLocationErr -5553 Function not in system heap
- FUNCTION ReplaceGestalt (selector: OSType; selectorfunction: ProcPtr;
- VAR oldGestaltFunction: ProcPtr): OSErr;
- Available since System 6.0.4.
- Trap Macro
- _ReplaceGestalt ($A5AD)
- Registers on entry A0: address of new selector function
- D0: selector code
- Registers on exit A0: address of old selector function
- D0: result code
- Result codes
- noErr 0 No error
- gestaltUndefSelectorErr -5551 Undefined selector
- gestaltLocationErr -5553 Function not in system heap
- #define CallSelectorFunctionProc(userRoutine, selector, response) \
- (*userRoutine)(selector, response)
- Trap Macro
- ??? (???)
- Registers on entry ???
- Registers on exit ???
- Result codes
- noErr 0 No error
- ??? ??? ???
- #define NewSelectorFunctionProc(userRoutine) \
- (SelectorFunctionUPP)(userRoutine)
- Trap Macro
- ??? (???)
- Registers on entry ???
- Registers on exit ???
- Result codes
- noErr 0 No error
- ??? ??? ???
-
- Undocumented Gestalt Manager Routines
- -------------------------------------
- FUNCTION? GestaltDispatch? (???):OSErr;?
- Trap Macro
- _GestaltDispatch ($A0AD)
- Registers on entry ???
- Registers on exit ???
- Result codes
- noErr 0 No error
- ???
-
- NOTE:
- Found in the MPW, THINK C and THINK Pascal Traps Interface file
- on 'Bookmark CD 14'.
- Available since System 6.0.4 but code will always return error -50
- (paramErr). (Lawrence D'Oliveiro, Rene Ros)
- FUNCTION? GetGestaltProcPtr? (selector?: OSType;
- var selectorfunction: ProcPtr): OSErr;?
- Trap Macro
- _GetGestaltProcPtr ($A7AD)
- Registers on entry D0: selector code?
- Registers on exit ??: address of selector function
- Result codes
- noErr 0 No error
- ???
-
- NOTE:
- Found in the MPW Traps Interface file on 'Bookmark CD 14'.
- Available since System 6.0.4 but code will always return error -50
- (paramErr). (Lawrence D'Oliveiro, Rene Ros)
- I (Rene Ros) have written Pascal code to do what this system call
- probably is planned to do in the future.
-
- Gestalt Value Routines
- ----------------------
- Please note the GestaltValue routines can be invoked through a library,
- but since System 7.5 the GestaltValue routines are also part of the OS.
- The GestaltValue routines are stack based and don't use registers.
- The GestaltValue library first checks to see if trap $ABF1 is implemented
- (System 7.5 and later). If trap $ABF1 is implemented, all calls to the
- library are routed to this trap, otherwise the library uses embedded code.
- Several Apple System selectors use the GestaltValueDispatch A-trap to
- install the response value starting with System 7.5.
-
- WARNING:
- The GestaltValue library distributed originally checks for the wrong trap
- (_ThreadDispatch, $ABF2). Make sure your software doesn't crash when this
- trap is installed by the Thread Manager extension. See the Related Software
- section in the 'General Info' chapter for availability.
- (Most info about the GestaltValue functions was provided by
- Marco Piovanelli and Dave Radcliffe).
-
- FUNCTION NewGestaltValue (selector: OSType; newValue: LongInt): OSErr;
- Available as library and since System 7.5.
- Trap Macro Selector
- _GestaltValueDispatch ($ABF1) $0401
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- memFullErr -108 Ran out of memory
- (and other memory errors)
- gestaltDupSelectorErr -5552 Selector already exists
- FUNCTION ReplaceGestaltValue (selector: OSType;
- replacementValue: LongInt): OSErr;
- Available as library and since System 7.5.
- Trap Macro Selector
- _GestaltValueDispatch ($ABF1) $0402
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- memFullErr -108 Ran out of memory
- (and other memory errors)
- gestaltUndefSelectorErr -5551 Undefined selector
- FUNCTION DeleteGestaltValue (selector: OSType): OSErr;
- Available as library and since System 7.5.
- Trap Macro Selector
- _GestaltValueDispatch ($ABF1) $0203
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- gestaltUndefSelectorErr -5551 Undefined selector
- FUNCTION SetGestaltValue (selector: OSType; newValue: LongInt): OSErr;
- Available since System 7.5?
- Trap Macro Selector
- _GestaltValueDispatch ($ABF1) $0404
- Result codes
- noErr 0 No error
- ???
-
- Kilo-liners
- ===========
- This chapter will list very small pieces of code which are related to
- any Gestalt Routine.
-
- Direct Gestalt Calls
- --------------------
- You can use the following code to call directly the Gestalt, NewGestalt and
- ReplaceGestalt traps. In that way the (large) glue code will not be
- installed by your compiler. (Contributions by Lawrence D'Oliveiro and
- Marco Piovanelli).
-
- FUNCTION Gestalt (selector: OSType; VAR response: LongInt): OSErr;
- inline $225F, $201F, $A1AD, $2288, $3E80;
- { move.l (sp)+, a1 }
- { move.l (sp)+, d0 }
- { _Gestalt }
- { move.l a0, (a1) }
- { move.w d0, (sp) }
-
- FUNCTION NewGestalt (selector: OSType;
- gestaltFunction: ProcPtr): OSErr;
- inline $205F, $201F, $A3AD, $3E80;
- { move.l (sp)+, a0 }
- { move.l (sp)+, d0 }
- { _NewGestalt }
- { move.w d0, (sp) }
-
- FUNCTION ReplaceGestalt (selector: OSType;
- gestaltFunction: ProcPtr;
- VAR oldGestaltFunction: ProcPtr): OSErr;
- inline $225F, $205F, $201F, $A5AD, $2288, $3E80;
- { move.l (sp)+, a1 }
- { move.l (sp)+, a0 }
- { move.l (sp)+, d0 }
- { _ReplaceGestalt }
- { move.l a0, (a1) }
- { move.w d0, (sp) }
-
- Direct GestaltValue Calls
- -------------------------
- You can use the following code to call directly the NewGestaltValue,
- ReplaceGestaltValue and DeleteGestaltValue when the _GestaltValueDispatch
- trap is available. *AS04
-
- FUNCTION NewGestaltValue(selector: OSType, newValue: LongInt): OSErr;
- inline $303C, $0401, $ABF1;
-
- FUNCTION ReplaceGestaltValue(selector: OSType,
- replacementValue: LongInt): OSErr;
- inline $303C, $0402, $ABF1;
-
- FUNCTION DeleteGestaltValue(selector: OSType): OSErr;
- inline $303C, $0203, $ABF1;
-
- FUNCTION SetGestaltValue (selector: OSType; newValue: LongInt): OSErr;
- inline $303C, $0404, $ABF1;
-
- GestaltSelectorZero
- -------------------
- With all the selectors that are supposed to return non-zero values if
- installed, it may be helpful to have an utility routine that returns a zero
- value (instead of an error) if a selector isn't installed. It's short and
- sweet because it makes a direct call to the _Gestalt trap; of course this
- means you can't use it on systems earlier than 6.0.4.
- (Contributed by Lawrence D'Oliveiro)
-
- FUNCTION GestaltSelectorZero (Selector: OSType): LongInt;
- {returns the value of the specified Gestalt selector,}
- {or zero if unknown.}
- inline $201F, $A1AD, $6702, $91C8, $2E88;
- { move.l (sp)+, d0 }
- { _Gestalt }
- { beq.s @2 }
- { sub.l a0, a0 }
- { @2: move.l a0, (sp) }
-
- GestaltBitTest
- --------------
- The GestaltBitTest is a piece of inline assembly code which tests if the
- specified bit is set in the value from the specified Gestalt selector
- (false if the Gestalt call returns an error).
-
- Example:
- GestaltBitTest(gestaltAppleEventsAttr, gestaltAppleEventsPresent)
-
- (Contributed by Lawrence D'Oliveiro)
-
- FUNCTION GestaltBitTest(Selector: OSType; BitNr: Integer): Boolean;
- inline
- $321F, $201F, $A1AD, $6702, $91C8, $2008, $0300, $56C0, $4400, $1E80
- { move.w (sp)+, d1 }
- { move.l (sp)+, d0 }
- { _Gestalt }
- { beq.s @2 }
- { sub.l a0, a0 }
- { @2: move.l a0, d0 }
- { btst d1, d0 }
- { sne.b d0 }
- { neg.b d0 }
- { move.b d0, (sp) }
-
- Call Gestalt Function Direct
- ----------------------------
- Suppose you have just loaded an GDEF resource, or replaced one and keep the
- original around and store a pointer to it somewhere private. Suppose next,
- you want to call it to obtain a response without using yet another selector.
- Thats what the following inline code is useful for. Just pass it the
- usual selector and result parameters but also a pointer to the GDEF
- (Lock it if it's a relocatable block).
-
- FUNCTION CallGestaltDEF (selector: OSType;
- var result: LongInt;
- aRoutine: ProcPtr): OSErr;
- inline $205F, $4E90;
- { move.l (sp)+, a0 }
- { jsr (a0) }
-
- Reports
- =======
- When someone reports some findings involving several selectors and/or a
- report is too long to include with the selector entry above, that report
- is listed here. They should be as short as possible with the maximum
- amount of information.
-
- AppleShare File & Print Server selector codes
- ---------------------------------------------
- The selectors are defined when the application has run. If it is still
- running (or wasn't properly quit) the response is one. When the application
- has properly quit the response is zero.
- admn AppleShare Admin
- asps AppleShare Print Server
- hgfd AppleShare File Server
- (these three are undocumented)
-
- AppleTalk
- ---------
- With the release of the System 7 Tuner product, AppleTalk will not be
- loaded at startup, if prior to the previous shutdown AppleTalk was turned
- off in the Chooser. Under this circumstance, the 'atkv' selector is not
- available. If the 'atkv' selector is not available under System 7, this is
- an indicator that AppleTalk cannot be turned on without doing so in the
- Chooser and rebooting the system. *AT02
-
- Copy protection using Gestalt
- -----------------------------
- In Develop 17 Brigham Stevens suggests to use Gestalt and FindFolder as a
- way to implement copy protection in the most compatible way possible.
- By determining several characteristics at installation from the Gestalt Mgr
- and the DirID of the System Folder with FindFolder you can check for this
- info later. When is has changed you can then ask for the serial number
- or a password again. (Rene Ros)
-
- Environs & SysEnvirons
- ----------------------
- Using Macsbug it is very easy to determine that the SysEnvirons function
- uses the Gestalt Manager to fill the fields of the system environment
- record. So, when you install your own gestalt definitions by using the
- ReplaceGestalt function this will also change the information returned
- by SysEnvirons.
- The older Environs function doesn't use the Gestalt Mgr and the code
- seems to look only at two values in ROM. (Rene Ros)
-
- Executor Mac-emulator
- ---------------------
- Executor is a Macintosh Emulator for DOS machines, published by
- Abacus Research and Development, Inc. (1993/1994). The Gestalt Manager is
- also emulated and the version I have seen (on a 486DX) says it's a MacPlus
- with a 68LC040 processor with MMU. The 'sysv' selector returns 0x607 but
- it also lists a lot of selectors usually not installed by 6.0.7. Like
- the 'edtn' and 'stdf' selectors. For those it then simply returns zero.
- Strangely enough the 'tabl' selector is not installed, but this doesn't
- confuse the Gestalt! application! (Rene Ros)
-
- Gestalt Apple Event
- -------------------
- The scriptable Finder (with System 7 Pro and later) supports an Apple Event
- kAEGestalt ('gstl', class KAEFinderSuite: 'fndr') to return Gestalt
- information. On the local machine you can call Gestalt direct but remote
- computers can now be examined also. If someone finds more detailed info
- about this or has some working source samples, please let me know. Or
- perhaps you want to write an application showing all Gestalt data and
- even quering remote machines???
- (Rene Ros; source: "Scripting the Finder from your Application" in
- Develop 20)
-
- GestaltValue
- ------------
- The first time you call NewGestaltValue, the library installs two non-
- relocatable blocks in the system heap and the 'gval' gestalt selector. One
- of the blocks is filled with code: it's actually a gestalt definition that
- implements GestaltValue's shared mechanism. The second block contains the
- selectors and values GestaltValue manages. The response returned by the
- 'gval' selector is a pointer to the second non-relocatable block in the
- system heap. (Marco Piovanelli)
-
- Dave Radcliffe wrote on 23 March 1993 regarding some information, about the
- GestalValue glue code, listed with version 1.4 of this list:
- ---------------------------------------------------------------------------
- The information on the _GestaltValue trap ($ABF2) is correct based on the
- glue, but because of a mistake on my part, the glue should be checking for
- $ABF1. A new version of the glue is being distributed on the developer CD
- next month. If developers need the fixed version sooner, or don't have
- access to the CD, they can write to me at:
-
- radcliff@apple.com
-
- and I'll send them the fixed version.
- ---------------------------------------------------------------------------
-
- Glue code
- ---------
- These development/compiler software contain glue-code to handle a few
- selectors even when the Gestalt Manager is not available.
-
- THINK C (5.0 and later)
- THINK Pascal (4.0 and later)
- MPW (3.2 and later)
-
- The following selectors can be handled by the glue-code, with all others
- an error (gestaltUndefSelectorErr) will be returned.
-
- gestaltAppleTalkVersion = 'atlk';
- gestaltFPUType = 'fpu ';
- gestaltKeyboardType = 'kbd ';
- gestaltLogicalRAMSize = 'lram';
- gestaltMachineType = 'mach';
- gestaltMMUType = 'mmu ';
- gestaltPhysicalRAMSize = 'ram ';
- gestaltProcessorType = 'proc';
- gestaltQuickdrawVersion = 'qd ';
- gestaltSystemVersion = 'sysv';
- gestaltVersion = 'vers';
-
- Unless you are using direct calls, ofcourse.
- (Source: THINK Reference 2.0)
-
- PPC Libraries
- -------------
- Some of the Gestalt selector functions are smart enough to avoid crashing
- when the user removed the library file from the Extensions folder without
- restarting the machine. And some selector functions aren't that smart.
- Safest is to preflight the first call you make into the library (for code
- or data) or include a preflight in your startup.
- (based on a posting by John Baxter in the comp.sys.mac.programmer Usenet
- newsgroup on Internet.)
-
- QuickTime
- ---------
- If you install QuickTime under System 6, a major portion of the Alias
- Manager and FSSpec support is also added. But, QT doesn't implement the
- Gestalt selectors because the implementation is not complete. You must
- check for either Alias Mgr or QuickTime. (Michael Hecht)
-
- These are the limitations for the Alias Mgr installed by QuickTime:
- - NewAlias will accept fromFile parameter, but it never creates a
- relative alias.
- - NewAliasMinimalFromPath and ResolveAliasFile aren't available.
- - ResolveAlias and UpdateAlias ignore the fromFile parameter.
- - MatchAlias may be called but the kARMMultVols, kARMSearchMore and
- kARMSearchRelFirst flags aren't available and ignored if passed.
- Also, a matchProc will never be called.
- - Won't mount network volumes.
-
- And these are the FSSpec calls available with System 6 when QuickTime is
- installed:
- - FSMakeFSSpec
- - FSpOpenDF
- - FSpOpenRF
- - FSpCreate
- - FSpDirCreate
- - FSpDelete
- - FSpGetFInfo
- - FSpSetFInfo
- - FSpSetFLock
- - FSpRstLock
- - FSpRename
- - FSpCatMove
- - FSpOpenResFile
- - FSpCreateResFile
- - FSpGetCatInfo
-
- See for more information Technical Note M.QT.MovieTB.Q&As (QT 510) and
- Develop 11 magazine on page 122.
-
- RAM Doubler
- -----------
- It looks like RAM Doubler tricks the system in thinking there is virtual
- memory but actually stores it somewhere else in memory instead to disk
- which we are used to before RAM Doubler came around. It also looks like
- this is done in corporation with Apple since a selector installed by
- RAM Doubler is 'vmem' which is all lower-case and thus reserved by Apple.
- In addition the response from this selector is always LongInt('RaM2') which
- is the creator type of RAM Doubler. It seems this selector is used to
- indicate which software is used to extend the capabilities of the Virtual
- Memory Manager.
- RAM Doubler also installs the selector 'vmFn' which seems to be a pointer
- to a function to control RAMDoubler or to obtain information. It looks like
- registers are used to pass parameters to and from that function. D0 perhaps
- holds values 1 to 6 as input and perhaps A0 is used for the return value.
-
- FUNCTION VMExtensionControl? (selector: Integer; VAR result: LongInt): OSErr;
- Registers on entry D0: selector code
- Registers on exit A0: result code
- D0: error code
- Result codes
- noErr 0 No error
- invalidSelector? 206 Invalid selector value?
- ???
-
- Values used as selector:
- const
- kVMControlType? = 1; {type VM extension: RaM2}
- kVMControlVersion? = 2; {version VM extension as BCD}
- kVMControl??? = 3; {engine version as BCD?: $0313}
- kVMControlMemSize? = 4; {unknown: Get/SetMemorySize?}
- kVMControlMemSize? = 5; {unknown: Get/SetMemorySize?}
- kVMControl??? = 6; {unknown}
- kVMContolMaxFunctions? = MAXINT; {returns number of valid selectors}
- {or any other value outside the}
- {current 1-6 range}
-
- Remember: all this is heresay!!!
-
- Because of all this you can imagine RAM Doubler replaces/installs the
- following System Software selectors (and I think it does):
- lram, pgsz, ram , vm , vmbs. (Anonymous, Rene Ros)
-
- General Info
- ============
- The following sections provide general information needed or useful in
- relation to the Gestalt Manager.
-
- System Managers
- ---------------
- Listed below is a table with the different software components of the
- System Software with their related selectors. The selectors listed with
- this table are included in the (known) 'Apple System Software' and
- 'Apple Additional Software' sections.
- It provides a cross-reference to selectors and a starting point into other
- documentation (Inside Macintosh).
- With System Software versions before 6.0.4 (and Gestalt) you may need to
- use TrapAvailable to determine the presence of certain system parts.
-
- ===========================================================================
- System Software components and their selectors
- ===========================================================================
- Manager Determine presence/features by using:
- ---------------------------------------------------------------------------
- A/UX a/ux
- ADB Mgr ???
- Alias Mgr alis
- Apple Event Mgr evnt
- Apple Guide help, reno
- Apple Remote Access arb , strm
- AppleScript ascr, ascv
- AppleTalk Mgr atkv, atlk
- At Ease kids
- CD-ROM Software aucd, hscd, iscd, kpcd, ufox
- CloseView BSDa
- Code Fragment Mgr cfrg
- Collection Mgr cltn
- Color Mgr ???
- Color Picker Mgr cpkr
- ColorSync Utilities cmta, cmtc
- Communications Toolbox ctbm, ctbu, ctbv
- see:
- Communications Resource Mgr
- Connection Mgr
- Telephone Mgr
- Terminal Mgr
- Communications Resource Mgr crm
- Component Mgr cpnt
- Compression Mgr icmp
- Connection Mgr conn
- Control Mgr no need to check
- Control Strip sdev, csvr
- Cursor Utilities qd >= gestalt32BitQD
- Data Access Mgr dbac
- Debugger (MacsBug) See PT 535 - MacsBug Q&As TechNote
- Deferred Task Mgr ???
- Desk Manager no need to check
- Desktop Mgr PBHGetVolParms fills GetVolParmsInfoBuffer.
- Test for the bHasDesktopMgr bit (12) of the
- vMAttrib field for all volumes.
- Device Mgr no need to check
- Dialog Mgr ditl, TrapAvailable(_DialogMgrDispatch)
- Dictionary Mgr dict
- Digital Signature Toolbox dsig
- Disk Initialization Mgr fs
- Display Mgr dplv, dply
- Docking Mgr ???
- Drag Manager drag
- Easy Access eajt, easy
- Edition Mgr edtn
- File Mgr ???, fs
- File System Mgr fs , fsm
- File Transfer Mgr fxfr
- Finder fndr
- FindFolder function fold
- Flagship flag
- Font Mgr font
- Gestalt Mgr gval, tabl, vers, TrapAvailable(_Gestalt),
- TrapAvailable(_GestaltValueDispatch)
- Help Mgr help
- Icon Utilities icon, TrapAvailable(_IconDispatch)
- LAP Mgr atlk >= 53
- List Mgr no need to check ?
- MacsBug see: Debugger (MacsBug)
- MacTCP mtcp
- Memory Mgr addr, cash, lram, os
- Memory Management Utilities addr, TrapAvailable(_HWPriv) ?
- Menu Mgr no need to check
- Message Mgr mess
- MIDI Mgr ???
- Mixed Mode Mgr mixd
- Notification Mgr nmgr, TrapAvailable(_NMInstall) with System
- before 6.0.4 ?
- OCE Toolbox ocet, oceu
- Offscreen Graphics Worlds (qd >=gestalt32BitQD) OR (sysv >= $0700) ?
- OS Utilities depends on call
- OSA Use Component Mgr to check for Generic
- Scripting Component
- PC Exchange pcxg
- Package Mgr no need to check
- Picture Utilities sysv >= $0700
- Popup CDEF pop!
- Power Mgr powr
- PowerTalk see:
- Digital Signature Toolbox,
- OCE Toolbox,
- S&F Server,
- SDP Find,
- SDP Prompt,
- SDP Standard Directory,
- SMP Mailer,
- SMP Sendletter
- PPC Toolbox ppc
- Process Mgr os
- QuickDraw qd , qdrw
- QuickDraw GX qdgx
- QuickDraw GX Graphics gfxa, grfx
- QuickDraw GX Printing Mgr pmgr
- QuickTime qtim, qtrs
- Realtime Mgr rtmr
- Resource Mgr rsrc
- S&F Server (PowerTalk) see OCE Toolbox
- SANE (OmegaSANE) ???
- Scrap Mgr scra
- Script Mgr scr#, scri, TrapAvailable(_ScriptUtil)
- SCSI Mgr scsi
- SDP Find (PowerTalk) dfnd
- SDP Prompt (PowerTalk) prpv
- SDP Standard Directory (PowerTalk)
- sdvr
- Segment Mgr no need to check
- Server control calls TrapAvailable(ServerDispatch) [$A094]
- Shared Library Mgr ??? (aslm?)
- Shutdown Mgr TrapAvailable(_Shutdown) ?
- Slot Mgr nubs, slot, slt1, sltc
- SMP Mailer (PowerTalk) malr
- SMP Sendletter (PowerTalk) spsl
- Sound Mgr snd , snhw, TrapAvailable(_SndDispatch)
- Sound Input Mgr snd
- Speech Mgr ttsc
- Speech Recognition srta, srtb
- Standard File Package stdf
- Standard NBP nlup
- System Toolbox (hardware)
- coprocessor fpu
- disks intd
- keyboard kbd
- machine mach
- misc. ICs hdwr, mmu , rbv , sccr, sccw, ser ,
- via1, via2
- processor cput, proc, sysa
- RAM ICs ram , prty
- ROM ICs rom , romv
- trackpad tpad
- System Toolbox (software) lmem, micn, misc, os , ostt, osyv,
- sysv, tbtt, xttt
- Telephone Mgr tele
- Terminal Mgr term
- TextEdit te , teat
- Text Services Mgr tsma, tsmv
- Text Services Manager for TextEdit
- tmTE, tmTV
- Text Utilities depends on call
- Thread Mgr thds
- Time Mgr tmgr
- Toolbox Utilities depends on call
- Translation Mgr xlat
- TV & Video mtv2, tv
- Vertical Retrace Mgr no need to check
- Video see: TV & Video
- Virtual Memory Mgr pgsz, vm
- Windows Mgr no need to check
- Workstation Management Agent wma.
- WorldScript scri >= $0710, ws 1
- XTND Technology XTND
- ---------------------------------------------------------------------------
-
- Gestalt Problems
- ----------------
- This section lists all known problems related to the Gestalt selectors.
- Each problem is also listed with each of the entries in the selector
- chapters above. The table below provides an overview.
-
- ===========================================================================
- Overview Gestalt selector problems
- ===========================================================================
- Software Code Problem Status
- ---------------------------------------------------------------------------
- Apple Photo Access ext kpcd always returns $FFFFFFF7 R unclear
- AppleScript ext ascv different formats version R problem?
- AppleTalk atkv majorRev of version in hex problem?
- Color Picker ext cpkr incorrect return values? problem?
- Control Strip cp sdev two symbolic names defined problem?
- Easy Access cp easy incorrect return values C unknown
- Icon Utilities code icon not installed C SYS 712?
- Link Tool Mgr 2.0 ext ltma incorrect version value? R problem?
- PowerTalk ext/Control Strip 1.0 cp
- sdvr same selector for both? C CS 1.1?>
- Shared Library Mgr ext aslm incorrect version value? problem?
- Speech Recognition ext srta, srtb
- installed even if no SR possible R unclear
- System (enablers) *ALL* Gestalt Mgr with System 7.1.2 C SYS 7.5>
- *ALL* Minimal System 7 may lie about
- managers present C SYS 7.5>
- alis QT part. installs but no selector C ok
- cash never installed? unclear
- conn not installed with System 6 problem?
- cput incorrect values 68K header file C fixed
- system 7.5? returns incorrect
- values for 68K C unknown
- ctbv PM returned 1.1 while ROM has 1.0 C SU 3.0 >
- fs QT part. installs but no selector C ok
- intd bit 1 (disk spon up) not set R problem?
- kbd Adjustable Keyboard incorrect C SU 2.0 >
- not installed on PM7100 (7.1.2) unclear
- qdrw HasColor set on B/W machines (7.0)C unknown
- rsrc PartialRsrcs not set with 7.0 C 7.1 >
- sltc No information on IIsi slot C never?
- sysv KanjiTalk 6.0.7 incorrect return value
- C sysvINIT
- System 6.0.8 returns $0607 never
- System 7.1.2/PPC card returns 0710 unclear
- System/Apple Event ext evnt constants overlap header files C fixed
- ---------------------------------------------------------------------------
- R = unconfirmed but known to be reported to Apple
- C = confirmed
- fixed = problem is fixed, see selector entry for more information
- ok = meant to work this way...
- unclear = unclear if it will ever be fixed
- unknown = unknown when it will be fixed
-
- History
- -------
- This section contains a short overview about the history of the Gestalt
- Manager and its predecessors.
-
-
- ENVIRONS
-
- PROCEDURE Environs (VAR rom,machine: INTEGER);
-
- With the introduction of the Macintosh the system routine 'Environs' was
- introduced. It allowed to obtain two pieces of information: the ROM version
- and a value to indicate the machinetype. This "ROM oriented" way soon
- appeared to be insufficient when the range of Macintosh hardware and
- software became more diverse.
-
-
- SYSENVIRONS
-
- FUNCTION SysEnvirons (versionRequested: INTEGER;
- VAR theWorld: SysEnvRec): OSErr;
-
- With System 4.1 a new system routine was introduced which allowed the
- programmer to obtain more information about the current configuration.
- Upon completion SysEnvirons filled the SysEnvRec with the information.
- This was however an "all-or-nothing" situation, it was not possible to
- obtain just one piece of information.
- To allow for larger system environment records with more information one
- needed to specify the version number of the system environment record. The
- last version, introduced with System 6, was version 2 which had nine fields.
-
-
- GESTALT
-
- FUNCTION Gestalt (code: LONGINT; VAR feature: LONGINT): OSErr;
-
- You may wonder how one can be so stupid to list the Gestalt routine wrong...
- However, this is how the Gestalt routine was presented to developers in
- the Preliminairy Developer Note regarding System 7 in 1989. It was
- originally written in 1988.
- There was no selector of type OSType as we known it today. Instead a list
- of numerical constants was used, like:
-
- zVersion = $1; { Gestalt Version }
- zMachType = $100; { machine type }
- zSystemVers = $101; { system file version }
-
- and nine others.
- But the principle used with todays Gestalt routine was there: request one
- specific piece of information and you'll get it. Nothing more and nothing
- less. Back then it wasn't the Gestalt Manager since there was only one
- routine. Both the NewGestalt and the ReplaceGestalt did not exist.
- In June 1992 (released in February 1993?) three new functions were added
- to the Gestalt Manager: NewGestaltValue, ReplaceGestaltValue and
- DeleteGestaltValue
-
- Abbreviations
- -------------
- A/UX - Apple UNIX
- ADB - Apple Desktop Bus
- AMU - Apple Memory Unit?
- ARTA - Apple Real Time Architecture
- AS - AppleShare
- ASC - Apple Sound Chip
- ASCII - American Standard Code for Information Interchange
- ASIC - Application Specific Integrated Circuit
- AURP - AppleTalk Update-based Routing Protocol
- AWAC - Audio Waveform Amplifier and Converter
- Caboose - processor that manages the keyswitch, system power,
- the real-time clock, and parameter RAM
- CDEF - Control DEFinition (code resource)
- CISC - Complex Instruction Set Computer (compare with RISC)
- CLUT/DAC - color look-up table and digital-to-analog converter IC
- Combo - chip, combines the functions of the SCC and the SCSI controller
- CPU - Central Processing Unit
- DAFB - Direct Access Frame Buffer
- DAV - Digital Audio Video (connector)
- DDC - Display Driver Chip
- DFAC - Digitally Filtered Audio Chip
- DITL - Dialog ITems List (resource)
- DLL - Dynamically Linkable Library
- DMA - Direct Memory Access
- DN - Developer Note
- DOS - Disk Operating System (to run a computer???)
- DRAM - Dynamic RAM
- DSP - Digital Signal Processor
- EASC - Enhanced Apple Sound Chip
- FAT - File Allocation Table?
- FMC - Fitch Memory Controller
- FPU - Floating Point Unit
- GDEF - Gestalt DEFinition (code resource)
- GPi - General Purpose Input
- IM - Inside Macintosh
- IOP - Input/Output Processor
- IWM - Integrated Woz Machine
- JDB - Junction Data Bus
- JMC - Jaws Memory Controller
- MacOS - Macintosh Operating System
- MCU - Memory Control Unit
- MAE - Macintosh Application Environment (Mac system on UNIX RISC)
- MEO - Macintosh Easy Open
- MMU - Memory Management Unit
- NBP - Name Binding Protocol
- OCE - Open Colloboration Environment
- OMC - Orwell Memory Controller
- OS - Operating System
- OSA - Open Scripting Architecture:
- OSA is the Open Scripting Architecture. It is the layer upon
- which all scripting languages sit and the method by which
- applications call scripts. (Jon Pugh)
- OSL - Object Support Library
- OSS - Operating System Support chip
- PB - PowerBook
- PCI - Peripheral Component Interconnect bus
- PDS - Processor-Direct Slot
- PGC - Parity Generator Chip
- PMMU - Paged Memory Management Unit
- PSRAM - Pseudo Static RAM
- PPC - Process-to-Process Communication, also:
- PowerPC
- ProDOS - Professional Disk Operating System? (OS for the Apple //)
- PWM - Pulse-Width Modulated?
- QD - QuickDraw
- RAM - Random Access Memory (see DRAM & SRAM, compare ROM)
- RAMDAC - Random Access Memory, Digital/Analog Converter
- RBV - RAM-Based Video
- RISC - Reduced Instruction Set Computer (compare with CISC)
- ROM - Read Only Memory
- RSB - Ram Based Sound
- RTC chip - Real-Time Clock chip
- RPU - Random Parity Unit
- SCC - Serial Communications Controller
- SCSI - Small Computer System Interface
- SDP - Standard Directory Package
- SIMM - Single In-line Memory Module
- SMP - Standard Mailer Package
- Sonic - chip for built-in Ethernet
- Sporty - a custom IC that provides sound output amplification functions
- SRAM - Static RAM
- SWIM - Super-Wozniak Integrated Machine OR
- Sanders-Wozniak Integrated Machine
- TE - TextEdit (32Kb limited built-in text-engine)
- TN - Technical Note
- TTS - Text-To-Speech
- VDAC - Video Digital to Analog Converter
- VIA - Versatile Interface Adapter
- VM - Virtual Memory
- VRAM - Video RAM
- YANCC - Yet Another NuBus Controller Chip
-
- FA - File Access
- RA - Remote Access
-
- Sources
- -------
- A Apple Computer, Inc.
- AD Documentation & Magazines
- AD01 MacTCP Programmer's Guide
- AD02 AppleTalk Remote Access API External Reference Specification
- AD03 Macintosh Easy Open programmer's docs
- AD04 Thread Manager 1.1 and 2.0 documentation
- AD05 Drag Manager Programmer's Guide
- AD06 Sound Manager Tech Note on BookMark CD 16
- AD07 Develop 17, p. 123
- AD08 MAE Compatibility Hints
- AD09 Color Matching documentation on ETO 14 and BookMark 18
- AD10 OS Compatability doc on WWDC 1994 CD
- AD11 IM PPC System Software
- AD12 IM OS Utilities
- AD13 Develop 19, p. 105
- AD14 File System Manager Guide, Sep. 1994
- AD15 Apple Remote Access API, part of Mac OS SDK
- AD16 Apple Guide Authoring Kit
- AD17 IM Advanced Color Imaging (Draft)
-
- AS Software, source code & header files
- AS01 QuickTime ImageCompression source files
- AS02 CommToolbox 1.1 source files
- AS03 MPW Interface files on Bookmark CD 14
- AS04 GestaltEqu header file on ETO 12
- AS05 GestaltEqu header file on ETO 13
- AS06 GestaltEqu header file on BookMark CD 17
- AS07 TSMTE header file on BookMark CD 17
- AS08 AppleScript header file on ETO 14
- AS09 Drag header file on ETO 14
- AS10 XTNDInterface header file on ETO 14
- AS11 ControlStrip header file on BookMark CD 19
- AS12 AppleGuide header file on BookMark CD 18
- AS13 Macintosh on RISC SDK (also on CodeWarrior CD)
- AS14 Gestalt header file as part of Universal Interfaces 2.0a1
-
- AT Technical Notes
- AT01 TN M.OV.GestaltSysenvirons (OV 16), May 1987
- AT02 TN M.NW.AppleTalk2 (NW 13), Feb.1992
- AT03 TN M.DV.CD-ROMDriver (DV 22), May 1993
- AT04 TN M.HW.SCSI.Q&As (HW 540), Oct. 1990
- AT05 TN M.TX.TextServicesMgr.Q&As (TE 531), May 1993
- AT06 TN OS 05 - System Update 3.0, July 1993/Rev. May 1994
- AT07 TN M.DV.CuriousSCSI, May 1994
-
- S Symantec Corp.
- S01 THINK Pascal 4.0 interface files
- S02 THINK C GestaltGlue source files
- S03 THINK Reference 1.0 and 2.0
-
- M Miscellaneous sources
- M01 Gestalt DA 0.4 1990 (Carl C.Hewitt)
- M02 Gestalt dcmd 1.0 (Eric Simenel, Apple Computer France)
- M03 sysvINIT source files (Apple Computer Japan, Inc.)
- M04 TMON Professional Reference Manual, p.192 (ICOM Simulations)
- M05 AfterDarkGestalt.h file (Berkeley Systems, Inc.)
- M06 SoftwareFPU Programmer Info (John Neil & Associates)
-
- Related Software
- ----------------
- Listed below is software which may be of interest to developers because
- they are a tool providing information from the Gestalt Manager, include
- Gestalt-related source code or provide additional capabilities to the
- Gestalt Manager. Included is also were you can find or get a copy.
- All software available on sumex-aim.stanford.edu is also available on the
- INFO-MAC CD-ROM by Pacific HiTech, Inc. The INTERNET FTP-sites mentioned
- may have one or more mirror sites as well. Locations on CompuServe are not
- included.
- Some software listed below can also be found at the mail-archive server,
- see the section 'Availability' in the 'About this list' chapter for more
- information.
-
- 5thColumn, GestaltProbe (Kamran Golriz, Apple Computer Inc.)
- Extension with MPW Tools to query other mac on a network, one of
- the tools is GestaltProbe.
-
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Tools & Applications:Network & Communications:5th Column:
- AEgestalt (Kent Sandvik, Apple Computer Inc.)
- Uses Apple Events to get Gestalt response from remote machine,
- includes C-source. (Requires color?? Doesn't run on MacPlus)
-
- FTP: ftp.apple.com [130.43.2.3]
- ftp://ftp.apple.com/dts/mac/sc/snippets/platforms.tools/
- aegestalt-1-0.hqx
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Documentation & Samples:Sample Code:Snippets:
- Platforms & Tools:AEGestalt 1.0:
- AfterDark Gestalt header file (Berkeley Systems, Inc.)
- Header file for using the gestalt selectors used by many screensavers.
-
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get src/AfterDarkGestalt.h
- brklysystm@aol.com (Berkeley Systems Mac Tech Support)
- ask them nicely to email the AfterDarkGestalt.h file.
- CheckGestaltFor (Neil Shulman)
- Hypercard external to access the Gestalt Manager.
-
- FTP: sumex-aim.stanford.edu [36.44.0.6]
- ftp://sumex-aim.stanford.edu/info-mac/card/
- check-gestalt-for-xcmd.hqx
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/check-gestalt-for-xcmd.hqx
- DisplayGestalt (Craig Marciniak)
- Small application displays configuration using Gestalt Mgr, includes
- C-source.
-
- FTP: mac.archive.umich.edu [141.211.120.11]
- ftp://mac.archive.umich.edu/development/libraries/
- displaygestalt.cpt.hqx
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/displaygestalt.cpt.hqx
- Feature Teller 1.0 (Jennifer Minge, Apple Computer Inc.)
- Sample application quering Gestalt Mgr (or SysEnvirons if not
- available). Includes THINK Pascal source.
-
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Tools & Applications:OS/Toolbox:Feature Teller 1.0:
- Gestalt! 3.0 (Roland Mansson)
- Displays responses from installed selectors.
-
- FTP: ftp.lu.se [130.235.132.90]
- ftp://ftp.lu.se/pub/mac/util/gestalt300.cpt.hqx
- sumex-aim.stanford.edu [36.44.0.6]
- ftp://sumex-aim.stanford.edu/info-mac/cfg/gestalt-300.hqx
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/gestalt-30-app.cpt.hqx
- GestaltDA 0.4 (Carl C. Hewitt, Apple Computer Inc.)
- Displays responses from installed selectors.
-
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Tools & Applications:OS/Toolbox:GestaltDA 0.4
- Gestalt DCMD (Apple Computer Inc.)
- This dcmd (debugger command for MacsBug) allows you to "use" Gestalt
- when you're in MacsBug.
-
- FTP: ftp.apple.com [130.43.2.3]
- ftp://ftp.apple.com/dts/mac/sc/snippets/platforms.tools/
- gestalt-dcmd.hqx
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Documentation & Samples:Sample Code:Snippets:
- Platforms & Tools:Gestalt dcmd:
- Gestalt Environment 7
- Application to list a number of installed selectors.
-
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/ge7.hqx
- GestaltExt (Andre Cavegn)
- External for 4TH Dimension Relational Database application from
- ACI/ACI US.
-
- FTP: sumex-aim.stanford.edu [171.65.4.3]
- ftp://sumex-aim.stanford.edu/info-mac/dev/a4d/ext/
- gestalt-ext.hqx
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/gestalt-ext.hqx
- GestaltGlue (???)
- Glue code and interface in C and assembly.
-
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Documentation & Samples:Sample Code:System 7.0 samples:
- DTS.Utilities:Gestalt*
- Gestalt Pro 1.1.2 (Rene G.A. Ros)
- External for 4TH Dimension Relational Database application from
- ACI/ACI US.
-
- FTP: sumex-aim.stanford.edu [171.65.4.3]
- ftp://sumex-aim.stanford.edu/info-mac/dev/a4d/ext/
- gestalt-pro-112.hqx
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/gestalt-pro-112-.sit.hqx
- GestaltTalk (Brigham Stevens, Apple Computer DTS)
- Code part of Notification Hacks to show how you can communicate
- between an application and an INIT using the Gestalt Mgr. Includes
- C-source files.
-
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Documentation & Samples:Sample Code:Snippets:
- Toolbox:Notification Hacks:GestaltTalk:
- GestaltValue (anonymous, Apple Computer Inc.)
- Library and interface for use of the GestaltValue functions.
-
- FTP: sumex-aim.stanford.edu [171.65.4.3]
- ftp://sumex-aim.stanford.edu/info-mac/dev/
- gestalt-value-lib.hqx
- EMAIL: Dave Radcliffe, Mac DTS (radcliff@apple.com)
- gestalt-selectors-list-request@bio.vu.nl
- archive get software/gestaltvalue-lib.hqx
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Tools & Applications:OS/Toolbox:GestaltValue:
- GestaltWatch ext 1.0a1 (Scott Bronson)
- Tracks all calls to NewGestalt and ReplaceGestalt traps.
- Not yet available.
- Gestalt XFCN 3.2.1 (Jeff Iverson)
- Hypercard XFCN to query the Gestalt Manager.
-
- FTP: sumex-aim.stanford.edu [171.65.4.3]
- ftp://sumex-aim.stanford.edu/info-mac/card/gestalt-321.hqx
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/gestalt-321-xfcn.hqx
- Gestaltzeigen appl 1.0 (B. Kevin Hardman)
- Displays responses from installed selectors and any bit
- interpretation. Not yet available.
- Get Gestalt (AppleScript addition) 1.2 by Mark Alldritt
- Provides access to the Gestalt Manager for AppleScript scripts.
-
- FTP: gaea.kgs.ukans.edu [129.237.140.40]
- ftp://gaea.kgs.ukans.edu/applescript/osaxen/
- ScriptTools1.3.sit.hqx ?
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/scripttools-13.sit.hqx
- Go Gestalt appl 1.5 (Paul Reznick)
- Displays information obtained thru the Gestalt Mgr.
-
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/go-gestalt-15.sit.hqx
- INITGestalt (Jeremy Roussak & Rene Ros)
- Latest version of the INITGestalt proposal. Tries to define a
- standardized record to use with the Gestalt Mgr.
-
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get INITGestalt.txt
- Informant XFCN 1.0 (Jeff Iverson)
- Hypercard XFCN to query the Gestalt Manager.
-
- FTP: sumex-aim.stanford.edu [171.65.4.3]
- ftp://sumex-aim.stanford.edu/info-mac/card/
- information-10-xfcn-demo.hqx
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/information-10-xfcn-demo.hqx
- Mac Identifier 1.0 (Flux Software, written by Maurice Volaski)
- Fixes the problem of System 7.5 which doesn't display the real
- machine type name anymore.
- FTP: sumex-aim.stanford.edu [171.65.4.3]
- ftp://sumex-aim.stanford.edu/info-mac/gui/
- mac-identifier-111.hqx
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/mac-identifier-111.hqx
- SAVR Gestalt (Thomas Reed)
- Source code (C) demonstrating how to install the Screen saver
- Gestalt selector 'SAVR'.
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get src/gestalt-savr.txt
- Tattle-Tech appl (Decision Makers Software, Inc.)
- Uses Gestalt manager extensively to display all know information.
-
- FTP: sumex-aim.stanford.edu [171.65.4.3]
- ftp://sumex-aim.stanford.edu/info-mac/cfg/
- tattle-tech*.hqx
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/tattle-tech*.hqx
- TechTool appl 1.0.4 (Micromat Computer Systems)
- Application to reset PRAM, rebuild DTDB and show Gestalt info.
-
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/tech-tool-104.hqx
- Technical Notes: (Apple Computer Inc.)
- M.OV.GestaltSysenvirons (Gestalt & SysEnvirons)
- M.NW.AppleTalk2 (AppleTalk The Rest Of the Story)
- M.OS.GestaltMgr.Q&As (Gestalt Manager Questions and Answers)
-
- FTP: ftp.apple.com [130.43.2.3]
- ftp://ftp.apple.com/dts/mac/tn/overview.ov/
- ov-16-gestalt-and-sysenvir.hqx
- ftp://ftp.apple.com/dts/mac/tn/networking.nw/appletalk2.hqx
- ftp://ftp.apple.com/dts/mac/tn/operating.system.os/
- os-505-gestalt-mgr-qas.hqx
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Documentation & Samples:Mac Tech Notes:
- Overview (OV):OV 16 - Gestalt & SysEnvirons
- Networking (NW):NW 13 - AppleTalk The Rest Of
- Operating System (OS):OS 505 - Gestalt Mgr Q&As
- Test Gestalt (Apple Computer Inc.)
- Examples to test for QuickDraw version and Virtual Memory status,
- includes C-source.
-
- FTP: ftp.apple.com [130.43.2.3]
- ftp://ftp.apple.com/dts/mac/sc/snippets/toolbox/
- testgestalt.hqx
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Technical Documentation:Sample Code:Snippets:
- Toolbox:TestGestalt:
- Userfunction Gestalt code (Rich Kubota, Apple Computer Inc.)
- Source code in C for Apple Installer Script writers.
-
- FTP: ftp.apple.com [130.43.2.3]
- ftp://ftp.apple.com/dts/mac/sc/snippets/platforms.tools/
- userfunction-gestalt.hqx
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Technical Documentation:Sample Code:Snippets:
- Platforms & Tools:UserFunction Gestalt:
- WhoAmI? (Jonathan Jacobs)
- Installer to add full Machine Name STR# resource to System 7.5.
-
- FTP: sumex-aim.stanford.edu [36.44.0.6]
- ftp://sumex-aim.stanford.edu/info-mac/cfg/who-am-i-099.hqx
- EMAIL: gestalt-selectors-list-request@bio.vu.nl
- archive get software/who-am-i-099.hqx
-
- URL
- ---
- Below are all locations of files listed in the Universal Resource Locators
- (URL) format, except those which can not be described by an URL. They are
- listed here again, but now without linebreaks. This is the only part of the
- GSL exceeding the 80 characters per line limit.
-
- ftp://ftp.apple.com/dts/mac/sc/snippets/platforms.tools/aegestalt-1-0.hqx
- ftp://ftp.apple.com/dts/mac/sc/snippets/platforms.tools/gestalt-dcmd.hqx
- ftp://ftp.apple.com/dts/mac/sc/snippets/platforms.tools/userfunction-gestalt.hqx
- ftp://ftp.apple.com/dts/mac/sc/snippets/toolbox/testgestalt.hqx
- ftp://ftp.apple.com/dts/mac/tn/networking.nw/appletalk2.hqx
- ftp://ftp.apple.com/dts/mac/tn/operating.system.os/os-505-gestalt-mgr-qas.hqx
- ftp://ftp.apple.com/dts/mac/tn/overview.ov/ov-16-gestalt-and-sysenvir.hqx
- ftp://ftp.lu.se/pub/mac/util/gestalt300.cpt.hqx
- ftp://gaea.kgs.ukans.edu/applescript/osaxen/ScriptTools1.3.sit.hqx ?
- ftp://mac.archive.umich.edu/development/libraries/displaygestalt.cpt.hqx
- ftp://merit.edu/pub/ppp/mac/
- ftp://sumex-aim.stanford.edu/info-mac/card/check-gestalt-for-xcmd.hqx
- ftp://sumex-aim.stanford.edu/info-mac/card/gestalt-321.hqx
- ftp://sumex-aim.stanford.edu/info-mac/card/information-10-xfcn-demo.hqx
- ftp://sumex-aim.stanford.edu/info-mac/cfg/gestalt-300.hqx
- ftp://sumex-aim.stanford.edu/info-mac/cfg/tattle-tech*.hqx
- ftp://sumex-aim.stanford.edu/info-mac/cfg/who-am-i-099.hqx
- ftp://sumex-aim.stanford.edu/info-mac/dev/a4d/ext/gestalt-ext.hqx
- ftp://sumex-aim.stanford.edu/info-mac/dev/a4d/ext/gestalt-pro-112.hqx
- ftp://sumex-aim.stanford.edu/info-mac/dev/gestalt-value-lib.hqx
- ftp://sumex-aim.stanford.edu/info-mac/dev/info/gestalt-selectors-XX.hqx
- ftp://sumex-aim.stanford.edu/info-mac/gui/mac-identifier-111.hqx
- http://bambam.cchem.berkeley.edu/~schrier/mhz.html
- http://www.astro.nwu.edu/lentz/mac/faqs/source/gestalt.html
-
- Definitions and Format
- ======================
- This chapter explains where the word 'Gestalt' comes from, a few things
- are defined and it explains how each selector code entry looks like.
-
- Use in Language
- ---------------
-
- WEBSTER'S DICTIONARY (?)
- ge.stalt \g<e>-'s(h)t<a:>lt, -'s(h)t<o.>lt\ n, pl ge.stalt.en
- \-<\e>n\ or gestalts (1922)
- [G, lit., shape, form]
- :a structure, configuration, or pattern of physical, biological, or
- psychological phenomena so integrated as to constitute a functional unit
- with properties not derivable by summation of its parts.
-
- GERMAN-DUTCH DICTIONARY
- Gestalt w [-en]
- stature, figure, form; Ritter von der Traurigen -, knight of the
- sorrowful figure.
-
- Definitions
- -----------
-
- APPLE SOFTWARE
- This category includes all selectors installed by software published by
- Apple Computer, Inc.
- Inside Macintosh says this about them:
- "Apple reserves for its own use all four-character sequences
- consisting solely of lowercase letters and non alphabetic ASCII
- characters".
- It includes all selectors of the next two categories:
-
- APPLE SYSTEM SOFTWARE
- This category includes all selectors installed by System Software from
- Apple Computer, Inc.
-
- APPLE ADDITIONAL SOFTWARE
- These are selectors installed by additional, non-system, software from
- Apple Computer, Inc.
-
- THIRD PARTIES SOFTWARE
- These are selectors installed by software from parties other than Apple
- Computer, Inc.
- Inside Macintosh says about these:
- "If you have registered a creator string with Apple, you are
- strongly encouraged to use that sequence as your selector code".
- This type of selectors is included in this list with the motto "If you
- don't know they are there, you can't do anything with them".
- Especially the Third Party selectors may change with every new release and
- are therefore only listed in the 'known selectors' part when the author has
- described the structure in the documentation or by email to me. These
- selectors don't have a high priority but when possible I want to know at
- least which software installs it to exclude it as a possible
- "Apple selector".
- Some people at Apple also differentiate between commercial developers and
- others, as being "third" and "fourth" parties respectively. But with this
- list this is not the case.
-
- Format Selector Entry
- ---------------------
- Format used to display information about each selector:
-
- selector_code (Software_name & type [since_version], by company/author)
- constant_name
- description
-
- const
- declaration; {remark *ref.number_to_source}
-
- NOTE and/or WARNING:
-
- Where the type is one of:
- app application (APPL)
- cp control panel (cdev)
- ext extension (INIT/appe/RDEV etc.)
-
- Example:
-
- COLA (Sugarwater ext [1.0] by John Sculley)
- gestaltSugarwaterVersion
- Returns version of Sugarwater as NumVersion.
-
- const
- gestaltSugarwaterVersion = 'COLA'; *AB01
-
- WARNING: This example is fictitious.
-
- NOTE:
- Sugarwater? See the book 'West of Eden, The End of Innocence at
- Apple' by Frank Rose.
-
- Most selectors are listed as four characters, if there are only two or
- three characters displayed the remainder are spaces (or it's a typo!).
- Diacritical characters are shown in the most logical normal character and
- at the end of the entry a note is included about which key-combination to
- press with a normal International system and US keyboard layout to get the
- required diacritical character and also listed is its ASCII code.
- When 'INF' is at the end of the first line it means it is an informational
- selector, all others are environmental selectors.
- The source reference number may also be used in other places than indicated
- above. It then applies to other parts of the entry or to the whole entry.
- A single question mark indicates an uncertainty regarding the information
- in front of the question mark. Three question marks indicate complete
- absence of the information.
- Some symbolic names may not originate from official publications.
-
- Symbolic Names Suffixes
- -----------------------
- The last characters of the symbolic names form a suffix which indicates
- the type of the returned value. Below is a table which lists the different
- types of suffix and their meaning.
-
- ===========================================================================
- Symbolic Names Suffixes
- ===========================================================================
- Suffix Meaning
- ---------------------------------------------------------------------------
- Addr Value is an address, i.e. to the base address of
- a memory-mapped device or to a function in
- memory.
- Attr Value is a range of 32 bits (0 is the least
- significant bit), must compare with list of
- constants and use BitTst or similair. Sometimes
- it is a bitmask, then use BitAnd.
- Count Value is a number indicating how many of the
- indicated type exist.
- Icon Value is the resource ID of an icon.
- Size Value is a size, usually in bytes.
- Table Value is the base address of a table.
- Type Value is an index to map to a version or name.
- Version Value is a version number. See the section
- 'Format Version Numbers' below, for a list of
- different formats of version numbers.
- <none> If there is no suffix like the ones above, the
- presence of the selector only implies the
- software which installed the selector is present.
- The returned value is then private to the
- installee.
- ---------------------------------------------------------------------------
-
- Format Version Numbers
- ----------------------
- BCD (Binary Coded Decimal)
- $0x0402 means 4.0.2.
-
- INTEGER
- The decimal representation of the returned value in the low-byte is
- the version.
-
- Double BCD (my own fantasy name..., RR)
- $00010108 means 1.1.8.
-
- NumVersion
- The format of the LongInt response can be coerced into type NumVersion,
- which is the same format as used for the 'vers' resource type.
-
- type
- NumVersion = packed record
- case INTEGER of
- 0: (majorRev: SignedByte; {1st part of version number in BCD}
- minorRev: 0..9; {2nd part is 1 nibble in BCD}
- bugFixRev: 0..9; {3rd part is 1 nibble in BCD}
- stage: SignedByte; {stage code: dev, alpha, beta, final}
- nonRelRev: SignedByte);{revision level of non-released version}
- 1: (version: LONGINT); {to use all 4 fields at one time}
- end;
-
- stage is one of: $20 = development
- $40 = alpha
- $60 = beta
- $80 = final
-
- About this list
- ===============
- The Gestalt Manager is a collection of system routines which allows
- applications to test for the availability of software and hardware. Because
- of the increasing number of different software and hardware configurations,
- this is getting an important issue. It probably already is and known by the
- term 'compatability'.
- The Gestalt function allows applications to obtain information about the
- current configuration. Selectors are used to refer to certain information.
- A selector is of type OSType (a four byte value) and usually contain four
- ASCII characters. For example: the selector 'sysv' causes the version of
- the current system is returned. Other functions, NewGestalt and
- ReplaceGestalt, allow programmers to install their own Gestalt selectors.
- Programmers need to know these selectors beforehand to be able to request
- and interpret the value returned by the Gestalt function.
- See for more detailed information on how to use the Gestalt Manager
- routines Inside Macintosh part VI (old series). The new Inside
- Macintosh: Operating System Utilities replaces IM VI.
- The Driver Gestalt calls (status calls to device drivers) are not covered
- by this list.
- When you already have one or more of the new IM issues you may be a bit
- disappointed. I was, because of the very minimal information provided
- regarding the availability of the system routines. Of most routines you
- will find no information on how to test their availability.
-
- This Gestalt Selectors List intends to list all known selectors, but in
- reality this means it lists all selectors known to the editor.
- I would like to see this list to be a combined effort by different persons
- who have together access to a wide area of information.
- This list may contain (educated?) guesses and perhaps even false
- information, so no guarantee is made about the contents.
- You may use this information freely (see Legal Stuff section below), but
- when you find information not included with this list; please tell me. If
- you have additions, corrections, comments, suggestions, news about
- available software, etc., mail it me. Please, also mention the source you
- used, if any.
- You can send contributions, remarks, etc. to this email address:
- gestalt-selectors-list@bio.vu.nl
- If you want to remain anonymous, please mention this and it will be taken
- care of.
- I don't have all the documentation or knowledge and I don't want to, and
- I'am certainly not Mr.Gestalt.
-
- Availability
- ------------
- If you downloaded this list from CompuServe, a BBS, or any other service,
- you will notice some strange things like 'FTP-sites' which have to do
- with the fact that this list originates from INTERNET.
- You can access the mail archive server also from CompuServe, AOL and
- AppleLink. Contact your network provider for information on how to send
- email to an INTERNET site.
-
- This list is available in the following ways:
-
- **INTERNET**
-
- USENET newsgroup comp.sys.mac.programmer (c.s.m.p.)
- This list has become too large to post to c.s.m.p., so starting from
- version 2.2 this list is no longer posted there. Instead an announcement
- will be posted informing were you can find the latest version.
-
- FTP-SITE
- sumex-aim.stanford.edu [36.44.0.6]
- Every minor and major version is submitted to the info-mac archives:
-
- ftp://sumex-aim.stanford.edu/info-mac/dev/info/gestalt-selectors-XX.hqx
-
- It is also available on its mirror sites.
- Contact: Info-Mac Moderator (info-mac-request@sumex-aim.stanford.edu)
-
- FINGER
- Using Finger to obtain the latest version is no longer possible.
-
- WWW
- The GSL is also available for World Wide Web users together with other
- Macintosh FAQs at:
-
- http://www.astro.nwu.edu/lentz/mac/faqs/source/gestalt.html
-
- Contact: Robert Lentz (lentz@rossi.astro.nwu.edu)
-
- **COMPUSERVE**
-
- Starting with version 2.0 this list is uploaded to the Macintosh Developers
- Forum (MACDEV). Only new minor and major versions will be uploaded once. It
- then appears in the Tools/Debuggers (13) section.
-
- **AMERICA ONLINE (AOL)**
-
- The GSL doesn't have it's permanent place on AOL but is uploaded from
- Internet. Do a file search (keyword: FileSearch) to find it.
-
- Contact: Jonathan Kleid (SonOfaBitS@aol.com)
-
- **GENERAL**
-
- CD-ROM or BBS
- Because of permissions I granted you may get this list from a CD-ROM or via
- a BBS from Internet, CompuServe or a CD-ROM. If you do, and the release was
- more than two months ago, there is probably already a newer version.
-
- MAILING LIST
- Every person on the mailing list automatically receives an update by email
- whenever there are some changes. If you want to subscribe or unsubscribe to
- this mailing list you need to send an email to this address:
- gestalt-selectors-list-request@bio.vu.nl
- Then put in the subject line either 'subscribe' or 'unsubscribe'.
-
- The mailing list is moderated, which means everybody can email to:
- gestalt-selectors-list@bio.vu.nl
- But only after approval of the moderator the other subscribers will receive
- your posting. This guarantees that no confidential contribution is
- distributed before the moderator sees it.
- If mail to you bounces four times you're automatically unsubscribed.
-
- This service is only possible to those who have an account on Internet or
- any other network reachable from Internet (CompuServe, AOL, AppleLink,
- Fidonet). I can not provide mailing of printed versions or on disk by
- normal surface mail.
-
- MAIL ARCHIVE SERVER
- You can retrieve the latest versions of this list and other software
- by sending an email to this address:
- gestalt-selectors-list-request@bio.vu.nl
- In the subject line you need to enter 'archive' and then put one command
- behind it or only 'archive' in the subject line with one of more commands
- in the body of your email preceded by the keyword 'archive'. These commands
- can be:
- help to get some help on using the archive server
- ls <dir> to list the contents of the specified directory
- get <dir>/<file> to have the specified file sent to you by email.
- To obtain the abstracts of all files available you can use this command:
- archive get ABSTRACTS
-
- Your actions may be logged.
-
- PRINTED
- If you want this list printed on paper you may want to try a feature
- included with the LaserWriter 8 software. With it you can print four
- pages on a single sheet of paper. When you set the page breaks correct,
- this produces a very neat, little booklet.
-
- Acknowledgements
- ----------------
- I want to thank the following persons for their contribution to this list:
-
- ===========================================================================
- Name Internet Email Address
- ---------------------------------------------------------------------------
- Anonymous contributor(s) anonymous@secret.cia
- Lonnie R. Abelbeck abelbeck@dev.abelbeck.com
- Daniel Azuma dazuma@cco.caltech.edu
- J.D. Sterling Babcock jdsb@ee.duke.edu
- John Baxter jwbaxter@pt.olympus.net
- Martin Bestmann kruemel@theorie3.physik.uni-erlangen.de
- Mason L. Bliss mason@cis.umassd.edu
- Scott Bronson urge@mcl.mcl.ucsb.edu
- Jim Browne jbrowne@ncsa.uiuc.edu
- Richard Buckle richardb@cocytus.demon.co.uk
- Ivan M Cavero Belaunde ivanski@world.std.com
- John Champion denali@metronet.com
- Mike Cohen isis@netcom.com
- Marc Cooperman coopem@panix.com
- Mark Dawson marc@apple.com
- Lawrence D'Oliveiro ldo@waikato.ac.nz
- Dave Falkenburg, Apple Computer Inc. falken@apple.com
- Rick Gansler gansler@boardwalk.tiac.net
- M. David Greenspon gremicf@yalevm.ycc.yale.edu
- C.K. Haun haun@apple.com
- Michael Hecht Michael_Hecht@mac.sas.com
- Robert Hess robert_hess@macweek.ziff.com
- Bill Hofmann wdh@netcom.com
- Mark B. Johnson mjohnson@apple.com
- David B. Lamkins dblamkins@aol.com
- Robert Lentz lentz@rossi.astro.nwu.edu
- David Lewis lewis@netcom.com
- Spencer Low spencerl@crl.com
- John Mancino, Decision Maker's Software mancino@decismkr.com
- Roland Mansson roland.mansson@ldc.lu.se
- Matsubayashi Kohji matubays@ics.es.osaka-u.ac.jp
- Duane Murphy, Novell Inc. damurphy@wc.novell.com
- Mark Nagata nagata@kurims.kyoto-u.ac.jp
- Fabrizio Oddone gspnx@di.unito.it
- Carl R. Osterwald cro@br213mail.nrel.gov
- Marco Piovanelli piovanel@ghost.dsi.unimi.it
- Kees Pols kpols@bio.vu.nl
- Francois Pottier pottier@clipper.ens.fr
- Jon Pugh jonpugh@netcom.com
- Quinn quinn@cs.uwa.edu.au
- Dave Radcliffe, Apple Computer Inc. radcliff@apple.com
- Thomas Reed reed@telesphere.wustl.edu
- Pete Resnick resnick@cogsci.uiuc.edu
- Paul Reznick PRzeznik@aol.com
- Alex Rosenberg, Apple Computer Inc. alexr@apple.com
- Leonard Rosenthol leonardr@netcom.com
- Jeremy Roussak jeremyr@dcs.qmw.ac.uk
- Ray Sanders 72511.232@CompuServe.COM
- Eric Schlegel, Microsoft Corporation ericsc@microsoft.com
- Marc Schrier schrier@garnet.berkeley.edu
- Mark Simmons 72511.256@CompuServe.COM
- Brian Stern Jaeger@fquest.com
- Zalman Stern zalman@adobe.com
- Tim Swihart tim_swihart@quickmail.apple.com
- Ilan Szekely ILANS@ds.huji.ac.il
- Victor Tan victort@extro.ucc.su.oz.au
- Rodrigo Torres, Berkeley Systems brklysystm@aol.com
- Hans Verbrugge hverbrug@inter.nl.net
- John Watte d88-jwa@nada.kth.se
- Jonathan Wilson toast@diss.hyphen.com
- Chris Wysocki wysocki@netcom.com
- ---------------------------------------------------------------------------
-
- And my colleagues at the Computer Department of the Biology Faculty of the
- Vrije University in Amsterdam, The Netherlands for their help and support.
- Also special thanks to Marco Piovanelli for his support and comments about
- preliminary versions and updates.
-
- The persons mentioned above provided information used in this list. They
- did this on personal title, NOT on behalf of their employer, unless
- explicitly stated otherwise.
- I assume information you mail to me about Gestalt selectors may be used in
- this list. Information made available to the general public (e.g. a posting
- to a USENET newsgroup) is also included and the persons name added to this
- section (and to the mailing list).
- I will mail you back to thank you and include the parts from the list which
- were changed, according to the information you provided, to let you check
- them.
-
- Legal Stuff
- -----------
- (c) 1992-1995, Rene G.A. Ros
-
- NOTICE OF LIABILITY
- The information in this list is distributed on an "AS IS" basis, without
- warranty. While every precaution has been taken in the preparation of this
- list, neither the editor nor any contributor shall have any liability to
- any person or entity with respect to any liability, loss, or damage caused
- or alleged to be caused directly or indirectly by the information contained
- in this list or by the computer software and hardware products described
- herein.
-
- TRADEMARKS
- Throughout this list trademarked names are used. Rather than put a
- trademark symbol in every occurrence of a trademarked name, I state I am
- using the names only in an editorial fashion and to the benefit of the
- trademark owner with no intention of infringement of the trademark.
-
- DISTRIBUTION
- The information in this list may be used freely. When you use the
- information in this list for COMMERCIAL purposes, you may consider sending
- the editor a donation. You are not allowed to distribute this list outside
- any computer network (especially printed, on disk or CD-ROM) unless you
- have contacted the editor and received permission to do so. This is also to
- ensure you have the latest version. The updates may not be distributed,
- these are ONLY for the persons on the mailing list.
- You are not allowed to use excerpts of this list with your documentation or,
- in any other way, without prior permission of the editor. You will receive
- permission to include excerpts when you are subscribed to the mailing list.
- In any case you should give the GSL proper credit in your software or in
- the documentation.
-
- Permission for distribution of the full list is granted to:
- Aladdin Systems (InstallerMaker software)
- Arizona Macintosh Users Group (BBS in a BOX CD-ROM)
- Celestin Company (Apprentice CD-ROM)
- Club Macintosh de Quebec
- CP Shareware
- IDG Communications Nederland (MacWorld CD-ROM)
- Pacific HiTech, Inc. (Info-Mac CD-ROM)
- Quantum Technologies, Inc. (The Right Stuffed CD-ROM)
-
- You are not allowed to distribute modified versions of this list,
- including, but not limited to, deleting, adding or moving text or adding
- non-text parts. Distribution in any electronical format except a normal
- (or compressed) text file is not allowed without permission.
- You are not allowed to redistribute it with any other name than
- 'gestalt-selectors-XX.YYY' (where XX is the version number and YYY the
- suffix to indicate compression etc.) unless because of technical reasons.
- In such case a name should be chosen which resambles it as closely as
- possible to avoid confusion.
-
- Editors' Address
- ----------------
- Rene G.A. Ros
- student Computer Science (fulltime),
- Hogeschool van Amsterdam (Institute of Technology)
- member Computer Department (parttime),
- Biology Faculty, Vrije University Amsterdam
- contract programmer Pascal and C, also 4th Dimension and other data-bases
-
- Internet : rgaros@bio.vu.nl (preferred)
- rgaros@nikhefk.nikhef.nl
- rgaros@htsa.hva.nl
- rgaros@dds.hacktic.nl
- CompuServe: >INTERNET: rgaros@bio.vu.nl
- 100112,1363
-
- Mailing list:
- Internet contributions:
- gestalt-selectors-list@bio.vu.nl
-
- to subscribe/unsubscribe and for the archive server:
- gestalt-selectors-list-request@bio.vu.nl
-
- CompuServe contributions:
- >INTERNET: gestalt-selectors-list@bio.vu.nl
-
- to subscribe/unsubscribe and for the archive server:
- >INTERNET: gestalt-selectors-list-request@bio.vu.nl
-
- Please contact me at the INTERNET address. I read my mail there almost
- daily, while I log on to CompuServe only once or twice a month.
-