home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / sys / mac / programm / 20373 < prev    next >
Encoding:
Text File  |  1992-12-29  |  31.3 KB  |  789 lines

  1. Newsgroups: comp.sys.mac.programmer
  2. Path: sparky!uunet!mcsun!sun4nl!star.cs.vu.nl!balaena!rgaros
  3. From: rgaros@bio.vu.nl (Rene G.A. Ros)
  4. Subject: Suppl. Gestalt Selectors List 1.2 (repost)
  5. Message-ID: <1992Dec29.102458.3162@bio.vu.nl>
  6. Sender: news@bio.vu.nl (News Administrator)
  7. Organization: VU Biology, Amsterdam, The Netherlands
  8. Date: Tue, 29 Dec 1992 10:24:58 GMT
  9. Lines: 778
  10.  
  11. Supplemental Gestalt Selectors List 1.2 (repost)
  12. =======================================
  13.  
  14. Last modified: November 30, 1992, 21:50 CET (GMT+1)
  15.  
  16. Supplemental to the selector codes listed in the Gestalt Chapter of
  17. Inside Macintosh VI (IM VI), that is.
  18. These can include selector codes installed by Apple's (system)
  19. software or by software from third parties (your software?).
  20. (NIM Operating System Utilities has been delayed from Winter 1992 to
  21. June 1993, according to Addison-Wesley Holland).
  22.  
  23. I don't have all the documentation or knowledge and I don't want to.
  24. I would like to see this list to become a combined effort by different
  25. persons who have together access to a wide area of information.
  26. This list may contain (educated) guesses and perhaps even false
  27. information, so no guarantee is made about the contents.
  28. You can use this information freely, but when you find information not
  29. included in IM VI or in this list; please mail it me.
  30. If you have additions, corrections, comments, suggestions, news about
  31. available software, etc., please mail me. Please, also mention the
  32. source you used.
  33. For ways to contact me, see the end of this list.
  34.  
  35. This list is originally distributed in the following ways:
  36. USENET newsgroup comp.sys.mac.programmer (c.s.m.p.)
  37. I will post every new version of the list to c.s.m.p., but the last
  38. version will be reposted once a month.
  39.  
  40. FTP-site
  41. sumex-aim.stanford.edu
  42. Every new version (except bug-release) is submitted to the info-mac
  43. archives at sumex-aim.stanford.edu. (/info-mac/tech/gestalt-list-XX.txt)
  44. It is also available on its mirror sites (e.g. in Europe: lth.se).
  45.  
  46. FINGER
  47. You can also read this list by using finger to 'rgaros@bio.vu.nl'.
  48.     Tip: 'finger rgaros@bio.vu.nl | more' or
  49.          'finger rgaros@bio.vu.nl > filename'
  50. My .plan file that you see when you do this, may be more up-to-date and
  51. may include small corrections, or contains a preliminary version of the
  52. next version to be published.
  53.  
  54. MAIL LIST
  55. Every person on this mail list gets automatically an update by email whenever
  56. there are some changes. If you want to join this mail list you need to send
  57. me an email asking to be included. The same applies when you want to be
  58. removed from the list.
  59. This service is only possible to those who have an account on Internet or
  60. any other network reachable from Internet. I can not provide mailing of
  61. printed versions or on disk by normal surface mail.
  62.  
  63.  
  64. CONTENTS
  65.     # Changes
  66.     # Definitions and Format
  67.     # Gestalt Selector Codes & Responses
  68.       =  Apple System Software
  69.       =  Apple Additional Software
  70.       =  Third Parties Software
  71.     # Gestalt Selector Codes, Responses Unknown
  72.       =  Apple System Software
  73.       =  Apple Additional Software
  74.       =  Third Parties Software
  75.     # Abbreviations
  76.     # Format version numbers
  77.       =  4-byte words
  78.       =  BCD
  79.       =  INTEGER
  80.     # AppleShare File & Print Server selector codes
  81.     # Glue code
  82.     # Sources
  83.     # Related Software
  84.     # Acknowledgements
  85.     # Legal Stuff
  86.       =  Notice of Liability
  87.       =  Trademarks
  88.       =  Distribution
  89.     # Moderator
  90.  
  91.  
  92. ####Changes (since v1.1)
  93.     Added selectors
  94.       Apple System  : alis, fxfr, misc, term,
  95.       Apple Add.    : arb 
  96.       Third Parties : CKI3
  97.     Added unknown
  98.       Apple System  : OSType(7), OSType(13)
  99.       Apple Add.    : 
  100.       Third Parties : AP17, GtOp, gV00..gV04, LFnt, PBUf, PBUt, RQDC
  101.     Changed
  102.       Apple System  : atkv, conn, hdwr, mach, ppc , rsrc, tabl
  103.       Apple Add.    : qtim
  104.       Third Parties : YeHa
  105.     Previously unknown
  106.       Apple System  : ctbm, ctbu, sccr, sccw, vmbs
  107.       Apple Add.    : strm
  108.       Third Parties : ApoL (incl. complete description)
  109.  
  110.     Added "Glue Code" chapter about selectors 'glue-ed' by programming
  111.       software, when the Gestalt Manager is not available. (Suggested
  112.       by Marco Piovanelli).
  113.     Marco also went hunting for the Gestalt Selector Table and found
  114.       probably the correct meaning of the 'tabl' selector.
  115.       Meanwhile he also found two unusual selectors, OSType(7) and
  116.       OSType(13) ("Charlie's selectors" !? ;-) ) These are listed at
  117.       the end of unknown Apple System Software selectors.
  118.     Added "Legal Stuff" chapter (US legal system is famous :-) ).
  119.     More entries in 'Related software'-chapter, including the location
  120.       of related New Technical Notes on ftp.apple.com.
  121.     Selectors 'dict' and 'tsmv' were incorrectly listed as known.
  122.     Dave Radcliffe (Mac DTS, Author TN Apple) clarified the two
  123.       contradictions in the previous version.
  124.     Jeremy Roussak (Author Apollo ext) allowed including the chapter
  125.       'Programmers' Information' from the Apollo 1.0 documentation.
  126.     Victor Tan (Author SpeedyFinder7 cp) provided some remarks about
  127.       the selector installed by SP7.
  128.  
  129.     And yes, when there are more 'Third Party'-selectors they will
  130.     get their own, separate list.
  131.  
  132.  
  133. ####Definitions and Format
  134.     Apple System Software
  135.       Selectors installed by normal System Software.
  136.       IM VI: "Apple reserves for its own use all four-character
  137.               sequences consisting solely of lowercase letters and
  138.               nonalphabetic ASCII characters".
  139.     Apple Additional Software
  140.       Selectors installed by additional software by Apple Inc.
  141.       See also quote above.
  142.     Third Parties Software
  143.       Selectors installed by software from parties other than Apple Inc.
  144.       IM VI: "If you have registered a creator string with Apple, you
  145.               are strongly encouraged to use that sequence as your
  146.               selector code".
  147.  
  148.     Format used to display information about selector code:
  149.  
  150.     |   ****'selector code' (Application [available in version])
  151.     |       name (description, documentation) OR description
  152.     |
  153.     |       CONST declaration; {remark} *ref.number to source
  154.     |
  155.     |       contradiction:
  156.     |         source A says "X"
  157.     |         source B says "Y"
  158.  
  159.     If a selector code is installed by Apple software the entry also
  160.     includes if it is in addition to or not listed in IM VI.
  161.     The source reference number may also be used in other places than
  162.     indicated above. It then applies to other parts of then entry.
  163.     Some constant-names may not originate from official publications.
  164.     Any response value described is what was found by others or myself on
  165.     different machine(s) with its configuration.
  166.  
  167.  
  168. ####Gestalt Selector Codes & Responses
  169. ====Apple System Software
  170. ****'alis' (System [7.0])
  171.     gestaltAliasMgrAttr (addition by AppleTalk Remote Access)
  172.  
  173.     gestaltAliasMgrSupportsRemoteAppletalk = 1; {supports Remote Access} *9
  174.     See also remarks with 'qtim' selector.
  175. ****'atkv' (System [since 7.0, AT 56])
  176.     gestaltATalkVersion *4 (not listed)
  177.     Returns AppleTalk version in 4-byte words.
  178.     This is different from 'atlk' !
  179.     With the release of the System 7 Tuner product, AppleTalk will not be
  180.     loaded at startup, if prior to the previous shutdown AppleTalk was
  181.     turned off in the Chooser. Under this circumstance, the 'atkv' selector
  182.     is not available. If the 'atkv' selector is not available under System 7,
  183.     this is an indicator that AppleTalk cannot be turned on without doing so
  184.     in the Chooser and rebooting the system. *4
  185.  
  186.     gestaltATalkVersion = 'atkv'; *3/5
  187. ****'atlk' (System [since 6.0.4])
  188.     gestaltAppleTalkVersion (addition)
  189.     Returns the version of the .MPP driver in INTEGER.
  190.  
  191.     LAPMgrExists := (AppleTalkVersion >= 53); *4
  192. ****'conn' (System, CTB installed [since 7.0])
  193.     gestaltConnMgrAttr (addition)
  194.     Under System 6, this Gestalt selector isn't implemented when the
  195.     Communications Toolbox is installed (Michael Hecht).
  196.  
  197.     additional responses exist but unknown (bit 2 & 3).
  198. ****'ctbm' (System, CTB installed)
  199.     gestaltCTBManagersAttr (not listed)
  200.     Communications Toolbox Managers, bitmask of which managers are present.
  201.  
  202.     gestaltCTBManagersAttr = 'ctbm'; *7
  203. ****'ctbu' (System, CTB installed)
  204.     gestaltCTBUtilsAttr (not listed)
  205.     Communications Toolbox Utilities Attr
  206.  
  207.     gestaltCTBUtilsAttr    = 'ctbu'; *7
  208.     gestaltCTBUtilsPresent = 0;      *7
  209. ****'eajt' (Easy Access cp [since 7.0])
  210.     gestaltEasyAccessJTable (not listed)
  211.     Returns the base address of the Easy Access jump-trap table.
  212.  
  213.     gestaltEasyAccessJTable = 'eajt'; *3
  214. ****'flag' (Network Extension ext [since System 7.0 *4])
  215.     gestaltFlagshipAttr (not listed)
  216.  
  217.     gestaltFlagshipAttr       = 'flag'; *3
  218.     gestaltFlagshipPresent    = 0;      *3
  219.     gestaltFlagshipRegistered = 1;      *3
  220. ****'fpu ' (System [since 6.0.4])
  221.     gestaltFPUType (addition)
  222.  
  223.     gestal68040FPU = 3; *2
  224. ****'fs  ' (System)
  225.     gestaltFSAttr (addition)
  226.  
  227.     gestaltHasFileSystemManager = 2; *2
  228. ****'font' (System [since 7.0])
  229.     gestaltFontMgrAttr (addition)
  230.  
  231.     additional System 7.1 responses exist but unknown.
  232. ****'fxfr' (System [since 7.0])
  233.     gestaltFXfrMgrAttr (addition)
  234.  
  235.     gestaltFXfrMgrErrorString = 1; *7
  236. ****'hdwr' (System [since 6.0.4])
  237.     gestaltHardwareAttr (additions)
  238.  
  239.     gestaltHasRBV          =  2; {RBV}                     *3
  240.     gestaltHasOSS          =  5; {OSS}                     *3
  241.     gestaltHasSCSIDMA      =  6; {53C80 SCSI DMA}          *3
  242.     gestaltHasSWIMIOP      =  8; {SWIM IOP}                *3
  243.     gestaltHasSCCIOP       =  9; {SCC IOP}                 *3
  244.     gestaltHasFitch        = 10; {Fitch memory Controller} *8
  245.     gestaltHasIWM          = 11; {IWM}                     *3
  246.     gestaltHasPWM          = 12; {PWM disk speed buffer}   *8
  247.     gestaltHasRAMSndBuff   = 13; {RAM-based sound buffer}  *8
  248.     gestaltHasVideoDAConv  = 14; {Video D/A Converter}     *8
  249.     gestaltHasPGC          = 15; {PGC (parity control)}    *8
  250.     gestaltHasSoftPowerOff = 19;                           *2
  251.     gestaltHasSonic        = 20; {Sonic}                   *3
  252.     gestaltHasSCSI961      = 21; {Int. 53C96 SCSI}         *1
  253.     gestaltHasSCSI962      = 22; {Ext. 53C96 SCSI}         *1
  254.     gestaltHasDAFBVideo    = 23; {DAFB Video}              *3
  255.     See for more information the TN "M.OV.GestaltSysenvirons".
  256. ****'kbd ' (System [since 6.0.4])
  257.     gestaltKeyboardType (additions)
  258.  
  259.     gestaltPwrBookADBKbd    = 12; {PowerBook ADB Keyboard}     *1
  260.     gestaltPwrBookISOADBKbd = 13; {PowerBook ISO ADB Keyboard} *1
  261. ****'mach' (System [since 6.0.4])
  262.     gestaltMachineType (additions)
  263.  
  264.     gestaltQuadra900    = 20; {Macintosh Quadra 900}     *1
  265.     gestaltPowerBook170 = 21; {Macintosh PowerBook 170}  *1
  266.     gestaltQuadra700    = 22; {Macintosh Quadra 700}     *1
  267.     gestaltClassicII    = 23; {Macintosh Classic II}     *1
  268.     gestaltPowerBook100 = 24; {Macintosh PowerBook 100}  *1
  269.     gestaltPowerBook140 = 25; {Macintosh PowerBook 140}  *1
  270.     gestaltQuadra950    = 26; {Macintosh Quadra 950}     *1
  271.     gestaltPowerBook210 = 29; {Macintosh PowerBook 210}
  272.     gestaltPowerBook230 = 32; {Macintosh PowerBook 230}
  273.     gestaltPowerBook180 = 33; {Macintosh PowerBook 180}
  274.     gestaltPowerBook160 = 34; {Macintosh PowerBook 160}
  275.     gestaltMacLCII      = 37; {Macintosh LC II}
  276.     gestaltMacIIvi      = 44; {Macintosh IIvi}
  277.     gestaltPerforma600  = 45; {Macintosh Performa 600}
  278.     gestaltMacIIvx      = 48; {Macintosh IIvx}
  279.     gestaltPowerBook145 = 54; {Macintosh PowerBook 145}
  280.  
  281.     Exceptions with systems prior to System 7.1:
  282.     gestaltMacLCII      = 19; {Macintosh LC & LC II}
  283.     gestaltPowerBook145 = 25; {Macintosh PowerBook 140 & 145}
  284. ****'misc' (System [since 6.0.5])
  285.     gestaltMiscAttr (addition)
  286.  
  287.     gestaltBootGlobals = 1; {Boot Globals} *8
  288. ****'mmu ' (System [since 6.0.4])
  289.     gestaltMMUType (addition)
  290.  
  291.     gestalt68040MMU = 4; {68040 built-in} *2
  292. ****'ppc ' (System [since 7.0])
  293.     gestaltPPCToolboxAttr (addition)
  294.     The first thing that is confusing is that, unlike other selectors
  295.     returning attributes, the responses are not bit values, but bit masks.
  296.     This means you simply AND the value with the response to test the bit.
  297.     The second thing that is confusing is how to interpret
  298.         gestaltPPCToolboxPresent = 0x0000.
  299.     What this means is that if the PPC toolbox is present, but has not
  300.     been initialized (by calling PPCInit), then gestaltPPCToolboxAttr
  301.     returns 0x0000. In reality, PPCInit gets called by the Process
  302.     Manager before any applications get launched, so no applications
  303.     will actually see this response. (Dave Radcliffe)
  304.  
  305.     gestaltPPCToolboxAttr      = 'ppc ';
  306.     gestaltPPCToolboxPresent   = 0x0000, {Requires PPCInit to be called}
  307.     gestaltPPCSupportsIncoming = 0x0001; {Deny incoming net requests}
  308.     gestaltPPCSupportsOutGoing = 0x0002; {Deny outgoing net requests}
  309.     gestaltPPCSupportsRealTime = 0x1000; {Supports real-time delivery}
  310. ****'proc' (System [since 6.0.4])
  311.     gestaltProcessorType (addition)
  312.  
  313.     gestalt68040 = 5; *2
  314. ****'qdrw' (System [since 7.0])
  315.     gestaltQuickDrawFeaturesAttr (not listed)
  316.     There is a bug in the 'qdrw' selector that causes it to report
  317.     that Color QuickDraw is always present, even on machines that
  318.     don't support it.
  319.     Apple has acknowledged this bug on AppleLink. (Chris Wysocki)
  320.     Use SysEnvirons instead or try this:
  321.       gHasColorQuickDraw := (Gestalt(gestaltQuickDrawVersion,
  322.         qdVersion) = noErr) & (qdVersion >= gestaltQuickDraw8Bit);
  323.  
  324.     gestaltQuickDrawFeaturesAttr = 'qdrw'; *2
  325.     gestaltHasColor              = 0;      *2
  326.     gestaltHasDeepGWorlds        = 1;      *2
  327.     gestaltHasDirectPixMaps      = 2;      *2
  328.     gestaltHasGrayishTextOr      = 3;      *2]
  329. ****'rsrc' (System [should work since 7.0?])
  330.     gestaltResourceMgrAttr (addition)
  331.     Under System 7, bit 0 that tells if you have partial resource
  332.     support doesn't work right. This selector is undefined under
  333.     System 7.0 and 7.0.1 even though the partial resource calls are
  334.     available. (Michael Hecht, Quinn)
  335.  
  336.     additional response exist but unknown (bit 1).
  337. ****'sccr' (System [6.0.4, discontinued])
  338.     gestaltSCCReadPortsAddr (not listed)
  339.     Returns the address of SCC read ports.
  340.  
  341.     gestaltSCCReadPortsAddr = 'sccr';
  342. ****'sccw' (System [6.0.4, discontinued])
  343.     gestaltSCCWritePortsAddr (not listed)
  344.     Returns the address of SCC write ports.
  345.  
  346.     gestaltSCCWritePortsAddr = 'sccw';
  347. ****'sysv' (System [since 6.0.4])
  348.     gestaltSystemVersion (listed in IM VI; question)
  349.     Returns the version number of currently active System file in BCD.
  350.     Is it correct system 6.0.8 returns 0x0607? Can you determine if it
  351.     is actually 6.0.8 in another way?
  352. ****'tabl' (System [since 6.0.4])
  353.     gestaltSelectorTable (not listed)
  354.     Returns a handle to the Gestalt selector table itself.
  355.     The Gestalt selector table is kept in a resizable block in the system
  356.     heap. The last item in the table is a dummy entry (INVALID), marked by
  357.     a selector OSType(MaxLongInt). (Marco Piovanelli, he has also some
  358.     snippet Pascal code to list all selectors)
  359.  
  360.     gestaltSelectorTable = 'tabl';
  361. ****'term' (System [7.1?])
  362.     gestaltTermMgrAttr (addition)
  363.  
  364.     gestaltTermMgrErrorString = 1; *7
  365. ****'via1' (System [6.0.4, discontinued])
  366.     gestaltVIA1Addr (not listed)
  367.     Returns the address of VIA 1.
  368.  
  369.     gestaltVIA1Addr = 'via1';
  370. ****'via2' (System [6.0.4, discontinued])
  371.     gestaltVIA2Addr (not listed)
  372.     Returns the address of VIA 2.
  373.  
  374.     gestaltVIA2Addr = 'via1';
  375. ****'vmbs' (System, VM on [since 7.0])
  376.     gestaltVMBackingStoreRef (not listed)
  377.     Returns the ioRefNum of the VM storage file.
  378.  
  379.     gestaltVMBackingStoreRef = 'vmbs';
  380. ****'wma.' (System [since 7.0])
  381.     gestaltResponderAttr (Workstation Management Agent aka Responder,
  382.                           not listed)
  383.  
  384.     gestaltResponderAttr    = 'wma.';
  385.     gestaltResponderPresent = 0;
  386. ****'xttt' (System [since 6.0.8])
  387.     gestaltExtToolboxTable (not listed)
  388.     Returns the base address of the Extended Toolbox trap table.
  389.  
  390.     gestaltExtToolboxTable = 'xttt';
  391.  
  392.  
  393. ====Apple Additional Software
  394. ****'admn' (AppleShare Admin appl [since 3.0])
  395.     gestaltASAdminAttr
  396.  
  397.     gestaltASAdminAttr    = 'admn';
  398.     gestaltASAdminPresent = 0;
  399. ****'arb ' (AppleTalk Remote Access [1.0])
  400.     gestaltArbitorAttr (Serial Port Arbitration) *9
  401.  
  402.     gestaltArbitorAttr = 'arb ';
  403.     gestaltSerialArbitrationExists = 0; {Serial Port Arbitration installed}
  404. ****'asps' (AppleShare Print Server appl [since 3.0])
  405.     gestaltASPrintServerAttr
  406.  
  407.     gestaltASPrintServerAttr    = 'asps';
  408.     gestaltASPrintServerPresent = 0;
  409. ****'aucd' (Audio CD Access ext [since 4.0])
  410.     gestaltAudioCDAccessVersion (CD-ROM Software 4.0)
  411.     Returns Audio CD Access version in BCD.
  412.     Version 4.0.1 of the CD-ROM Software will still return 0x0400.
  413.  
  414.     gestaltAudioCDAccessVersion = 'aucd';
  415. ****'font' (TrueType INIT for System 6.x)
  416.     This selector is also installed by the TT INIT.
  417.     See for details IM VI.
  418. ****'hgfd' (AppleShare File Server appl [since 3.0])
  419.     gestaltASFileServerAttr
  420.  
  421.     gestaltASFileServerAttr    = 'hgfd';
  422.     gestaltASFileServerPresent = 0;
  423. ****'hscd' (High Sierra File Access ext [since 4.0])
  424.     gestaltHighSierraFAVersion (CD-ROM Software 4.0)
  425.     Returns High Sierra File Access version in BCD.
  426.     Version 4.0.1 of the CD-ROM Software will still return 0x0400.
  427.  
  428.     gestaltHighSierraFAVersion = 'hscd';
  429. ****'mtcp' (MacTCP cp [since 1.1])
  430.     gestaltMacTCPAttr
  431.     0x0000 is returned if MacTCP is present but unopened, *5
  432.     0x0001 is returned for MacTCP when it is opened.      *5
  433.  
  434.     gestaltMacTCPAttr   = 'mtcp';
  435.     gestaltMacTCPOpened = 0; *5
  436.     I have seen this selector returning 0x0002 on a PB140 with System 7.1,
  437.     unknown MacTCP version.
  438. ****'qtim' (QuickTime ext [since 1.0])
  439.     gestaltQuickTimeVersion
  440.     Returns QuickTime version in 4-byte words.
  441.     If you install QuickTime under System 6, a major portion of the Alias
  442.     Manager and FSSpec support is also added. But, QT doesn't implement
  443.     the Gestalt selectors because the implementation is not complete. You
  444.     must check for either Alias Mgr or QuickTime. (Michael Hecht)
  445.  
  446.     gestaltQuickTimeVersion = 'qtim';
  447. ****'strm' (AppleTalk Remote Access [1.0])
  448.     gestaltRemoteAccessAttr *9
  449.  
  450.     gestaltRemoteAccessAttr   = 'strm';
  451.     gestaltRemoteAccessExists = 0; {RA Connection Interface is available)
  452. ****'ufox' (Foreign File Access ext [since 4.0])
  453.     gestaltForeignFAVersion (CD-ROM Software 4.0)
  454.     Returns Foreign File Access version in BCD.
  455.     Version 4.0.1 of the CD-ROM Software will still return 0x0400.
  456.  
  457.     gestaltForeignFAVersion = 'ufox';
  458.  
  459. ====Third Parties Software
  460. ****'ApoL' (Apollo ext [since 1.0])
  461.     gestaltApolloTable
  462.     Returns a handle to an instance of the following structure (described
  463.     in C):
  464.  
  465.     struct
  466.      {  long version;          // same as first 4 bytes of 'vers' resource
  467.         short attr;            // attribute bits
  468.         Boolean (*Control)(Boolean)   // control function
  469.       };
  470.  
  471.     See for more information the Programmers' Information chapter in the
  472.     Apollo 1.0 documentation. (Jeremy Roussak)
  473.  
  474.     gestaltApolloTable = 'ApoL';
  475. ****'CKI3' (AETracker cp [since 3.0])
  476.     gestaltAETrackerAddr
  477.     This selector returns a pointer to the external interface routine for
  478.     AETracker, details of which are in the AETracker interface guide.
  479.     (C.K. Haun)
  480.  
  481.     gestaltAETrackerAddr = 'CKI3';
  482. ****'SLip' (StuffIt SpaceSaver ext)
  483.     gestaltSItSpaceSaverAddr
  484.     Returns the address of the SpaceSaver "command module" which allows
  485.     developers to access all the functions of SS. (Leonard Rosenthol)
  486.  
  487.     gestaltSItSpaceSaverAddr = 'SLip';
  488.  
  489.  
  490. ####Gestalt Selector Codes, Responses Unknown
  491. ====Apple System Software
  492. ****'BSDa' (CloseView cp)
  493.     (developed by Berkeley Systems, Inc.)
  494. ****'bugz' (System (Tuna Helper INIT rsrc) [since 7.0]/Tune-up ext)
  495.     IIx (701/111): $02f7f33f, PB140 (71): $1ffffaff
  496. ****'dict' (System [since 7.1])
  497.     gestaltDictionaryMgrAttr/Version? (Dictionary Manager, not listed)
  498.  
  499.     gestaltDictionaryMgr???     = 'dict';
  500.     PB140 (71): $00000001
  501. ****'icon' (System? [?])
  502.     Icon Utilities Attr?
  503. ****'nubs' (System [6.0.4, 6.0.5, 6.0.7, discontinued])
  504.     gestaltNuBusCount?
  505.     Returns count of NuBus slots?
  506.     Plus: $00000000, IIx: $00000006
  507. ****'rbv ' (System [6.0.4, discontinued])
  508.     Plus: $00000000, IIx: -
  509.     (Installed but unknown response on MacIIx)
  510. ****'slot' (System [6.0.4, 6.0.5, discontinued])
  511.     Plus: $00000000, IIx: $00000003
  512. ****'slt1' (System [6.0.4, 6.0.5, discontinued])
  513.     Returns first slot# in hexadecimal?
  514.     Plus: -, IIx: $00000009
  515.     (Installed but unknown response on MacPlus)
  516. ****'tsmv' (System [since 7.1])
  517.     gestaltTextServicesMgrVersion? (not listed)
  518.  
  519.     gestaltTextServicesMgrVersion = 'tsmv';
  520.     new System 7.1 response exists but unknown
  521. ****'vmcl' (System, VM on [since 7.0])
  522. ****OSType(7) (System [since 6.0.4])
  523.     Returns LongInt('carl') and a result code of noErr.
  524. ****OSType(13) (System [since 6.0.4])
  525.     Returns LongInt('bbmc') and a result code of noErr.
  526.  
  527. ====Apple Additional Software
  528. ****'cpnt' (QuickTime ext [since 1.0])
  529.     gestaltComponentMgrAttr/Version? (Component Manager)
  530.  
  531.     gestaltComponentMgr???     = 'cpnt';
  532.     gestaltComponentMgrPresent = 0; (guess)
  533. ****'icmp' (QuickTime ext [since 1.0])
  534.     gestaltCompressionMgrAttr (ImageCompression Manager) *6
  535.  
  536.     gestaltCompressionMgrAttr = 'icmp'; *6
  537. ****'kpcd' (Apple Photo Access ext [since 1.0])
  538.     gestaltApplePhotoAccess??? (CD-ROM Software 4.0)
  539.     Response unknown ($fffffff7).
  540.  
  541.     gestaltApplePhotoAccess??? = 'kpcd';
  542. ****'slnk' (AppleTalk Remote Access MNPlink? [1.0])
  543.  
  544. ====Third Parties Software
  545.     Especially the Third Party selectors may change with every new release
  546.     and are therefore only listed in the 'known selectors' chapter when
  547.     the author has described the structure in the documentation or by
  548.     mail to me.
  549. ****'AP17' (?)
  550. ****'AzNe' (NameView cp)
  551. ****'ESOC' (Serial of Champions ext)
  552. ****'GtOp' (?)
  553. ****'gV00', 'gV01', 'gV02', 'gV03', 'gV04' (PowerPort cp???)
  554. ****'He20' (Helium cp)
  555. ****'Intj' (Interjection ext)
  556. ****'LFnt' (Dialog View cp, formerly List Font cp)
  557. ****'MV10' (TearOFF cp)
  558. ****'NMBT' (Attention cp [since 0.6])
  559. ****'PBUf' (?)
  560. ****'PBUt' (?)
  561. ****'RQDC' (DropCheck cp)
  562. ****'YeHa' (SpeedyFinder7 cp)
  563.     The structure to which the _Gestalt selector refers changes almost
  564.     invariably from version to version of SF7. Should someone work out
  565.     parts of the structure of the selector keep in mind that it will
  566.     almost certainly change in the next minor release and definitley with
  567.     the next major release. (Victor Tan)
  568.  
  569.  
  570. ####Abbreviations
  571.     ADB    - Apple Desktop Bus
  572.     AS     - AppleShare
  573.     ASC    - Apple Sound Chip
  574.     CPU    - Central Processing Unit
  575.     DAFB   - ???
  576.     DMA    - Direct Memory Access
  577.     DN     - Developer Note
  578.     FPU    - Floating Point Unit
  579.     IM     - Inside Macintosh (old volumes I-VI)
  580.     IOP    - Input/Output Processor
  581.     IWM    - Integrated Woz Machine
  582.     MMU    - Memory Management Unit
  583.     NIM    - New Inside Macintosh
  584.     OSS    - ???
  585.     PGC    - ???
  586.     PPC    - Process-to-Process Communication
  587.     PWM    - ???
  588.     RBV    - RAM-Based Video
  589.     SCC    - Serial Communications Controller
  590.     SCSI   - Small Computer System Interface
  591.     SIMM   - Single In-line Memory Module
  592.     Sonic  - ???
  593.     SWIM   - Super Integrated Woz Machine?
  594.     TN     - Technical Note
  595.     VIA    - Versatile Interface Adapter
  596.     VM     - Virtual Memory
  597.  
  598.     appl   - application
  599.     cp     - control panel
  600.     ext    - extension
  601.     FA     - File Access
  602.     RA     - Remote Access
  603.  
  604.  
  605. ####Format version numbers
  606. ====4-byte words
  607.     The format of the LONGINT result is as follows:
  608.     (based on posting by Ivan M Cavero Belaunde)
  609.  
  610.         MMmbSSss    (e.g. 01524050)
  611.  
  612.         Where:
  613.             MM is major revision release in BCD           1
  614.             m  is minor revision release in BCD           5
  615.             b  is bug fix release in BCD                  2
  616.             SS is development stage                       b
  617.                (dev=10,alpha=20,beta=40,release=80)
  618.             ss is dev. stage # in BCD                    50
  619.                                                     ------- +
  620.                                                    1.5.2b50   :-)
  621.  
  622.     The 'atkv' selector returns the major revision release in hexadecimal.
  623. ====BCD (Binary Coded Decimal)
  624.     0x0400 means 4.0.0 (MMmb, see above)
  625. ====INTEGER
  626.     The decimal representation of the returned value is the version.
  627.  
  628.  
  629. ####AppleShare File & Print Server selector codes
  630.     The selectors are defined when the application has run.
  631.     If it is still running (or wasn't properly quit) the response
  632.     is one. When the application has properly quit the response
  633.     is zero.
  634.       'admn' AppleShare Admin
  635.       'asps' AppleShare Print Server
  636.       'hgfd' AppleShare File Server
  637.  
  638.  
  639. ####Glue code
  640.     The following programming software includes glue-code to return some
  641.     responses even if the Gestalt Manager is not available. Every entry
  642.     includes the selectors of which the Glue-code can return a response.
  643.  
  644. ****Symantec THINK Pascal [at least since 4.0.1]:
  645.     atlk, fpu , kbd , kbd , lram, mach, mmu , qd  , ram , sysv, vers
  646.  
  647.  
  648. ####Sources
  649.     *1 Apple Inc.; TN M.OV.GestaltSysenvirons, May 1987, rev. Sep. 1992
  650.     *2 Symantec Corp.; THINK Pascal 4.0.1
  651.     *3 Carl C.Hewitt; Gestalt DA 1990
  652.     *4 Apple Inc.; TN M.NW.AppleTalk2, Feb. 1992, rev. Sep. 1992
  653.     *5 Apple Inc.; MacTCP 1.1 Programmer's Guide.
  654.     *6 Apple Inc.; QuickTime ImageCompression source files (with QT 1.0)
  655.     *7 Symantec Corp.; Think C GestaltGlue source files
  656.     *8 Eric Simenel, Apple Computer France; Gestalt dcmd 1.0
  657.     *9 Apple Inc.; AppleTalk Remote Access API External Reference
  658.                    Specification
  659.  
  660.  
  661. ####Related Software
  662. ****AEgestalt
  663.     Uses Apple Events to get Gestalt response from remote machine,
  664.     includes C-source. (Requires color?? Doesn't want to run on MacPlus)
  665.       FTP: bric-a-brac.apple.com
  666.              /dts/mac/sc/snippets/platforms.tools/aegestalt-1-0.hqx
  667. ****Gestalt DCMD
  668.     This dcmd (debugger command for MacsBug) allows you to "use"
  669.     Gestalt when you're in MacsBug.
  670.       FTP: bric-a-brac.apple.com
  671.              /dts/mac/sc/snippets/platforms.tools/gestalt-dcmd.hqx
  672. ****DisplayGestalt
  673.     Small application displays configuration using Gestalt Mgr,
  674.     includes C-source.
  675.       FTP: mac.archive.umich.edu
  676.              /development/libraries/displaygestalt.cpt.hqx
  677. ****Gestalt!
  678.     Displays responses from know installed selectors.
  679.       FTP: ftp.lu.se
  680.              /pub/mac/util/Gestalt!_X.X.X.cpt.hqx
  681.              /pub/mac/util/Gestalt!_X.X.X.cpt.hqx.txt
  682. ****GestaltDA
  683.     Displays responses from installed selectors.
  684. ****GestaltExt
  685.     External for 4TH Dimension Relational Database application from
  686.     ACI/ACIUS.
  687.       FTP: ftp.scri.fsu.edu
  688.              /pub/4d/4d-GestaltExt.external.hqx
  689. ****GestaltGlue
  690.     Glue code in C.
  691.       FTP: ics.uci.edu
  692.              /mac/think-c/symantec/pre-5.0stuff/gestalt.hqx
  693. ****Technical Notes 'M.OV.GestaltSysenvirons' and 'M.NW.AppleTalk2'
  694.     M.OV.GestaltSysenvirons discusses Gestalt and SysEnvirons
  695.     M.NW.AppleTalk2 discusses AppleTalk
  696.       FTP: bric-a-brac.apple.com
  697.              /dts/mac/tn/overview/gestalt-and-system-environs.hqx
  698.              /dts/mac/tn/networking/appletalk2.hqx
  699. ****Test Gestalt
  700.     Examples to test for QuickDraw version and Virtual Memory status,
  701.     includes C-source.
  702.       FTP: bric-a-brac.apple.com
  703.              /dts/mac/sc/snippets/toolbox/testgestalt.hqx
  704.  
  705.  
  706. ####Acknowledgements
  707.     I want to thank the following persons for their contribution
  708.     to this list:
  709.  
  710.     C.K. Haun (Author AETracker cp)                       <haun@apple.com>
  711.     Chris Wysocki                                     <wysocki@netcom.com>
  712.     Dave Radcliffe (Author TN GestaltSysenvirons)     <radcliff@apple.com>
  713.     Ivan M Cavero Belaunde                         <ivanski@world.std.com>
  714.     Jeremy Roussak (Author Apollo ext)             <jeremyr@dcs.qmw.ac.uk>
  715.     Jon Watte                                        <d88-jwa@nada.kth.se>
  716.     Lawrence D'Oliveiro                                <ldo@waikato.ac.nz>
  717.     Leonard Rosenthol                                <leonardr@netcom.com>
  718.     Marco Piovanelli                         <piovanel@ghost.dsi.unimi.it>
  719.     Mark B. Johnson                                   <mjohnson@Apple.com>
  720.     Michael Hecht                              <Michael_Hecht@mac.sas.com>
  721.     Pete Resnick                                 <resnick@cogsci.uiuc.edu>
  722.     Quinn                                            <quinn@cs.uwa.edu.au>
  723.     Robert Hess                             <robert_hess@macweek.ziff.com>
  724.     Roland Mansson (Author Gestalt! appl)       <roland.mansson@ldc.lu.se>
  725.     Victor Tan (Author SpeedyFinder7 cp)      <victort@extro.ucc.su.oz.au>
  726.  
  727.     and the Computer Department at the Biology Faculty of the
  728.     Free University in Amsterdam (The Netherlands) for their help and
  729.     support.
  730.  
  731.     These persons provided information used in this list. They did this
  732.     on personal title, NOT on behalf of their employer.
  733.     I assume information you mail to me about Gestalt selectors may be
  734.     used in this list. Information made available to the general public
  735.     (e.g. a posting to a USENET newsgroup) is also included and the
  736.     persons name added to this chapter (and to the mail list).
  737.     I will mail you back to thank you and include the parts from the
  738.     list which, according the information you provided, were changed
  739.     to let you check them.
  740.     BTW Persons are only listed with any software they wrote when
  741.     these are mentioned somewhere in this list.
  742.  
  743.  
  744. ####Legal Stuff
  745. ====Notice of Liability
  746.     The information in this list is distributed on a "AS IS" basis, without
  747.     warranty. While every precaution has been taken in the preparation of
  748.     this list, neither the moderator nor any contributor shall have any
  749.     liability to any person or entity with respect to any liability, loss,
  750.     or damage caused or alleged to be caused directly or indirectly by the
  751.     information contained in this list or by the computer software and
  752.     hardware products described herein.
  753. ====Trademarks
  754.     Throughout this list trademarked names are used. Rather than put a
  755.     trademark symbol in every occurrence of a trademarked name, I state I am
  756.     using the names only in an editorial fashion and to the benefit of the
  757.     trademark owner with no intention of infringement of the trademark.
  758. ====Distribution
  759.     The information in this list may be used freely for NON-COMMERCIAL
  760.     purposes only. If you DO USE the information in this list for
  761.     COMMERCIAL purposes, you may consider sending the moderator a donation.
  762.     If you (start to) redistribute this list outside Internet (especially
  763.     printed, on disk or CD-ROM) you are kindly asked to notify the moderator.
  764.     You are not allowed to distribute modified versions of this list,
  765.     including, but not limited to, deleting, adding or moving text or
  766.     adding non-text parts. Distribution in any electronical format except
  767.     a normal text file is not allowed without permission.
  768.     You are not allowed to redistribute it with any other name than
  769.     'gestalt-list-XX.txt' (where XX is the version number) unless because
  770.     of technical reasons.
  771.  
  772.  
  773. ####Moderator
  774.     Rene G.A. Ros (student Computer Science)
  775.     D.C. van Krimpenstraat 3
  776.     1067 SG  Amsterdam
  777.     The Netherlands, Europe
  778.     Bank      : Postbank 4762669
  779.  
  780.     Phone#    : +31 20 611 92 74 / +31 20 611 87 00
  781.     Fax#      : +31 20 611 60 06
  782.     Internet  : rgaros@bio.vu.nl
  783.                 rgaros@nikhefk.nikhef.nl
  784.                 rener@htsa.aha.nl (you can send a carbon copy of urgent
  785.                                    messages to this address)
  786.     CompuServe: 100112,1363 (not preferred)
  787.                 >INTERNET: rgaros@bio.vu.nl
  788.  
  789.