home *** CD-ROM | disk | FTP | other *** search
/ CLIX - Fazer Clix Custa Nix / CLIX-CD.cdr / mac / lib / Mac / LowMem.pm < prev    next >
Text File  |  1998-02-17  |  21KB  |  1,215 lines

  1. =head1 NAME
  2.  
  3. MacOS Low Memory Globals.
  4.  
  5. Provide the MacPerl interface to the low memory global variables.
  6.  
  7. Access to Inside Macintosh is essential for proper use of these functions.
  8. Explanations of terms, processes and procedures are provided there.
  9. Any attempt to use these functions without guidance can cause severe errors in 
  10. your machine, including corruption of data. B<You have been warned.>
  11.  
  12. =head1 SYNOPSIS
  13.  
  14.     use Mac::LowMem;
  15.     use Mac::QuickDraw;
  16.     
  17.     LMSetMBarHeight(55);
  18.     
  19.     $l = LMGetMouseLocation();
  20.     
  21.     print $l, "\n", $l->h, " ", $l->v, "\n";
  22.  
  23. =head1 DESCRIPTION
  24.  
  25. The following routines make it possible to get and set low memory variables.
  26.  
  27. =cut
  28.  
  29. use strict;
  30.  
  31. package Mac::LowMem;
  32.  
  33. BEGIN {
  34.     use Exporter   ();
  35.     use Mac::Memory();
  36.     use Carp;
  37.     
  38.     use vars qw(@ISA @EXPORT $AUTOLOAD);
  39.     
  40.     @ISA = qw(Exporter);
  41.     @EXPORT = qw(
  42.         LMGetScrVRes
  43.         LMGetScrHRes
  44.         LMGetMemTop
  45.         LMGetBufPtr
  46.         LMGetHeapEnd
  47.         LMGetTheZone
  48.         LMGetUTableBase
  49.         LMGetCPUFlag
  50.         LMGetApplLimit
  51.         LMGetSysEvtMask
  52.         LMGetRndSeed
  53.         LMGetSEvtEnb
  54.         LMGetTicks
  55.         LMGetKeyThresh
  56.         LMGetKeyRepThresh
  57.         LMGetVIA
  58.         LMGetSCCRd
  59.         LMGetSCCWr
  60.         LMGetSPValid
  61.         LMGetSPATalkA
  62.         LMGetSPATalkB
  63.         LMGetSPConfig
  64.         LMGetSPPortA
  65.         LMGetSPPortB
  66.         LMGetSPAlarm
  67.         LMGetSPFont
  68.         LMGetSPKbd
  69.         LMGetSPPrint
  70.         LMGetSPVolCtl
  71.         LMGetSPClikCaret
  72.         LMGetSPMisc2
  73.         LMGetTime
  74.         LMGetBootDrive
  75.         LMGetSFSaveDisk
  76.         LMGetKbdLast
  77.         LMGetKbdType
  78.         LMGetMemErr
  79.         LMGetSdVolume
  80.         LMGetSoundPtr
  81.         LMGetSoundBase
  82.         LMGetSoundLevel
  83.         LMGetCurPitch
  84.         LMGetROM85
  85.         LMGetPortBUse
  86.         LMGetSysZone
  87.         LMGetApplZone
  88.         LMGetROMBase
  89.         LMGetRAMBase
  90.         LMGetDSAlertTab
  91.         LMGetABusVars
  92.         LMGetABusDCE
  93.         LMGetDoubleTime
  94.         LMGetCaretTime
  95.         LMGetScrDmpEnb
  96.         LMGetBufTgFNum
  97.         LMGetBufTgFFlg
  98.         LMGetBufTgFBkNum
  99.         LMGetBufTgDate
  100.         LMGetLo3Bytes
  101.         LMGetMinStack
  102.         LMGetDefltStack
  103.         LMGetGZRootHnd
  104.         LMGetGZMoveHnd
  105.         LMGetFCBSPtr
  106.         LMGetDefVCBPtr
  107.         LMGetCurDirStore
  108.         LMGetFSFCBLen
  109.         LMGetScrnBase
  110.         LMGetMainDevice
  111.         LMGetDeviceList
  112.         LMGetQDColors
  113.         LMGetCrsrBusy
  114.         LMGetWidthListHand
  115.         LMGetJournalRef
  116.         LMGetCrsrThresh
  117.         LMGetCurApRefNum
  118.         LMGetCurrentA5
  119.         LMGetCurStackBase
  120.         LMGetCurJTOffset
  121.         LMGetCurPageOption
  122.         LMGetHiliteMode
  123.         LMGetPrintErr
  124.         LMGetScrapSize
  125.         LMGetScrapHandle
  126.         LMGetScrapCount
  127.         LMGetScrapState
  128.         LMGetROMFont0
  129.         LMGetApFontID
  130.         LMGetWindowList
  131.         LMGetSaveUpdate
  132.         LMGetPaintWhite
  133.         LMGetWMgrPort
  134.         LMGetGrayRgn
  135.         LMGetGhostWindow
  136.         LMGetAuxWinHead
  137.         LMGetCurActivate
  138.         LMGetCurDeactive
  139.         LMGetOldStructure
  140.         LMGetOldContent
  141.         LMGetSaveVisRgn
  142.         LMGetOneOne
  143.         LMGetMinusOne
  144.         LMGetTopMenuItem
  145.         LMGetAtMenuBottom
  146.         LMGetMenuList
  147.         LMGetMBarEnable
  148.         LMGetMenuFlash
  149.         LMGetTheMenu
  150.         LMGetTopMapHndl
  151.         LMGetSysMapHndl
  152.         LMGetSysMap
  153.         LMGetCurMap
  154.         LMGetResLoad
  155.         LMGetResErr
  156.         LMGetFScaleDisable
  157.         LMGetANumber
  158.         LMGetACount
  159.         LMGetTEScrpLength
  160.         LMGetTEScrpHandle
  161.         LMGetAppParmHandle
  162.         LMGetDSErrCode
  163.         LMGetDlgFont
  164.         LMGetWidthPtr
  165.         LMGetATalkHk2
  166.         LMGetHWCfgFlags
  167.         LMGetWidthTabHandle
  168.         LMGetLastSPExtra
  169.         LMGetMenuDisable
  170.         LMGetROMMapInsert
  171.         LMGetTmpResLoad
  172.         LMGetIntlSpec
  173.         LMGetWordRedraw
  174.         LMGetSysFontFam
  175.         LMGetSysFontSize
  176.         LMGetMBarHeight
  177.         LMGetTESysJust
  178.         LMGetLastFOND
  179.         LMGetFractEnable
  180.         LMGetMMU32Bit
  181.         LMGetTheGDevice
  182.         LMGetDeskCPat
  183.         LMGetTimeDBRA
  184.         LMGetTimeSCCDB
  185.         LMGetSynListHandle
  186.         LMGetMenuCInfo
  187.         LMGetTimeSCSIDB
  188.         LMGetCursorNew
  189.         LMGetMouseButtonState
  190.         LMGetMouseTemp
  191.         LMGetRawMouseLocation
  192.         LMGetMouseLocation
  193.         LMGetHighHeapMark
  194.         LMGetStackLowPoint
  195.         LMGetROMMapHandle
  196.         LMGetUnitTableEntryCount
  197.         LMGetDiskFormatingHFSDefaults
  198.         LMGetPortAInfo
  199.  
  200.         LMSetScrVRes
  201.         LMSetScrHRes
  202.         LMSetMemTop
  203.         LMSetBufPtr
  204.         LMSetHeapEnd
  205.         LMSetTheZone
  206.         LMSetUTableBase
  207.         LMSetCPUFlag
  208.         LMSetApplLimit
  209.         LMSetSysEvtMask
  210.         LMSetRndSeed
  211.         LMSetSEvtEnb
  212.         LMSetTicks
  213.         LMSetKeyThresh
  214.         LMSetKeyRepThresh
  215.         LMSetVIA
  216.         LMSetSCCRd
  217.         LMSetSCCWr
  218.         LMSetSPValid
  219.         LMSetSPATalkA
  220.         LMSetSPATalkB
  221.         LMSetSPConfig
  222.         LMSetSPPortA
  223.         LMSetSPPortB
  224.         LMSetSPAlarm
  225.         LMSetSPFont
  226.         LMSetSPKbd
  227.         LMSetSPPrint
  228.         LMSetSPVolCtl
  229.         LMSetSPClikCaret
  230.         LMSetSPMisc2
  231.         LMSetTime
  232.         LMSetBootDrive
  233.         LMSetSFSaveDisk
  234.         LMSetKbdLast
  235.         LMSetKbdType
  236.         LMSetMemErr
  237.         LMSetSdVolume
  238.         LMSetSoundPtr
  239.         LMSetSoundBase
  240.         LMSetSoundLevel
  241.         LMSetCurPitch
  242.         LMSetROM85
  243.         LMSetPortBUse
  244.         LMSetSysZone
  245.         LMSetApplZone
  246.         LMSetROMBase
  247.         LMSetRAMBase
  248.         LMSetDSAlertTab
  249.         LMSetABusVars
  250.         LMSetABusDCE
  251.         LMSetDoubleTime
  252.         LMSetCaretTime
  253.         LMSetScrDmpEnb
  254.         LMSetBufTgFNum
  255.         LMSetBufTgFFlg
  256.         LMSetBufTgFBkNum
  257.         LMSetBufTgDate
  258.         LMSetLo3Bytes
  259.         LMSetMinStack
  260.         LMSetDefltStack
  261.         LMSetGZRootHnd
  262.         LMSetGZMoveHnd
  263.         LMSetFCBSPtr
  264.         LMSetDefVCBPtr
  265.         LMSetCurDirStore
  266.         LMSetFSFCBLen
  267.         LMSetScrnBase
  268.         LMSetMainDevice
  269.         LMSetDeviceList
  270.         LMSetQDColors
  271.         LMSetCrsrBusy
  272.         LMSetWidthListHand
  273.         LMSetJournalRef
  274.         LMSetCrsrThresh
  275.         LMSetCurApRefNum
  276.         LMSetCurrentA5
  277.         LMSetCurStackBase
  278.         LMSetCurJTOffset
  279.         LMSetCurPageOption
  280.         LMSetHiliteMode
  281.         LMSetPrintErr
  282.         LMSetScrapSize
  283.         LMSetScrapHandle
  284.         LMSetScrapCount
  285.         LMSetScrapState
  286.         LMSetROMFont0
  287.         LMSetApFontID
  288.         LMSetSaveUpdate
  289.         LMSetPaintWhite
  290.         LMSetWMgrPort
  291.         LMSetWindowList
  292.         LMSetGhostWindow
  293.         LMSetAuxWinHead
  294.         LMSetCurActivate
  295.         LMSetCurDeactive
  296.         LMSetOldStructure
  297.         LMSetOldContent
  298.         LMSetGrayRgn
  299.         LMSetSaveVisRgn
  300.         LMSetOneOne
  301.         LMSetMinusOne
  302.         LMSetTopMenuItem
  303.         LMSetAtMenuBottom
  304.         LMSetMenuList
  305.         LMSetMBarEnable
  306.         LMSetMenuFlash
  307.         LMSetTheMenu
  308.         LMSetTopMapHndl
  309.         LMSetSysMapHndl
  310.         LMSetSysMap
  311.         LMSetCurMap
  312.         LMSetResLoad
  313.         LMSetResErr
  314.         LMSetFScaleDisable
  315.         LMSetANumber
  316.         LMSetACount
  317.         LMSetTEScrpLength
  318.         LMSetTEScrpHandle
  319.         LMSetAppParmHandle
  320.         LMSetDSErrCode
  321.         LMSetDlgFont
  322.         LMSetWidthPtr
  323.         LMSetATalkHk2
  324.         LMSetHWCfgFlags
  325.         LMSetWidthTabHandle
  326.         LMSetLastSPExtra
  327.         LMSetMenuDisable
  328.         LMSetROMMapInsert
  329.         LMSetTmpResLoad
  330.         LMSetIntlSpec
  331.         LMSetWordRedraw
  332.         LMSetSysFontFam
  333.         LMSetSysFontSize
  334.         LMSetMBarHeight
  335.         LMSetTESysJust
  336.         LMSetLastFOND
  337.         LMSetFractEnable
  338.         LMSetMMU32Bit
  339.         LMSetTheGDevice
  340.         LMSetDeskCPat
  341.         LMSetTimeDBRA
  342.         LMSetTimeSCCDB
  343.         LMSetSynListHandle
  344.         LMSetMenuCInfo
  345.         LMSetTimeSCSIDB
  346.         LMSetCursorNew
  347.         LMSetMouseButtonState
  348.         LMSetMouseTemp
  349.         LMSetRawMouseLocation
  350.         LMSetMouseLocation
  351.         LMSetHighHeapMark
  352.         LMSetStackLowPoint
  353.         LMSetROMMapHandle
  354.         LMSetUnitTableEntryCount
  355.         LMSetDiskFormatingHFSDefaults
  356.         LMSetPortAInfo
  357.     );
  358. }
  359.  
  360. # The empty line below is needed to simplify the algorithm
  361.  
  362. my $sGlobals = <<END_GLOBALS;
  363.  
  364. ABusDCE                   0x02DC 4 L 
  365. ABusVars                  0x02D8 4 L 
  366. ACount                    0x0A9A 2 s 
  367. ANumber                   0x0A98 2 s 
  368. ATalkHk2                  0x0B18 4 L 
  369. ApFontID                  0x0984 2 s 
  370. AppParmHandle             0x0AEC 4 L Handle
  371. ApplLimit                 0x0130 4 L 
  372. ApplZone                  0x02AA 4 L THz
  373. AtMenuBottom              0x0A0C 2 s 
  374. AuxWinHead                0x0CD0 4 L AuxWinHandle
  375. BootDrive                 0x0210 2 s 
  376. BufPtr                    0x010C 4 L 
  377. BufTgDate                 0x0304 4 l 
  378. BufTgFBkNum               0x0302 2 s 
  379. BufTgFFlg                 0x0300 2 s 
  380. BufTgFNum                 0x02FC 4 l 
  381. CPUFlag                   0x012F 1 C 
  382. CaretTime                 0x02F4 4 L 
  383. CrsrBusy                  0x08CD 1 C 
  384. CrsrThresh                0x08EC 2 s 
  385. CurActivate               0x0A64 4 L GrafPtr
  386. CurApRefNum               0x0900 2 s 
  387. CurDeactive               0x0A68 4 L GrafPtr
  388. CurDirStore               0x0398 4 l 
  389. CurJTOffset               0x0934 2 s 
  390. CurMap                    0x0A5A 2 s 
  391. CurPageOption             0x0936 2 s 
  392. CurPitch                  0x0280 2 s 
  393. CurStackBase              0x0908 4 L 
  394. CurrentA5                 0x0904 4 L 
  395. CursorNew                 0x08CE 1 c 
  396. DSAlertTab                0x02BA 4 L 
  397. DSErrCode                 0x0AF0 2 s 
  398. DefVCBPtr                 0x0352 4 L 
  399. DefltStack                0x0322 4 l 
  400. DeskCPat                  0x0CD8 4 L PixPatHandle
  401. DeviceList                0x08A8 4 L GDHandle
  402. DiskFormatingHFSDefaults  0x039E 4 L 
  403. DlgFont                   0x0AFA 2 s 
  404. DoubleTime                0x02F0 4 L 
  405. FCBSPtr                   0x034E 4 L 
  406. FSFCBLen                  0x03F6 2 s 
  407. FScaleDisable             0x0A63 1 C 
  408. FractEnable               0x0BF4 1 C 
  409. GZMoveHnd                 0x0330 4 L Handle
  410. GZRootHnd                 0x0328 4 L Handle
  411. GhostWindow               0x0A84 4 L GrafPtr
  412. GrayRgn                   0x09EE 4 L RgnHandle
  413. HWCfgFlags                0x0B22 2 s 
  414. HeapEnd                   0x0114 4 L 
  415. HighHeapMark              0x0BAE 4 L 
  416. HiliteMode                0x0938 1 C 
  417. IntlSpec                  0x0BA0 4 L 
  418. JournalRef                0x08E8 2 s 
  419. KbdLast                   0x0218 1 C 
  420. KbdType                   0x021E 1 C 
  421. KeyRepThresh              0x0190 2 s 
  422. KeyThresh                 0x018E 2 s 
  423. LastFOND                  0x0BC2 4 L Handle
  424. LastSPExtra               0x0B4C 4 l 
  425. Lo3Bytes                  0x031A 4 l 
  426. MBarEnable                0x0A20 2 s 
  427. MBarHeight                0x0BAA 2 s 
  428. MMU32Bit                  0x0CB2 1 C 
  429. MainDevice                0x08A4 4 L GDHandle
  430. MemErr                    0x0220 2 s 
  431. MemTop                    0x0108 4 L 
  432. MenuCInfo                 0x0D50 4 L MCTableHandle
  433. MenuDisable               0x0B54 4 l 
  434. MenuFlash                 0x0A24 2 s 
  435. MenuList                  0x0A1C 4 L Handle
  436. MinStack                  0x031E 4 l 
  437. MinusOne                  0x0A06 4 l 
  438. MouseButtonState          0x0172 1 C 
  439. MouseLocation             0x0830 8 - Point
  440. MouseTemp                 0x0828 8 - Point
  441. OldContent                0x09EA 4 L RgnHandle
  442. OldStructure              0x09E6 4 L RgnHandle
  443. OneOne                    0x0A02 4 l 
  444. PaintWhite                0x09DC 2 s 
  445. PortAInfo                 0x0290 1 C 
  446. PortBUse                  0x0291 1 C 
  447. PrintErr                  0x0944 2 s 
  448. QDColors                  0x08B0 4 L Handle
  449. RAMBase                   0x02B2 4 L 
  450. ROM85                     0x028E 2 s 
  451. ROMBase                   0x02AE 4 L 
  452. ROMFont0                  0x0980 4 L Handle
  453. ROMMapHandle              0x0B06 4 L Handle
  454. ROMMapInsert              0x0B9E 1 C 
  455. RawMouseLocation          0x082C 8 - Point
  456. ResErr                    0x0A60 2 s 
  457. ResLoad                   0x0A5E 1 C 
  458. RndSeed                   0x0156 4 l 
  459. SCCRd                     0x01D8 4 L 
  460. SCCWr                     0x01DC 4 L 
  461. SEvtEnb                   0x015C 1 C 
  462. SFSaveDisk                0x0214 2 s 
  463. SPATalkA                  0x01F9 1 C 
  464. SPATalkB                  0x01FA 1 C 
  465. SPAlarm                   0x0200 4 l 
  466. SPClikCaret               0x0209 1 C 
  467. SPConfig                  0x01FB 1 C 
  468. SPFont                    0x0204 2 s 
  469. SPKbd                     0x0206 1 C 
  470. SPMisc2                   0x020B 1 C 
  471. SPPortA                   0x01FC 2 s 
  472. SPPortB                   0x01FE 2 s 
  473. SPPrint                   0x0207 1 C 
  474. SPValid                   0x01F8 1 C 
  475. SPVolCtl                  0x0208 1 C 
  476. SaveUpdate                0x09DA 2 s 
  477. SaveVisRgn                0x09F2 4 L RgnHandle
  478. ScrDmpEnb                 0x02F8 1 C 
  479. ScrHRes                   0x0104 2 s 
  480. ScrVRes                   0x0102 2 s 
  481. ScrapCount                0x0968 2 s 
  482. ScrapHandle               0x0964 4 L Handle
  483. ScrapSize                 0x0960 4 l 
  484. ScrapState                0x096A 2 s 
  485. ScrnBase                  0x0824 4 L 
  486. SdVolume                  0x0260 1 C 
  487. SoundBase                 0x0266 4 L 
  488. SoundLevel                0x027F 1 C 
  489. SoundPtr                  0x0262 4 L 
  490. StackLowPoint             0x0110 4 L 
  491. SynListHandle             0x0D32 4 L Handle
  492. SysEvtMask                0x0144 2 s 
  493. SysFontFam                0x0BA6 2 s 
  494. SysFontSize               0x0BA8 2 s 
  495. SysMap                    0x0A58 2 s 
  496. SysMapHndl                0x0A54 4 L Handle
  497. SysZone                   0x02A6 4 L THz
  498. TEScrpHandle              0x0AB4 4 L Handle
  499. TEScrpLength              0x0AB0 2 S 
  500. TESysJust                 0x0BAC 2 s 
  501. TheGDevice                0x0CC8 4 L GDHandle
  502. TheMenu                   0x0A26 2 s 
  503. TheZone                   0x0118 4 L THz
  504. Ticks                     0x016A 4 L 
  505. Time                      0x020C 4 l 
  506. TimeDBRA                  0x0D00 2 s 
  507. TimeSCCDB                 0x0D02 2 s 
  508. TimeSCSIDB                0x0B24 2 s 
  509. TmpResLoad                0x0B9F 1 C 
  510. TopMapHndl                0x0A50 4 L Handle
  511. TopMenuItem               0x0A0A 2 s 
  512. UTableBase                0x011C 4 L 
  513. UnitTableEntryCount       0x01D2 2 s 
  514. VIA                       0x01D4 4 L 
  515. WMgrPort                  0x09DE 4 L GrafPtr
  516. WidthListHand             0x08E4 4 L Handle
  517. WidthPtr                  0x0B10 4 L 
  518. WidthTabHandle            0x0B2A 4 L Handle
  519. WindowList                0x09D6 4 L GrafPtr
  520. WordRedraw                0x0BA5 1 C 
  521. END_GLOBALS
  522.  
  523. sub _Getter {
  524.     my($addr, $size, $format, $package) = @_;
  525.     my ($data) = bless(\$addr, "Ptr")->get(0, $size);
  526.     $data = unpack($format, $data) unless $format eq "-";
  527.     return $package ? bless(\$data, $package) : $data;
  528. }
  529.  
  530. sub _Setter {
  531.     my($addr, $format, $package, $data) = @_;
  532.     $data = $$data if $package;
  533.     $data = pack($format, $data) unless $format eq "-";
  534.     bless(\$addr, "Ptr")->set(0, $data);
  535. }
  536.  
  537. AUTOLOAD {
  538.     {
  539.         my ($gs, $var) = ($AUTOLOAD =~ /LM([GS])et(\w+)/);
  540.         my ($start) = index($sGlobals, "\n$var");
  541.         croak "$AUTOLOAD not defined" if ($start == -1);
  542.         ++$start;
  543.         my ($def) = 
  544.             substr($sGlobals, $start, index($sGlobals, "\n", $start)-$start);
  545.         my ($name, $addr, $size, $format, $package) = split(" ", $def);
  546.         if ($gs eq "G") {
  547.             eval<<END_GETTER;
  548. sub $AUTOLOAD {
  549.     _Getter($addr, $size, "$format", "$package");
  550. }
  551. END_GETTER
  552.         } else {
  553.             eval<<END_SETTER;
  554. sub $AUTOLOAD {
  555.     _Setter($addr, "$format", "$package", \$_[0]);
  556. }
  557. END_SETTER
  558.         }
  559.         goto &$AUTOLOAD;
  560.     }
  561. }
  562.  
  563. __END__
  564.  
  565. =head2 Getting Variable Values
  566.  
  567. =over 4
  568.  
  569. =item         LMGetScrVRes
  570.  
  571. =item         LMGetScrHRes
  572.  
  573. =item         LMGetMemTop
  574.  
  575. =item         LMGetBufPtr
  576.  
  577. =item         LMGetHeapEnd
  578.  
  579. =item         LMGetTheZone
  580.  
  581. =item         LMGetUTableBase
  582.  
  583. =item         LMGetCPUFlag
  584.  
  585. =item         LMGetApplLimit
  586.  
  587. =item         LMGetSysEvtMask
  588.  
  589. =item         LMGetRndSeed
  590.  
  591. =item         LMGetSEvtEnb
  592.  
  593. =item         LMGetTicks
  594.  
  595. =item         LMGetKeyThresh
  596.  
  597. =item         LMGetKeyRepThresh
  598.  
  599. =item         LMGetVIA
  600.  
  601. =item         LMGetSCCRd
  602.  
  603. =item         LMGetSCCWr
  604.  
  605. =item         LMGetSPValid
  606.  
  607. =item         LMGetSPATalkA
  608.  
  609. =item         LMGetSPATalkB
  610.  
  611. =item         LMGetSPConfig
  612.  
  613. =item         LMGetSPPortA
  614.  
  615. =item         LMGetSPPortB
  616.  
  617. =item         LMGetSPAlarm
  618.  
  619. =item         LMGetSPFont
  620.  
  621. =item         LMGetSPKbd
  622.  
  623. =item         LMGetSPPrint
  624.  
  625. =item         LMGetSPVolCtl
  626.  
  627. =item         LMGetSPClikCaret
  628.  
  629. =item         LMGetSPMisc2
  630.  
  631. =item         LMGetTime
  632.  
  633. =item         LMGetBootDrive
  634.  
  635. =item         LMGetSFSaveDisk
  636.  
  637. =item         LMGetKbdLast
  638.  
  639. =item         LMGetKbdType
  640.  
  641. =item         LMGetMemErr
  642.  
  643. =item         LMGetSdVolume
  644.  
  645. =item         LMGetSoundPtr
  646.  
  647. =item         LMGetSoundBase
  648.  
  649. =item         LMGetSoundLevel
  650.  
  651. =item         LMGetCurPitch
  652.  
  653. =item         LMGetROM85
  654.  
  655. =item         LMGetPortBUse
  656.  
  657. =item         LMGetSysZone
  658.  
  659. =item         LMGetApplZone
  660.  
  661. =item         LMGetROMBase
  662.  
  663. =item         LMGetRAMBase
  664.  
  665. =item         LMGetDSAlertTab
  666.  
  667. =item         LMGetABusVars
  668.  
  669. =item         LMGetABusDCE
  670.  
  671. =item         LMGetDoubleTime
  672.  
  673. =item         LMGetCaretTime
  674.  
  675. =item         LMGetScrDmpEnb
  676.  
  677. =item         LMGetBufTgFNum
  678.  
  679. =item         LMGetBufTgFFlg
  680.  
  681. =item         LMGetBufTgFBkNum
  682.  
  683. =item         LMGetBufTgDate
  684.  
  685. =item         LMGetLo3Bytes
  686.  
  687. =item         LMGetMinStack
  688.  
  689. =item         LMGetDefltStack
  690.  
  691. =item         LMGetGZRootHnd
  692.  
  693. =item         LMGetGZMoveHnd
  694.  
  695. =item         LMGetFCBSPtr
  696.  
  697. =item         LMGetDefVCBPtr
  698.  
  699. =item         LMGetCurDirStore
  700.  
  701. =item         LMGetFSFCBLen
  702.  
  703. =item         LMGetScrnBase
  704.  
  705. =item         LMGetMainDevice
  706.  
  707. =item         LMGetDeviceList
  708.  
  709. =item         LMGetQDColors
  710.  
  711. =item         LMGetCrsrBusy
  712.  
  713. =item         LMGetWidthListHand
  714.  
  715. =item         LMGetJournalRef
  716.  
  717. =item         LMGetCrsrThresh
  718.  
  719. =item         LMGetCurApRefNum
  720.  
  721. =item         LMGetCurrentA5
  722.  
  723. =item         LMGetCurStackBase
  724.  
  725. =item         LMGetCurJTOffset
  726.  
  727. =item         LMGetCurPageOption
  728.  
  729. =item         LMGetHiliteMode
  730.  
  731. =item         LMGetPrintErr
  732.  
  733. =item         LMGetScrapSize
  734.  
  735. =item         LMGetScrapHandle
  736.  
  737. =item         LMGetScrapCount
  738.  
  739. =item         LMGetScrapState
  740.  
  741. =item         LMGetROMFont0
  742.  
  743. =item         LMGetApFontID
  744.  
  745. =item         LMGetWindowList
  746.  
  747. =item         LMGetSaveUpdate
  748.  
  749. =item         LMGetPaintWhite
  750.  
  751. =item         LMGetWMgrPort
  752.  
  753. =item         LMGetGrayRgn
  754.  
  755. =item         LMGetGhostWindow
  756.  
  757. =item         LMGetAuxWinHead
  758.  
  759. =item         LMGetCurActivate
  760.  
  761. =item         LMGetCurDeactive
  762.  
  763. =item         LMGetOldStructure
  764.  
  765. =item         LMGetOldContent
  766.  
  767. =item         LMGetSaveVisRgn
  768.  
  769. =item         LMGetOneOne
  770.  
  771. =item         LMGetMinusOne
  772.  
  773. =item         LMGetTopMenuItem
  774.  
  775. =item         LMGetAtMenuBottom
  776.  
  777. =item         LMGetMenuList
  778.  
  779. =item         LMGetMBarEnable
  780.  
  781. =item         LMGetMenuFlash
  782.  
  783. =item         LMGetTheMenu
  784.  
  785. =item         LMGetTopMapHndl
  786.  
  787. =item         LMGetSysMapHndl
  788.  
  789. =item         LMGetSysMap
  790.  
  791. =item         LMGetCurMap
  792.  
  793. =item         LMGetResLoad
  794.  
  795. =item         LMGetResErr
  796.  
  797. =item         LMGetFScaleDisable
  798.  
  799. =item         LMGetANumber
  800.  
  801. =item         LMGetACount
  802.  
  803. =item         LMGetTEScrpLength
  804.  
  805. =item         LMGetTEScrpHandle
  806.  
  807. =item         LMGetAppParmHandle
  808.  
  809. =item         LMGetDSErrCode
  810.  
  811. =item         LMGetDlgFont
  812.  
  813. =item         LMGetWidthPtr
  814.  
  815. =item         LMGetATalkHk2
  816.  
  817. =item         LMGetHWCfgFlags
  818.  
  819. =item         LMGetWidthTabHandle
  820.  
  821. =item         LMGetLastSPExtra
  822.  
  823. =item         LMGetMenuDisable
  824.  
  825. =item         LMGetROMMapInsert
  826.  
  827. =item         LMGetTmpResLoad
  828.  
  829. =item         LMGetIntlSpec
  830.  
  831. =item         LMGetWordRedraw
  832.  
  833. =item         LMGetSysFontFam
  834.  
  835. =item         LMGetSysFontSize
  836.  
  837. =item         LMGetMBarHeight
  838.  
  839. =item         LMGetTESysJust
  840.  
  841. =item         LMGetLastFOND
  842.  
  843. =item         LMGetFractEnable
  844.  
  845. =item         LMGetMMU32Bit
  846.  
  847. =item         LMGetTheGDevice
  848.  
  849. =item         LMGetDeskCPat
  850.  
  851. =item         LMGetTimeDBRA
  852.  
  853. =item         LMGetTimeSCCDB
  854.  
  855. =item         LMGetSynListHandle
  856.  
  857. =item         LMGetMenuCInfo
  858.  
  859. =item         LMGetTimeSCSIDB
  860.  
  861. =item         LMGetCursorNew
  862.  
  863. =item         LMGetMouseButtonState
  864.  
  865. =item         LMGetMouseTemp
  866.  
  867. =item         LMGetRawMouseLocation
  868.  
  869. =item         LMGetMouseLocation
  870.  
  871. =item         LMGetHighHeapMark
  872.  
  873. =item         LMGetStackLowPoint
  874.  
  875. =item         LMGetROMMapHandle
  876.  
  877. =item         LMGetUnitTableEntryCount
  878.  
  879. =item         LMGetDiskFormatingHFSDefaults
  880.  
  881. =item         LMGetPortAInfo
  882.  
  883. =back
  884.  
  885. =head2 Changing Variable Values
  886.  
  887. =over 4
  888.  
  889. =item         LMSetScrVRes
  890.  
  891. =item         LMSetScrHRes
  892.  
  893. =item         LMSetMemTop
  894.  
  895. =item         LMSetBufPtr
  896.  
  897. =item         LMSetHeapEnd
  898.  
  899. =item         LMSetTheZone
  900.  
  901. =item         LMSetUTableBase
  902.  
  903. =item         LMSetCPUFlag
  904.  
  905. =item         LMSetApplLimit
  906.  
  907. =item         LMSetSysEvtMask
  908.  
  909. =item         LMSetRndSeed
  910.  
  911. =item         LMSetSEvtEnb
  912.  
  913. =item         LMSetTicks
  914.  
  915. =item         LMSetKeyThresh
  916.  
  917. =item         LMSetKeyRepThresh
  918.  
  919. =item         LMSetVIA
  920.  
  921. =item         LMSetSCCRd
  922.  
  923. =item         LMSetSCCWr
  924.  
  925. =item         LMSetSPValid
  926.  
  927. =item         LMSetSPATalkA
  928.  
  929. =item         LMSetSPATalkB
  930.  
  931. =item         LMSetSPConfig
  932.  
  933. =item         LMSetSPPortA
  934.  
  935. =item         LMSetSPPortB
  936.  
  937. =item         LMSetSPAlarm
  938.  
  939. =item         LMSetSPFont
  940.  
  941. =item         LMSetSPKbd
  942.  
  943. =item         LMSetSPPrint
  944.  
  945. =item         LMSetSPVolCtl
  946.  
  947. =item         LMSetSPClikCaret
  948.  
  949. =item         LMSetSPMisc2
  950.  
  951. =item         LMSetTime
  952.  
  953. =item         LMSetBootDrive
  954.  
  955. =item         LMSetSFSaveDisk
  956.  
  957. =item         LMSetKbdLast
  958.  
  959. =item         LMSetKbdType
  960.  
  961. =item         LMSetMemErr
  962.  
  963. =item         LMSetSdVolume
  964.  
  965. =item         LMSetSoundPtr
  966.  
  967. =item         LMSetSoundBase
  968.  
  969. =item         LMSetSoundLevel
  970.  
  971. =item         LMSetCurPitch
  972.  
  973. =item         LMSetROM85
  974.  
  975. =item         LMSetPortBUse
  976.  
  977. =item         LMSetSysZone
  978.  
  979. =item         LMSetApplZone
  980.  
  981. =item         LMSetROMBase
  982.  
  983. =item         LMSetRAMBase
  984.  
  985. =item         LMSetDSAlertTab
  986.  
  987. =item         LMSetABusVars
  988.  
  989. =item         LMSetABusDCE
  990.  
  991. =item         LMSetDoubleTime
  992.  
  993. =item         LMSetCaretTime
  994.  
  995. =item         LMSetScrDmpEnb
  996.  
  997. =item         LMSetBufTgFNum
  998.  
  999. =item         LMSetBufTgFFlg
  1000.  
  1001. =item         LMSetBufTgFBkNum
  1002.  
  1003. =item         LMSetBufTgDate
  1004.  
  1005. =item         LMSetLo3Bytes
  1006.  
  1007. =item         LMSetMinStack
  1008.  
  1009. =item         LMSetDefltStack
  1010.  
  1011. =item         LMSetGZRootHnd
  1012.  
  1013. =item         LMSetGZMoveHnd
  1014.  
  1015. =item         LMSetFCBSPtr
  1016.  
  1017. =item         LMSetDefVCBPtr
  1018.  
  1019. =item         LMSetCurDirStore
  1020.  
  1021. =item         LMSetFSFCBLen
  1022.  
  1023. =item         LMSetScrnBase
  1024.  
  1025. =item         LMSetMainDevice
  1026.  
  1027. =item         LMSetDeviceList
  1028.  
  1029. =item         LMSetQDColors
  1030.  
  1031. =item         LMSetCrsrBusy
  1032.  
  1033. =item         LMSetWidthListHand
  1034.  
  1035. =item         LMSetJournalRef
  1036.  
  1037. =item         LMSetCrsrThresh
  1038.  
  1039. =item         LMSetCurApRefNum
  1040.  
  1041. =item         LMSetCurrentA5
  1042.  
  1043. =item         LMSetCurStackBase
  1044.  
  1045. =item         LMSetCurJTOffset
  1046.  
  1047. =item         LMSetCurPageOption
  1048.  
  1049. =item         LMSetHiliteMode
  1050.  
  1051. =item         LMSetPrintErr
  1052.  
  1053. =item         LMSetScrapSize
  1054.  
  1055. =item         LMSetScrapHandle
  1056.  
  1057. =item         LMSetScrapCount
  1058.  
  1059. =item         LMSetScrapState
  1060.  
  1061. =item         LMSetROMFont0
  1062.  
  1063. =item         LMSetApFontID
  1064.  
  1065. =item         LMSetSaveUpdate
  1066.  
  1067. =item         LMSetPaintWhite
  1068.  
  1069. =item         LMSetWMgrPort
  1070.  
  1071. =item         LMSetWindowList
  1072.  
  1073. =item         LMSetGhostWindow
  1074.  
  1075. =item         LMSetAuxWinHead
  1076.  
  1077. =item         LMSetCurActivate
  1078.  
  1079. =item         LMSetCurDeactive
  1080.  
  1081. =item         LMSetOldStructure
  1082.  
  1083. =item         LMSetOldContent
  1084.  
  1085. =item         LMSetGrayRgn
  1086.  
  1087. =item         LMSetSaveVisRgn
  1088.  
  1089. =item         LMSetOneOne
  1090.  
  1091. =item         LMSetMinusOne
  1092.  
  1093. =item         LMSetTopMenuItem
  1094.  
  1095. =item         LMSetAtMenuBottom
  1096.  
  1097. =item         LMSetMenuList
  1098.  
  1099. =item         LMSetMBarEnable
  1100.  
  1101. =item         LMSetMenuFlash
  1102.  
  1103. =item         LMSetTheMenu
  1104.  
  1105. =item         LMSetTopMapHndl
  1106.  
  1107. =item         LMSetSysMapHndl
  1108.  
  1109. =item         LMSetSysMap
  1110.  
  1111. =item         LMSetCurMap
  1112.  
  1113. =item         LMSetResLoad
  1114.  
  1115. =item         LMSetResErr
  1116.  
  1117. =item         LMSetFScaleDisable
  1118.  
  1119. =item         LMSetANumber
  1120.  
  1121. =item         LMSetACount
  1122.  
  1123. =item         LMSetTEScrpLength
  1124.  
  1125. =item         LMSetTEScrpHandle
  1126.  
  1127. =item         LMSetAppParmHandle
  1128.  
  1129. =item         LMSetDSErrCode
  1130.  
  1131. =item         LMSetDlgFont
  1132.  
  1133. =item         LMSetWidthPtr
  1134.  
  1135. =item         LMSetATalkHk2
  1136.  
  1137. =item         LMSetHWCfgFlags
  1138.  
  1139. =item         LMSetWidthTabHandle
  1140.  
  1141. =item         LMSetLastSPExtra
  1142.  
  1143. =item         LMSetMenuDisable
  1144.  
  1145. =item         LMSetROMMapInsert
  1146.  
  1147. =item         LMSetTmpResLoad
  1148.  
  1149. =item         LMSetIntlSpec
  1150.  
  1151. =item         LMSetWordRedraw
  1152.  
  1153. =item         LMSetSysFontFam
  1154.  
  1155. =item         LMSetSysFontSize
  1156.  
  1157. =item         LMSetMBarHeight
  1158.  
  1159. =item         LMSetTESysJust
  1160.  
  1161. =item         LMSetLastFOND
  1162.  
  1163. =item         LMSetFractEnable
  1164.  
  1165. =item         LMSetMMU32Bit
  1166.  
  1167. =item         LMSetTheGDevice
  1168.  
  1169. =item         LMSetDeskCPat
  1170.  
  1171. =item         LMSetTimeDBRA
  1172.  
  1173. =item         LMSetTimeSCCDB
  1174.  
  1175. =item         LMSetSynListHandle
  1176.  
  1177. =item         LMSetMenuCInfo
  1178.  
  1179. =item         LMSetTimeSCSIDB
  1180.  
  1181. =item         LMSetCursorNew
  1182.  
  1183. =item         LMSetMouseButtonState
  1184.  
  1185. =item         LMSetMouseTemp
  1186.  
  1187. =item         LMSetRawMouseLocation
  1188.  
  1189. =item         LMSetMouseLocation
  1190.  
  1191. =item         LMSetHighHeapMark
  1192.  
  1193. =item         LMSetStackLowPoint
  1194.  
  1195. =item         LMSetROMMapHandle
  1196.  
  1197. =item         LMSetUnitTableEntryCount
  1198.  
  1199. =item         LMSetDiskFormatingHFSDefaults
  1200.  
  1201. =item         LMSetPortAInfo
  1202.  
  1203. =back
  1204.  
  1205. =head1 BUGS/LIMITATIONS
  1206.  
  1207. =head1 FILES
  1208.  
  1209. =head1 AUTHOR(S)
  1210.  
  1211. Matthias Ulrich Neeracher <neeri@iis.ee.ethz.ch> 
  1212.  
  1213. =cut
  1214.  
  1215.