From: rgaros@bio.vu.nl (Rene G.A. Ros)
Subject: Undoc. gestalt selector list
Organization: VU Biology, Amsterdam, The Netherlands
Date: Mon, 12 Oct 1992 12:13:27 GMT

Undocumented Gestalt Selector Codes

'Undocumented' means to me: not mentioned in Inside Macintosh VI.

Format used:
****'selector code' (Application added selector)
    name (description, documentation) OR description

    CONST declaration; (remark) *ref.number to source

Some constant-names may not originate from official publications.
Any bitpattern described is what I or others found
on their machine with their configuration.

I don't have all the documentation or knowledge and I don't want to.
I would like to see this list as a combined effort by different
people who have together access to a wide area of information.
If you wish to give me more information or correct the information
in this list, please mail me at rgaros@bio.vu.nl
If you read this list in Usenet group comp.sys.mac.programmer: you
can also read it by using finger to the same address.
Tip: finger rgaros@bio.vu.nl | more



****'admn' (AppleShare Admin appl)
    gestaltAppleShareAdminAttr (not documented at all)

    gestaltAppleShareAdmin = 'admn';
    gestaltAppleShareAdminPresent = 0; (present = running, selector
                                        exists when appl has ran,
                                        if still running bit is set)
****'atkv' (System)
    gestaltATalkVersion (see also TN311)
    Returns AppleTalk version in 4-bit words

    gestaltATalkVersion = 'atkv'; *3
****'AzNe' (NameView cdev)
    unknown
****'BSDa' (CloseView cdev)
    unknown
****'bugz' (System [Tuna Helper]/Tune-up ext)
    probably used to communicate between the Tuna Helper
    and the Tune-up extension about repaired errors.
    The value returned by 1.1.1 is one bit set more
    then 1.0.
****'conn' (System)
    gestaltConnMgrAttr (addition)

    additional responses exist but unknown (bit 1,2,3)
****'cpnt' (QuickTime)
    gestaltComponentMgrAttr (Component Manager)

    gestaltComponentMgr = 'cpnt';
    gestaltComponentMgrPresent = 0; ???
****'dict' (System)
    gestaltDictionaryMgr (System 7.1 Dictionary Manager,
                          not documented at all)

    gestaltDictionaryMgr = 'dict';
    new System 7.1 responses exist but unknown
****'eajt' (System)
    gestaltEasyAccessJTable (not documented at all)

    gestaltEasyAccessJ = 'eajt'; *3
    Returns the base address of the Easy Access jump-trap table
****'ESOC' (Serial of Champions ext)
    unknown
****'flag' (Network Extension ext)
    gestaltFlagshipAttr (not documented at all, see also TN311)

    gestaltFlagship           = 'flag'; *3
    gestaltFlagshipPresent    = 0; *3
    gestaltFlagshipRegistered = 1; *3
****'fpu ' (System)
    gestaltFPUType (addition)

    gestal68040FPU = 3; *2
****'fs  ' (System)
    gestaltFSAttr (addition)

    gestaltHasFileSystemManager = 2; *2
****'font' (System)
    gestaltFontMgrAttr (addition)

    additional System 7.1 responses exist but unknown
****'hdwr' (System)
    gestaltHardwareAttr (additions)

    gestaltHasRBV          =  2; (RBV)            *3
    gestaltHasOSS          =  5; (OSS)            *3
    gestaltHasSCSIDMA      =  6; (53C80 SCSI DMA) *3
    gestaltHasSWIMIOP      =  8; (SWIM IOP)       *3
    gestaltHasSCCIOP       =  9; (SCSI IOP)       *3
    gestaltHasIWM          = 11; (IWM)            *3
    gestaltHasSoftPowerOff = 19;                  *2
    gestaltHasSonic        = 20; (Sonic)          *3
    gestaltHasSCSI961      = 21; (Int 53C96 SCSI) *1
    gestaltHasSCSI962      = 22; (Ext 53C96 SCSI) *1
    gestaltHasDAFBVideo    = 23; (DAFB Video)     *3
****'He20' (Helium cdev)
    unknown
****'hgfd' (AppleShare File Server appl)
    gestaltAppleShareFServerAttr (not documented at all)

    gestaltAppleShareFServer = 'hgfd';
    gestaltAppleShareFServerPresent = 0; (present = running, selector
                                          exists when appl has ran,
                                          if still running bit is set)
