home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / monitors / scout / docs / english / scout.doc next >
Text File  |  1995-02-27  |  39KB  |  1,422 lines

  1.  
  2.                              Scout 37.42
  3.                              Release 1.3
  4.                             User's Manual
  5.                   Copyright (C) 1994 Andreas Gelhausen
  6.  
  7. What is Scout?
  8. ==============
  9.  
  10.    `Scout' is a tool that allows you to monitor your computer system.
  11. It displays many different things -- like tasks, ports, assigns,
  12. expansion boards, resident commands, interrupts, etc.  -- and you can
  13. perform some certain actions on them.
  14.  
  15.    For example you can freeze tasks, close windows and screens, release
  16. semaphores or remove locks, ports and interrupts.
  17.  
  18.    An implemented ARexx interface makes you these actions available,
  19. too.
  20.  
  21.    But this program is rather a tool for programmers and everybody who
  22. wants to watch a little bit deeper in his system than for `normal'
  23. users.
  24.  
  25. Copyright
  26. =========
  27.  
  28.    Scout 37.42 (Release 1.3) - Copyright (C) 1994 by Andreas Gelhausen,
  29. all rights reserved.
  30.  
  31.    `Scout' is a giftware program and you are only allowed to freely
  32. distribute it, if you let this archive unchanged.
  33.  
  34.    No part of this archive is allowed to be distributed with commercial
  35. software without written permission of the author.
  36.  
  37. No Warranty
  38. ===========
  39.  
  40.    No warranties are made for this program. All use is at your own risk.
  41. No liability or responsibility is assumed for any damages occured
  42. during the usage of `Scout'. You have been warned.
  43.  
  44. Giftware
  45. ========
  46.  
  47.    `Scout' 37.42 is giftware. If you like and use this program, you are
  48. welcome to appreciate my programming efforts by sending me a little
  49. present -- thanks a lot in advance!  =:^)
  50.  
  51. What your system should have
  52. ============================
  53.  
  54.    `Scout' requires Amiga operating system version 2.04 and MUI version
  55. 2.1.  See MUI.  Of course you can use higher versions of these things,
  56. too.
  57.  
  58. MUI - MagicUserInterface
  59. ========================
  60.  
  61.              (C) Copyright 1993/94 by Stefan Stuntz
  62.  
  63.    MUI is a system to generate and maintain graphical user interfaces.
  64. With the aid of a preferences program, the user of an application has
  65. the ability to customize the outfit according to his personal taste.
  66.  
  67.    MUI is distributed as shareware. To obtain a complete package
  68. containing lots of examples and more information about registration
  69. please look for a file called `muiXXusr.lha' (XX means the latest
  70. version number) on your local bulletin boards or on public domain disks.
  71.  
  72.    If you want to register directly, feel free to send DM 30.- or US$
  73. 20.- to
  74.  
  75.                         Stefan Stuntz
  76.                    Eduard-Spranger-Straße 7
  77.                         80935 München
  78.                            GERMANY
  79.  
  80. Installing Scout
  81. ================
  82.  
  83.    You only have to copy the program `Scout' and the data file
  84. `scout.data' to your favourite directory and then you can start it.
  85. `Scout.data' includes data of expansion boards.
  86.  
  87. How to use Scout
  88. ****************
  89.  
  90.    If you start the program you will see the main window which includes
  91. many gadgets.  Each of these gadgets represents a certain kind of
  92. system structure.
  93.  
  94.    You can choose between:
  95.  
  96.    Assigns, Devices, Expansions, Fonts, InputHandlers, Interrupts,
  97. Libraries, Locks, Memory, Mounted Devices, Ports, Resident Commands,
  98. Residents, Resources, Semaphores, Tasks, Vectors and Windows.
  99.  
  100.    Click one of these gadgets and another window will be opened with a
  101. list of the structure type that is indicated on the pressed gadget.
  102.  
  103.    *Example:* Press the task gadget and you will get a window with the
  104. list of tasks and processes.
  105.  
  106.    You can also select these functions by pressing the underlined key
  107. you see on each gadget or by using the right mousebutton menu.
  108.  
  109.    If you wish to handle/remove a given structure, you should know what
  110. you do.
  111.  
  112.      *Warning:* Wrong handling of the showed structures can crash your
  113.      system. At the worst you will lose your data.
  114.  
  115.    *Please note:* You should not be surprised, if you don't find a
  116. certain detail information in this manual, because it's to much work to
  117. explain each element of all the structures you could see in this
  118. program.
  119.  
  120.    Many books are written about these things and if you want to have
  121. more information about them, you should have a look in the specialized
  122. literature.
  123.  
  124. Assigns
  125. =======
  126.  
  127.    This type of structure assigns a logical name to a directory.
  128.  
  129.    If you assign the directory `dh0:data/documents' the logical name
  130. `texts:', you will also be able to choose a file FILENAME in that
  131. directory with the path `texts:FILENAME'.
  132.  
  133. Column items
  134. ------------
  135.  
  136. `Address'
  137.      Address of the assign structure.
  138.  
  139. `Name'
  140.      Logical name of a directory
  141.  
  142. `Path'
  143.      Here you will find the path of the directory.
  144.  
  145. Actions
  146. -------
  147.  
  148. `Update'
  149.      Selecting this gadget updates the list of assigns.
  150.  
  151. `Print'
  152.      This function allows you to send the list of `Assigns' to printer
  153.      or a selected file.
  154.  
  155. `Remove'
  156.      The selected assign will be removed with this function.
  157.  
  158. `Exit'
  159.      The `Assigns' window will be closed.
  160.  
  161. Devices
  162. =======
  163.  
  164.    A device is -- like a library (see Libraries) -- a collection of
  165. functions/procedures, which have to do certain jobs.
  166.  
  167.    E.g. the `trackdisk.device' includes functions for the floppy disk
  168. handling.
  169.  
  170. Column items
  171. ------------
  172.  
  173. `Address'
  174.      Address of the device structure
  175.  
  176. `ln_Name'
  177.      Name of a device
  178.  
  179. `ln_Pri'
  180.      Priority of a device
  181.  
  182. `OpenC'
  183.      This element shows how often the device was opened.
  184.  
  185. `RPC'
  186.      `RPC' means `RAM Pointer Count' and shows how many jump addresses
  187.      of the device point into RAM.  In this way many programs -- like
  188.      the `setpatch' command from Commodore -- patch the system.
  189.  
  190.      Many viruses patch the system in this way too, but don't panic now.
  191.      If you check your system in regular intervals with a current virus
  192.      killer, it should be out of danger.
  193.  
  194.      If the whole program code of the device is located in RAM, you will
  195.      find a dash (minus sign) here, because in this case it's
  196.      unimportant how many jump addresses point into RAM.
  197.  
  198. `ln_Type'
  199.      Type of this structure (usually `device')
  200.  
  201. Actions
  202. -------
  203.  
  204. `Update'
  205.      If you select this gadget, the list of devices will be updated.
  206.  
  207. `Print'
  208.      This function allows you to send the list of `Devices' to printer
  209.      or a selected file.
  210.  
  211. `Remove'
  212.      The selected device will be removed with this function provided
  213.      that no program uses this device anymore and the `OpenC' is zero.
  214.  
  215. `Priority'
  216.      Herewith the priority of the device can be changed.  A little
  217.      window will be opened, that asks you for a new priority.  Through
  218.      the new priority it can happen that the device gets a new place in
  219.      the device list.
  220.  
  221. `More'
  222.      Another window will be opened and you will see more informations
  223.      about the selected device.
  224.  
  225.      You will have the same effect, if you doubleclick an element of the
  226.      device list.
  227.  
  228. `Exit'
  229.      The `Devices' window will be closed.
  230.  
  231. Expansions
  232. ==========
  233.  
  234.    In this list you will find all your expansion boards (graphic boards,
  235. memory expansions and so on).
  236.  
  237. Column items
  238. ------------
  239.  
  240. `BoardAddr'
  241.      Usually you will find the ROM of the card here.  If this address
  242.      points into RAM, the card is a memory expansion.
  243.  
  244. `BoardSize'
  245.      If the entry belongs to a memory expansion, the size of the memory
  246.      is displayed here.  Otherwise it's the ROM size of the card.
  247.  
  248. `Manufacturer'
  249.      ManufacturerID, assigned by Commodore
  250.  
  251. `Product'
  252.      Productnumber, assigned by the manufacturer of the board
  253.  
  254. `Serial#'
  255.      Serialnumber of the card (usually unused)
  256.  
  257. Actions
  258. -------
  259.  
  260. `Print'
  261.      This function allows you to send the list of `Expansions' to
  262.      printer or a selected file.
  263.  
  264. `More'
  265.      Now a window will be opened, that includes more informations about
  266.      the selected expansion board.
  267.  
  268.      Doubleclick an element of the `Expansions' list and you will have
  269.      the same effect.
  270.  
  271. `Exit'
  272.      The `Expansions' window will be closed.
  273.  
  274. Unknown expansion boards
  275. ------------------------
  276.  
  277.    If you select an expansion board by selecting its list item, you will
  278. get the name of the manufacturer and the card in the textfield you find
  279. below the list, provided that I have known these data at compiling.
  280.  
  281.    If no information is available in this textfield or the given
  282. information is wrong, you should send me the following data, please.
  283.  
  284.  
  285.                 1. ManufacturerID (Manufacturer)
  286.                 2. ProductID (Product)
  287.                 3. Name of the company
  288.                 4. Name of your expansion card
  289.  
  290.    If you send me these data, the next version of `Scout.data' will
  291. know your expansion boards.  Please be as precise you can.
  292.  
  293. Fonts
  294. =====
  295.  
  296.    This function will show you all fonts existing in your system.
  297.  
  298. Column items
  299. ------------
  300.  
  301. `YSize'
  302.      Vertical size of the font
  303.  
  304. `Count'
  305.      Here you can see how many programs use the font.
  306.  
  307. `Type'
  308.      `ROMFONT' means the font is located in ROM and `DISKFONT' means
  309.      the font was loaded from disk/harddisk.
  310.  
  311. `Name'
  312.      Name of the font
  313.  
  314. Actions
  315. -------
  316.  
  317. `Update'
  318.      The list of fonts will be updated.
  319.  
  320. `Print'
  321.      This function allows you to send the list of `Fonts' to printer or
  322.      a selected file.
  323.  
  324. `Close'
  325.      The font will be closed by using this function.
  326.  
  327. `Remove'
  328.      It is possible to remove a font from system, provided that no
  329.      program uses it and it's no `ROMFONT'.
  330.  
  331. `Exit'
  332.      The `Fonts' window disappears.
  333.  
  334. InputHandlers
  335. =============
  336.  
  337.    Input handlers take care of all user input arriving in system
  338. (pressed keys, mouseclicks, inserted disks, etc.). They stand one
  339. behind the other like on a production line and analyze the user input.
  340. The input handler with the highest priority gets the `events' first and
  341. if it doesn't know how to react on these `events', the second input
  342. handler gets them, and so on.
  343.  
  344.    Usually the system input handler has a priority of 50.  Every input
  345. handler, that wants to get the user input before the system, must have
  346. a higher priority.
  347.  
  348. Column items
  349. ------------
  350.  
  351. `ln_Name'
  352.      Name of the input handler
  353.  
  354. `ln_Pri'
  355.      Its priority
  356.  
  357. `is_Data'
  358.      This address points to some data needed by the input handler.
  359.  
  360. `is_Code'
  361.      The program code starts here.  If the code is located in RAM, the
  362.      address is of different color.  Otherwise you can find the code in
  363.      ROM.  Some viruses install an input handler in system.  In this
  364.      case the `is_Code' address points into RAM, but many other
  365.      programs uses input handlers, too.  Don't panic!
  366.  
  367. Actions
  368. -------
  369.  
  370. `Update'
  371.      The list of input handlers will be updated when you select this
  372.      gadget.
  373.  
  374. `Print'
  375.      This function allows you to send the list of `InputHandlers' to
  376.      printer or a selected file.
  377.  
  378. `Remove'
  379.      Removes an input handler from system.
  380.  
  381. `Priority'
  382.      Changes the priority of an input handler.
  383.  
  384. `Exit'
  385.      The window will be closed.
  386.  
  387. Interrupts
  388. ==========
  389.  
  390.    Interrupts are important events the computer system has to react on.
  391. It exists a list of interrupt routines for each interrupt type. If a
  392. certain interrupt occurs, all these interrupt routines will be called.
  393. During their execution the running program will be interrupted.
  394.  
  395. Column items
  396. ------------
  397.  
  398. `ln_Name'
  399.      Name of the interrupt
  400.  
  401. `ln_Pri'
  402.      Its priority
  403.  
  404. `is_Data'
  405.      At this address you find the data of the interrupt.
  406.  
  407. `is_Code'
  408.      Address of the interrupt code.  If this address points into RAM,
  409.      it's of a different color.
  410.  
  411. `NUM'
  412.      This number represents the type of event the interrupt routine is
  413.      called on.  The `IntName' you find in the interrupt detail window
  414.      gives you a little bit more information about it.
  415.  
  416.      *Example:* Number 5 means that the interrupt is called at every
  417.      vertical blank interval.
  418.  
  419. Actions
  420. -------
  421.  
  422. `Update'
  423.      The list of interrupts will be updated.
  424.  
  425. `Print'
  426.      This function allows you to send the list of `Interrupts' to
  427.      printer or a selected file.
  428.  
  429. `Remove'
  430.      If the interrupt is a server you can remove it from system.  An
  431.      interrupt handler can't be removed by `Scout'.
  432.  
  433.      If you call `avail flush' and the audio.device isn't used, the
  434.      interrupt handlers of the audio.device will be removed.
  435.  
  436. `More'
  437.      Now a window will be opened that includes more details of the
  438.      interrupt.
  439.  
  440. `Exit'
  441.      Selecting this gadget will close the `Interrupts' window.
  442.  
  443. Libraries
  444. =========
  445.  
  446.    A library is a collection of functions/procedures, which have to do
  447. certain jobs.
  448.  
  449.    E.g. the `graphics.library' includes routines for graphical display.
  450.  
  451. Column items
  452. ------------
  453.  
  454. `Address'
  455.      Adress of the library structure
  456.  
  457. `ln_Name'
  458.      Name of a library
  459.  
  460. `ln_Pri'
  461.      Priority of a library
  462.  
  463. `OpenC'
  464.      Here you see, how often the library was opened.
  465.  
  466. `RPC'
  467.      `RPC' means `RAM Pointer Count' and shows how many jump addresses
  468.      of the library point into RAM.  In this way many programs -- like
  469.      the `setpatch' command from Commodore -- patch the system.
  470.  
  471.      Many viruses patch the system in this way too, but don't panic now.
  472.      If you check your system in regular intervals with a current virus
  473.      killer, it should be out of danger.
  474.  
  475.      If the whole program code of the library is located in RAM, you
  476.      will find a dash (minus sign) here, because in this case it's
  477.      unimportant how many jump addresses point into RAM.
  478.  
  479. `ln_Type'
  480.      Type of this structure (usually `library')
  481.  
  482. Actions
  483. -------
  484.  
  485. `Update'
  486.      The list of libraries will be updated.
  487.  
  488. `Print'
  489.      This function allows you to send the list of `Libraries' to
  490.      printer or a selected file.
  491.  
  492. `Remove'
  493.      The selected library will be removed with this function provided
  494.      that no program uses this library anymore and the `OpenC' is zero.
  495.  
  496.      Some libraries can't be removed from system without a reset.  So
  497.      you shouldn't wonder about it, if this happens.
  498.  
  499. `Close'
  500.      A library must be closed by all programs, if you want to remove it
  501.      from system. In this case the `OpenC' is zero.
  502.  
  503.      If you select this function, you will be asked, how often you want
  504.      to close it. You can choose between `Once' and `All'.
  505.  
  506.      Select `All' and the library will so often be closed till the
  507.      `OpenC' is zero.
  508.  
  509. `Priority'
  510.      Herewith the priority of the library can be changed.  A little
  511.      window will be opened, that asks you for a new priority.  Through
  512.      the new priority it can happen that the library gets a new place
  513.      in the list of libraries.
  514.  
  515. `More'
  516.      A window will be opened that includes more details of the library.
  517.  
  518. `Exit'
  519.      Selecting this gadget will close the `library' window.
  520.  
  521. Locks
  522. =====
  523.  
  524.    A lock structure shows you, that a program reads from or perhaps
  525. write into a file or a directory.  With this type of structure the
  526. system prevents, that a file will be deleted while another program gets
  527. some data from it.
  528.  
  529. Column items
  530. ------------
  531.  
  532. `Access'
  533.      Here you can see the type of access.  This could be `READ',
  534.      `WRITE' or `OWN'.  `OWN' stands for a lock `Scout' created to get
  535.      the elements of this list.
  536.  
  537. `Path'
  538.      Path of the file or directory
  539.  
  540. Actions
  541. -------
  542.  
  543. `Update'
  544.      The list of `Locks' will be updated.
  545.  
  546. `Print'
  547.      This function allows you to send the list of `Locks' to printer or
  548.      a selected file.
  549.  
  550. `Remove'
  551.      A lock will be removed through dos.library's `UnLock()' function.
  552.  
  553. `Pattern'
  554.      If you give `Scout' a pattern, only the locks with a matching path
  555.      will be shown.
  556.  
  557. `Exit'
  558.      The `Locks' window will be closed.
  559.  
  560. Memory
  561. ======
  562.  
  563.    In this list you will find the segments of your memory.  At least you
  564. will find an entry for your chip memory.
  565.  
  566. Column items
  567. ------------
  568.  
  569. `ln_Name'
  570.      Name of the memory segment (e.g. `chip memory')
  571.  
  572. `ln_Pri'
  573.      Priority of memory
  574.  
  575. `mh_Lower'
  576.      First address of memory
  577.  
  578. `mh_Upper'
  579.      Last address of memory
  580.  
  581. Actions
  582. -------
  583.  
  584. `Print'
  585.      This function allows you to send the list of the memory segments to
  586.      printer or a selected file.
  587.  
  588. `Priority'
  589.      This function allows you to change the priority of a memory
  590.      segment.  The memory segment with the highest priority will be
  591.      preferred from system, provided that no certain type of memory is
  592.      demanded.
  593.  
  594. `More'
  595.      Another window will be opened. This window includes more
  596.      information about the memory segment.
  597.  
  598. `Exit'
  599.      The window will be closed.
  600.  
  601. Mounted Devices
  602. ===============
  603.  
  604.    In this list you will find all your devices like disk drives, printer
  605. devices, etc.
  606.  
  607. Column items
  608. ------------
  609.  
  610. `Name'
  611.      Name of the device
  612.  
  613. `Unit'
  614.      Unit number
  615.  
  616. `Heads'
  617.      Number of heads
  618.  
  619. `Cyl'
  620.      Number of cylinders
  621.  
  622. `State'
  623.      The state shows you for example, if a disk is in drive.
  624.  
  625. `DiskType'
  626.      Type of a disk (e.g. OFS (OldFileSystem), FFS (FastFileSystem),
  627.      ...)
  628.  
  629. `Handler or Device'
  630.      The handler or the device you find here has to manage the stream of
  631.      data from and to the device.
  632.  
  633. Actions
  634. -------
  635.  
  636. `Update'
  637.      The list will be updated.
  638.  
  639. `Print'
  640.      This function allows you to send the list of `Mounted Devs' to
  641.      printer or a selected file.
  642.  
  643. `Exit'
  644.      The window will be closed.
  645.  
  646. Ports
  647. =====
  648.  
  649.    Programs are able to communicate together through ports.
  650.  
  651. Column items
  652. ------------
  653.  
  654. `Address'
  655.      Here you will find the port structure.
  656.  
  657. `ln_Name'
  658.      Name of port
  659.  
  660. `ln_Pri'
  661.      Priority of port
  662.  
  663. `mp_SigTask'
  664.      The task is communicating through the port.
  665.  
  666. Actions
  667. -------
  668.  
  669. `Update'
  670.      The ports list will be updated.
  671.  
  672. `Print'
  673.      This function allows you to send the list of `Ports' to printer or
  674.      a selected file.
  675.  
  676. `Remove'
  677.      The port will be removed.
  678.  
  679. `Priority'
  680.      Herewith the port priority can be changed.
  681.  
  682. `Exit'
  683.      The `Ports' window will be closed.
  684.  
  685. Resident Commands
  686. =================
  687.  
  688.    This list includes all resident commands. That means all commands you
  689. find in ROM and the commands you made `resident' through the `resident'
  690. command.
  691.  
  692.    Positions and sizes of their hunks you will find here, too.
  693.  
  694. Column items
  695. ------------
  696.  
  697. `Name'
  698.      Name of the command
  699.  
  700. `UseCount'
  701.      Here you can see, how often a command was being executed at the
  702.      time the list was build.
  703.  
  704. `Lower'
  705.      First address of hunk in memory
  706.  
  707. `Upper'
  708.      Last address of hunk in memory
  709.  
  710. `Size'
  711.      Size of hunk (upper - lower - 8 bytes overhead)
  712.  
  713. Actions
  714. -------
  715.  
  716. `Update'
  717.      The list of `Resident Commands' will be updated.
  718.  
  719. `Print'
  720.      This function allows you to send the list of `Resident Commands' to
  721.      printer or a selected file.
  722.  
  723. `Remove'
  724.      The selected command will be removed with this function provided
  725.      that no program uses this command anymore and the `UseCount' is
  726.      zero.
  727.  
  728. `Exit'
  729.      The window disappears.
  730.  
  731. Residents
  732. =========
  733.  
  734.    Resident modules are reset-protected segments (code and data).  In
  735. the list of `Residents' you usually find libraries, devices and
  736. resources.  A programmer has the possibility to make his own programs
  737. reset-protected.  He has to initialize a resident structure for it and
  738. then he can link the program through the kick-vectors (see Vectors) to
  739. the list of the resident modules.  The residents you linked to system
  740. are usually located in RAM and are of a different color.
  741.  
  742.    If you find a resident module that points into RAM and you don't know
  743. which program has created it, you should start your favourite virus
  744. detector and let it check your memory.  Many viruses prefer this way to
  745. travel around.
  746.  
  747. Column items
  748. ------------
  749.  
  750. `Address'
  751.      At this address the resident module is located.
  752.  
  753. `ln_Name'
  754.      Name of the resident module
  755.  
  756. `rt_Pri'
  757.      Priority
  758.  
  759. `rt_IdString'
  760.      Identity string of the resident module.
  761.  
  762. Actions
  763. -------
  764.  
  765. `Update'
  766.      The list of `Residents' will be updated.
  767.  
  768. `Print'
  769.      This function allows you to send the list of `Residents' to
  770.      printer or a selected file.
  771.  
  772. `More'
  773.      Selecting this gadget opens a new window with more information
  774.      about the selected resident module.
  775.  
  776. `Exit'
  777.      The `Residents' window will be closed.
  778.  
  779. Resources
  780. =========
  781.  
  782.    Usually a resource is -- like a library (see Libraries) -- a
  783. collection of functions/procedures, which have to do certain jobs.
  784.  
  785.    E.g. the `filesystem.resource' includes functions for the filesystem
  786. handling.
  787.  
  788. Column items
  789. ------------
  790.  
  791. `Address'
  792.      Address of the resource structure
  793.  
  794. `ln_Name'
  795.      Name of a resource
  796.  
  797. `ln_Pri'
  798.      Priority of a resource
  799.  
  800. `OpenC'
  801.      This element shows how often the resource was opened.
  802.  
  803. `RPC'
  804.      `RPC' means `RAM Pointer Count' and shows how many jump addresses
  805.      of the resource point into RAM.  In this way many programs -- like
  806.      the `setpatch' command from Commodore -- patch the system.
  807.  
  808.      Many viruses patch the system in this way too, but don't panic now.
  809.      If you check your system in regular intervals with a current virus
  810.      killer, it should be out of danger.
  811.  
  812.      If the whole program code of the resource is located in RAM, you
  813.      will find a dash (minus sign) here, because in this case it's
  814.      unimportant how many jump addresses point into RAM.
  815.  
  816. `ln_Type'
  817.      Type of this structure (usually `resource')
  818.  
  819. Actions
  820. -------
  821.  
  822. `Update'
  823.      The list of `Resources' will be updated.
  824.  
  825. `Print'
  826.      This function allows you to send the list of `Resources' to
  827.      printer or a selected file.
  828.  
  829. `Remove'
  830.      The selected resource will be removed with this function, provided
  831.      that no program uses it anymore and the `OpenC' is zero.
  832.  
  833. `Priority'
  834.      Herewith the priority of the resource can be changed. A small
  835.      window will be opened, that asks you for a new priority. Through
  836.      the new priority it can happen that the resource gets a new
  837.      position in the list of resources.
  838.  
  839. `More'
  840.      Select this gadget and you get a new window with more information
  841.      about the selected resource.
  842.  
  843. `Exit'
  844.      The `Resources' window will be closed.
  845.  
  846.    *Please note:* If you should find three dashes (minus signs) at
  847. `OpenC' and/or `RPC', the resource has no typical library structure.
  848. This happens for example at the `FileSystem.resource'.
  849.  
  850. Semaphores
  851. ==========
  852.  
  853.    The use of semaphores is a way of single-threading critical
  854. sections.  For example only one program is allowed to use the printer
  855. at one time, otherwise the texts would be mixed.
  856.  
  857. Column items
  858. ------------
  859.  
  860. `ln_Name'
  861.      Name of a semaphore
  862.  
  863. `NestCnt'
  864.      This element shows how often the semaphore is used.
  865.  
  866. `ln_Type'
  867.      Type of the structure (usually `signalsem')
  868.  
  869. Actions
  870. -------
  871.  
  872. `Update'
  873.      The list of `Semaphores' will be updated.
  874.  
  875. `Print'
  876.      This function allows you to send the list of `Semaphores' to
  877.      printer or a selected file.
  878.  
  879. `Obtain'
  880.      This function is used to gain access to a semaphore.  The `NestCnt'
  881.      will be increased at one by this call.
  882.  
  883. `Release'
  884.      Herewith you can make a signal semaphore available to others.
  885.  
  886. `Exit'
  887.      The `Semaphores' window will be closed.
  888.  
  889. Tasks
  890. =====
  891.  
  892.    In this window you find a list of all tasks and processes being in
  893. system. Each program you start will be executed as a task or process.
  894.  
  895. Column items
  896. ------------
  897.  
  898. `ln_Name'
  899.      Name of the task/process
  900.  
  901. `ln_Type'
  902.      Type of the structure (`task' or `process')
  903.  
  904. `ln_Pri'
  905.      Priority of the task/process
  906.  
  907. `NUM'
  908.      If a non detaching program was started from shell, you will find
  909.      here the number of the process. Programs you started from
  910.      Workbench have a dash here.
  911.  
  912. `State'
  913.      Here you see the state of the task or process. You will find
  914.      Scout's own process on the top of the list with a `run' at this
  915.      place, because this process is always running when it gets the
  916.      task list.
  917.  
  918.      `ready' means the task wants to work, but it's interrupted by the
  919.      execution of another task.
  920.  
  921.      A task that is waiting for a certain signal is in the state
  922.      `wait'. In this case it doesn't need processing time.
  923.  
  924. `SigWait'
  925.      Signalmask the task is waiting for.
  926.  
  927. Actions
  928. -------
  929.  
  930. `Update'
  931.      The list will be updated.
  932.  
  933. `Print'
  934.      This function allows you to send the list of `Tasks' to printer or
  935.      a selected file.
  936.  
  937. `Remove'
  938.      A task will be removed from the list.  You should prefer the freeze
  939.      function, if you perhaps need this task again.
  940.  
  941.      See also `Break'!
  942.  
  943. `Freeze'
  944.      With this function you freeze the selected task. It can still be
  945.      found in the list of tasks, but it gets no processing time from
  946.      system.
  947.  
  948.           *Warning:* If you try to freeze tasks essential to the system
  949.           like `input.device', you should have saved all important
  950.           data, cause a RESET is the only way out!
  951.  
  952. `Activate'
  953.      A frozen task can be activated here.
  954.  
  955. `Secs'
  956.      This string gadget allows you to set the intervall time for the
  957.      CPU usage display.
  958.  
  959. `CPU/No CPU'
  960.      This cycle gadget let you choose between CPU usage display and not
  961.      CPU usage display. At the first time of selecting `CPU' some
  962.      system functions will be patched. `Scout' uses these patches to
  963.      calculate the percents of CPU time each task needs.
  964.  
  965. `Signal'
  966.      If you select a signal mask, it will be send to the task.
  967.  
  968. `Break'
  969.      A signal mask that includes the signals CTRL-C and CTRL-D will be
  970.      send to the task you selected.  Many tasks and processes end, if
  971.      they receive these signals.
  972.  
  973. `Priority'
  974.      The priority of a task can be changed with this function.
  975.  
  976. `More'
  977.      Selecting this gadget will open another window that displays more
  978.      informations about the task or the process.
  979.  
  980. `Exit'
  981.      The window will be closed.
  982.  
  983. Vectors
  984. =======
  985.  
  986. Actions
  987. -------
  988.  
  989. `Update'
  990.      The displayed vectors will be updated.
  991.  
  992. `Print'
  993.      This function allows you to send the list of `Vectors' to printer
  994.      or a selected file.
  995.  
  996. `Exit'
  997.      The window will be closed.
  998.  
  999. Reset Vectors
  1000. -------------
  1001.  
  1002.    A program can make itself reset-protected by using the reset vectors.
  1003. If the vectors are unused, they have a value of zero. The programs
  1004. which use the Kick-Vectors (KickTagPtr, KickMemPtr and KickCheckSum)
  1005. can also be found in the list of resident structures.  See also
  1006. Residents.
  1007.  
  1008. Auto Vector Interrupts
  1009. ----------------------
  1010.  
  1011.    In a computer system with a MC68000 processor you will find the seven
  1012. `Auto Vector Interrupts' from address $64 to address $7c. Higher
  1013. processors (MC68010, etc.) have the VBR (Vector Base Register) that
  1014. allows you to move the interrupt table to FAST-MEM. The system will be
  1015. a little bit faster then. `Scout' uses the VBR if it exists.
  1016.  
  1017. Interrupt Vectors
  1018. -----------------
  1019.  
  1020.    Here you see 16 interrupt vectors (IntVecs). These vectors are
  1021. located in the `ExecBase' (base structure of the exec.library).
  1022.  
  1023. Windows
  1024. =======
  1025.  
  1026.    All screens with the windows opened on them are listed here. Screens
  1027. are of a different color as windows.
  1028.  
  1029. Column items
  1030. ------------
  1031.  
  1032. `Pos(x,y)'
  1033.      x and y position of the screen/window
  1034.  
  1035. `Size(x,y)'
  1036.      x and y size of the screen/window
  1037.  
  1038. `Title'
  1039.      Title of the screen/window
  1040.  
  1041. Actions
  1042. -------
  1043.  
  1044. `Update'
  1045.      The list will be updated.
  1046.  
  1047. `Print'
  1048.      This function allows you to send the list of `Windows' to printer
  1049.      or a selected file.
  1050.  
  1051. `Close'
  1052.      With this function it is possible to close screens and/or windows.
  1053.      If you close a screen, all windows on it will be closed too.
  1054.  
  1055. `More'
  1056.      If you select this gadget another window will be opened that
  1057.      displays more informations about the window or the screen.
  1058.  
  1059. `Exit'
  1060.      The window will be closed.
  1061.  
  1062. Options
  1063. *******
  1064.  
  1065.    There are some options for `Scout' which you can use, when you start
  1066. the program.  The following options are available from shell and as
  1067. tool types from Workbench.
  1068.  
  1069.    *Example:*
  1070.      Scout TOOLPRI=1 ICONIFIED
  1071.    starts `Scout' iconified with a priority of one.
  1072.  
  1073. `ICONIFIED'
  1074.      *Usage:* `ICONIFIED'
  1075.  
  1076.      If this option is activ, `Scout' starts iconified.
  1077.  
  1078. `PORTNAME'
  1079.      *Usage:* `PORTNAME'=PORTNAME
  1080.  
  1081.      The name of Scout's ARexx port can be changed into PORTNAME.
  1082.      Without this option the ARexx port is called `SCOUT.X'. The X
  1083.      stands for a decimal number that will be incremented, if a so
  1084.      called port already exists.
  1085.  
  1086. `TOOLPRI'
  1087.      *Usage:* `TOOLPRI'=VALUE
  1088.  
  1089.      This option allows you to change the priority of Scout's process
  1090.      into VALUE.
  1091.  
  1092. `STARTUP'
  1093.      *Usage:* `STARTUP'=SCRIPTNAME
  1094.  
  1095.      You can choose an ARexx script SCRIPTNAME, that will be executed
  1096.      at the start of `Scout'. In this way you can open more than only
  1097.      the main window. If for example the ARexx script includes the
  1098.      command `OpenWindow Tasks', the task list window will always be
  1099.      opened when the program starts.
  1100.  
  1101.      (See also ARexx Port.)
  1102.  
  1103. Scout's ARexx interface
  1104. ***********************
  1105.  
  1106.    It's a feature of MUI to give each application its own ARexx port.
  1107. Therefore `Scout' also has an ARexx port that usually has the name
  1108. `SCOUT.X'. The X stands for a decimal number that will be incremented,
  1109. if a so called port already exists.
  1110.  
  1111.    You will find the name of Scout's ARexx port in the window you get,
  1112. if you select the `Project/About' menu.
  1113.  
  1114. Using tasknames:
  1115. ----------------
  1116.  
  1117.    If a task or a process was started from shell and hasn't detached
  1118. itself, you will find the name of the command being executed, where
  1119. usually the taskname is displayed.  The real name of those tasks
  1120. usually is something like `Background CLI', but such a taskname isn't
  1121. useful.
  1122.  
  1123.    *Example:* If you start a non detaching task like `DH0:Debug/Sushi'
  1124. from shell, you will see `DH0:Debug/Sushi' as taskname.
  1125.  
  1126.    Some ARexx commands need a taskname as parameter. You have to select
  1127. those from CLI started self detaching tasks by using their command
  1128. names like `Scout' displays them in the lists of tasks.
  1129.  
  1130. Scout supports following ARexx commands:
  1131. ========================================
  1132.  
  1133. `FindTask'
  1134.      *Usage:* `FindTask' TASKNAME
  1135.  
  1136.      This command returns the address of the task TASKNAME, if it is in
  1137.      system.
  1138.  
  1139. `FreezeTask'
  1140.      *Usage:* `FreezeTask' TASKNAME
  1141.  
  1142.      The task TASKNAME will be frozen.
  1143.  
  1144. `ActivateTask'
  1145.      *Usage:* `ActivateTask' TASKNAME
  1146.  
  1147.      The frozen task TASKNAME will be activated.
  1148.  
  1149. `RemoveTask'
  1150.      *Usage:* `RemoveTask' TASKNAME
  1151.  
  1152.      This command removes the task TASKNAME.
  1153.  
  1154. `SendBreak'
  1155.      *Usage:* `SendBreak' TASKNAME
  1156.  
  1157.      `Scout' sends the task TASKNAME a certain signal mask that
  1158.      includes the signals CTRL-C and CTRL-D. Many programs support
  1159.      these signals and finish themselves, if they receive one of them.
  1160.  
  1161. `SendSignal'
  1162.      *Usage:* `SendSignal' TASKNAME HEXSIGNAL
  1163.  
  1164.      This command allows you to send a signal HEXSIGNAL to the task
  1165.      TASKNAME.  The signal must specified as a hexadecimal number.
  1166.  
  1167.      *Example:*
  1168.           SendSignal 'scout' 0x001000
  1169.      sends task `scout' a CTRL-C and after that `Scout' ends.
  1170.  
  1171. `SetTaskPri'
  1172.      *Usage:* `SetTaskPri' TASKNAME PRIORITY
  1173.  
  1174.      The task TASKNAME gets a new priority (PRIORITY).
  1175.  
  1176. `RemovePort'
  1177.      *Usage:* `RemovePort' PORTNAME
  1178.  
  1179.      The port PORTNAME will be removed from `Scout'.
  1180.  
  1181. `GetLockNumber'
  1182.      *Usage:* `GetLockNumber' LOCKPATTERN
  1183.  
  1184.      This command returns the number of locks which have paths matching
  1185.      to the pattern LOCKPATTERN.
  1186.  
  1187.      *Example:* Use the command
  1188.           GetLockNumber 'WORK:Utilities/#?'
  1189.      and you will know, how many locks are currently used for files in
  1190.      the directory `WORK:Utilities/'.
  1191.  
  1192. `RemoveLocks'
  1193.      *Usage:* `RemoveLocks' LOCKPATTERN
  1194.  
  1195.      Use this command and all locks which have paths matching to the
  1196.      pattern LOCKPATTERN will be removed.  (See also `GetLockNumber'.)
  1197.  
  1198. `OpenWindow'
  1199.      *Usage:* `OpenWindow' WINDOWID
  1200.  
  1201.      All windows you get if you select a gadget of the main window, can
  1202.      be opened with this command.  The WINDOWID is the same text you
  1203.      find on the main window gadgets.
  1204.  
  1205.      *Example:*
  1206.           OpenWindow 'Mounted Devs'
  1207.      will open the window with the list of mounted devices.
  1208.  
  1209. `FindName'
  1210.      *Usage:* `FindName' NODETYPE NODENAME
  1211.  
  1212.      This command allows you to find a certain node. You only have to
  1213.      know its name (NODENAME) and its type (NODETYPE).
  1214.  
  1215.      NODETYPE can have following values:  `LIBRARY', `DEVICE',
  1216.      `RESOURCE', `MEMORY', `SEMAPHORE', `PORT' or `INPUTHANDLER'.
  1217.  
  1218.      *Example:* If you want to get the address of the `disk.resource'
  1219.      you must use:
  1220.           FindName RESOURCE 'disk.resource'
  1221.  
  1222. `GetPriority'
  1223.      *Usage:* `GetPriority' NODEADDRESS
  1224.  
  1225.      This command allows you to check the priority of a certain node
  1226.      structure. This includes all following structure types:  tasks,
  1227.      libraries, devices, resources, ports, residents, input handlers,
  1228.      interrupts, semaphores and the elements of the memory list.
  1229.  
  1230.      You only have to know the address (NODEADDRESS) of that structure.
  1231.  
  1232.      *Example:* The following ARexx commands store the priority of your
  1233.      chip memory in the variable `pri':
  1234.           FindName MEMORY 'chip memory'
  1235.           addr = result
  1236.           GetPriority addr
  1237.           pri = result
  1238.  
  1239. `SetPriority'
  1240.      *Usage:* `SetPriority' NODETYPE NODENAME
  1241.  
  1242.      If you want to change the priority of the node NODENAME, you can
  1243.      use this command.  Again NODETYPE can have following values:
  1244.      `LIBRARY', `DEVICE', `RESOURCE', `MEMORY', `SEMAPHORE', `PORT' or
  1245.      `INPUTHANDLER'.
  1246.  
  1247. `FindResident'
  1248.      *Usage:* `FindResident' RESIDENTNAME
  1249.  
  1250.      This command returns the address of the resident structure
  1251.      RESIDENTNAME.
  1252.  
  1253. `FindInterrupt'
  1254.      *Usage:* `FindInterrupt' INTERRUPTNAME
  1255.  
  1256.      The address of the interrupt INTERRUPTNAME will be returned.
  1257.  
  1258. `FlushDevs'
  1259.      *Usage:* `FlushDevs'
  1260.  
  1261.      All not used devices will be removed. The used memory will be
  1262.      freed.
  1263.  
  1264. `FlushFonts'
  1265.      *Usage:* `FlushFonts'
  1266.  
  1267.      If a diskfont is in memory, but no program uses it, it will be
  1268.      removed.
  1269.  
  1270. `FlushLibs'
  1271.      *Usage:* `FlushLibs'
  1272.  
  1273.      All not used libraries will be removed. The used memory will be
  1274.      freed.
  1275.  
  1276. `FlushAll'
  1277.      *Usage:* `FlushAll'
  1278.  
  1279.      This function includes `FlushDevs', `FlushFonts' and `FlushLibs'.
  1280.      All not used devices, libraries and fonts will be removed and the
  1281.      used memory will be freed.
  1282.  
  1283. `ClearResetVectors'
  1284.      *Usage:* `ClearResetVectors'
  1285.  
  1286.      The six reset vectors will be cleared, if you select this function
  1287.      (see Vectors).
  1288.  
  1289. How to get updates
  1290. ==================
  1291.  
  1292.    The newest version of `Scout' should always be available in the
  1293. "DEEP THOUGHT BBS" (see below), on AmiNet or Public Domain collections,
  1294. which are up-to-date.
  1295.  
  1296. Support BBS
  1297. ===========
  1298.  
  1299.      DEEP THOUGHT Bulletin Board System, Oldenburg, Germany
  1300.      
  1301.      Node 1
  1302.      +49-(0)441-383365   1200-21600 bps  v.32terbo, v.42bis
  1303.      
  1304.      Node 2
  1305.      +49-(0)441-383839   1200-19200 bps  v.32bis, v.42bis, ZyXEL
  1306.      
  1307.                      Node 1                Node 2
  1308.      FidoNet         2:2426/2020.0         2:2426/2021.0
  1309.      AmigaNet        39:170/204.0          39:170/205.0
  1310.      
  1311.      InterNet        cosinus@deepthought.north.de
  1312.      
  1313.      
  1314.      Both Nodes are 24 hours online every day.
  1315.      A FidoNet Mailer is running on both Nodes which accepts
  1316.      FidoNet Filerequests.
  1317.      
  1318.      Use the magic   SCOUT for the newest version of SCOUT
  1319.      or              FILES for a complete filelist
  1320.  
  1321. Credits
  1322. =======
  1323.  
  1324.    Now I have to thank:
  1325.  
  1326.    * Klaus `gizmo' Weber, he tested this piece of software and was
  1327.      always available to me and my many questions (not a few) during the
  1328.      programming of `Scout'.
  1329.  
  1330.    * Christian `cosinus' Stelter, he gave me the permission to use his
  1331.      many manuals.
  1332.  
  1333.    * Stefan Stuntz for his great `MagicUserInterface'
  1334.  
  1335.    * Kai `wusel' Siering for testing, reporting bugs, etc.
  1336.  
  1337.      and last but not least
  1338.  
  1339.    * all the others I've forgotten for reporting bugs, sending
  1340.      expansion boards data and so on.
  1341.  
  1342. How to reach the author
  1343. =======================
  1344.  
  1345.    If you have questions, suggestions, bug reports or anything else, you
  1346. can send electronic mails to:
  1347.  
  1348.               atte@crash.north.de (Andreas Gelhausen)
  1349.                                or
  1350.                     2:2426/2020.24  (on FidoNet)
  1351.  
  1352.    If it is not possible for you to use this way, you can send letters
  1353. to:
  1354.  
  1355.                        Andreas Gelhausen
  1356.                        Graf Spee Str. 23b
  1357.                        26123 Oldenburg
  1358.                           - Germany -
  1359.  
  1360. Index
  1361. *****
  1362.  
  1363.  
  1364.  
  1365.  ARexx Port                             ARexx Port
  1366.  Assigns                                Assigns
  1367.  Author Info                            Author Info
  1368.  Boards                                 Expansions
  1369.  Command Line Options                   Options
  1370.  Copyright                              Copyright
  1371.  Credits                                Credits
  1372.  DEEP THOUGHT BBS                       Updates
  1373.  Device names, logical                  Assigns
  1374.  Devices                                Devices
  1375.  Disclaimer                             Disclaimer
  1376.  DISKFONT                               Fonts
  1377.  Expansions                             Expansions
  1378.  Fonts                                  Fonts
  1379.  Giftware                               Giftware
  1380.  Hardware                               Expansions
  1381.  Input events                           InputHandlers
  1382.  InputHandlers                          InputHandlers
  1383.  Installation                           Installation
  1384.  Interrupts                             Interrupts
  1385.  Introduction                           Introduction
  1386.  Legalities                             Copyright
  1387.  Libraries                              Libraries
  1388.  Locks                                  Locks
  1389.  Logical device names                   Assigns
  1390.  MagicUserInterface                     MUI
  1391.  Main Window                            Using Scout
  1392.  Manufacturer                           Expansions
  1393.  Memory                                 Memory
  1394.  Mounted Devices                        Mounted Devs
  1395.  MUI                                    MUI
  1396.  No Warranty                            Disclaimer
  1397.  Options                                Options
  1398.  Ports                                  Ports
  1399.  Processes                              Tasks
  1400.  RAM Pointer Count                      Devices
  1401.  Resident Commands                      Resident Cmds
  1402.  Residents                              Residents
  1403.  Resources                              Resources
  1404.  ROMFONT                                Fonts
  1405.  RPC                                    Devices
  1406.  Screens                                Windows
  1407.  Semaphores                             Semaphores
  1408.  Support BBS                            Updates
  1409.  System Requirements                    System Requirements
  1410.  Tasknames                              ARexx Port
  1411.  Tasks                                  Tasks
  1412.  Tool Types                             Options
  1413.  Updates                                Updates
  1414.  Using Scout                            Using Scout
  1415.  VBR                                    Vectors
  1416.  Vectors                                Vectors
  1417.  Vertical blank interrupt               Interrupts
  1418.  Warranty                               Disclaimer
  1419.  What is Scout?                         Introduction
  1420.  Windows                                Windows
  1421.  
  1422.