****'icmp' (System?)
    unknown ("integrated circuit map"?????)

    below is what I guess at this moment:
    gestaltSIMMICPresent = 'icmp'
    gestaltSIMMICBankA1  = 0; (First two SIMMs in Bank A)
    gestaltSIMMICBankA2  = 1; (Last two SIMMs in Bank A)
    gestaltSIMMICBankB1  = 2; (First two SIMMs in Bank B)
    gestaltSIMMICBankB2  = 3; (Last two SIMMs in Bank B)
    etc. ... ???
****'Intj' (Interjection ext)
    unknown
****'kbd ' (System)
    gestaltKeyboardType (additions)

    gestaltPwrBookADBKbd    = 12; *1
    gestaltPwrBookISOADBKbd = 13; *1
****'mach' (System)
    gestaltMachineType (additions)

    gestaltQuadra900    = 20; *1
    gestaltPowerBook170 = 21; *1
    gestaltQuadra700    = 22; *1
    gestaltClassicII    = 23; *1
    gestaltPowerBook100 = 24; *1
    gestaltPowerBook140 = 25; *1
    gestaltQuadra950    = 26; *1
    gestaltPowerBook145 = 45; (7.1, with 7.0.1 = 25) *4
****'mtcp' (MacTCP [>=1.1?] cdev)
    returns noErr when present, return value is zero.
****'mmu ' (System)
    gestaltMMUType (addition)

    gestalt68040MMU = 4; *2
****'MV10' (TearOFF cdev)
    unknown
****'ppc ' (System)
    gestaltPPCToolboxAttr

    gestaltPPCToolbox        = 'ppc '
    gestaltPPCToolboxDenyIn  =  0; (Deny incoming net requests)  *3
    gestaltPPCToolboxDenyOut =  1; (Deny outgoing net requests)  *3
    gestaltPPCToolboxRTDeliv = 12; (supports real-time delivery) *3
    gestaltPPCToolboxStore   = 13; (supports store and format)   *3
    gestaltPPCToolboxCare    = 14; (supports "Don't care")       *3

    contradiction: TN129 says     "gestaltPPCToolboxPresent = 0;"
                   GestaltDA says "gestaltPPCToolboxDenyIn  = 0;"
****'proc' (System)
    gestaltProcessorType (addition)

    gestalt68040 = 5; *2
****'qdrw' (System)
    gestaltQuickDrawFeaturesAttr (not documented at all)

    gestaltQuickDrawFeatures = 'qdrw'; *2
    gestaltHasColor          = 0; *2
    gestaltHasDeepGWorlds    = 1; *2
    gestaltHasDirectPixMaps  = 2; *2
    gestaltHasGrayishTextOr  = 3; *2
****'qtim' (QuickTime ext)
    gestaltQuickTimeVersion
    Returns QuickTime version in 4-bit words

    gestaltQuickTimeVersion = 'qtim';
****'rsrc' (System)
    gestaltResourceMgrAttr (addition)

    gestaltResource???? = 1;
****'tsmv' (System)
    gestaltTextServicesMgrVersion? (not documented at all)

    new System 7.1 responses exist but unknown
****'vmcl' (System, VM on)
    unknown.
****'vmbs' (System, VM on)
    unknown.
****'wma.' (Workstation Management Agent aka Responder)
    gestaltResponderAttr (see also TN311)

    gestaltResponder        = 'wma.';
    gestaltResponderPresent = 0;
****'xttt' (System)
    gestaltExtToolboxTable
    Returns the base address of the Extended Toolbox trap table.
****'YeHa' (SpeedyFinder7 cdev)
    unknown

Sources:
*1 Apple Inc.; TN129 may 1987;
*2 THINK Pascal 4.0.1;
*3 Gestalt DA by Carl C.Hewitt, 1990
*4 Apple Inc.; Developer Notes PowerBook 145
If no source mentioned, found by myself or others.

Thanks to:
Marco Piovanelli (IT),
John van Wielink <vwielink@bio.vu.nl> (NL),
Cor Stoof <sjoukje@bio.vu.nl> (NL),
Quinn <quinn@cs.uwa.edu.au> (AU).

************************************************************
Rene G.A. Ros                         Amsterdam, Netherlands
rgaros@bio.vu.nl                    rgaros@nikhefk.nikhef.nl
************************************************************
My English is niet very well en ook nog not so snel,
but that comes later wel.
************************************************************