@DATABASE "IoTools" @$VER: IoTools.guide 1.01 (1.12.2001) @(C) THOR Software @SMARTWRAP @AUTHOR Thomas Richter @INDEX INDEX @NODE MAIN "IoTools Guide" IoTools Guide Guide Version 1.01 IoTools Version 45.7 Table of Contents @{"The Licence : NOT FreeWare, this time. " link Licence} @{"What is it : Overview " link Overview} @{"Installation " link Install} @{"Using the IoTools : Buttons, Menus and Windows " link Usage} @{"Running from Shell: Command Line Options and ToolTypes " link Args} @{"ARexx interface : The list of available Rexx commands" link Rexx} @{"Credits : People I'd like to thank " link Credits} @{"History : What happened before " link History} @{"Index " link Index} © and licenced to Amiga Inc. 2000,2001,2002 Exclusive licence granted by Thomas Richter Rühmkorffstraße 10A 12209 Berlin Germany EMail: thor\@math.tu-berlin.de The IoTools are copyrighted © 2000-2002 Amiga Inc. They are by no means freeware, or public domain. Read the @{"licence" link Licence}! The Amiga "IoTools" are unrelated to the "Iomega Tools" for PC and Mac, they are not a port the "Iomega Tools", nor related by any means to the Iomega corperation. No Iomega copyrighted code has been used in its production, the Iomega corperation did not contribute to this program in any way. "Iomega", "ZIP", "JAZ" and "For all Your Stuff" are registered trademarks of Iomega corperation. "Mac", "Macintosh" are trademarks of "Apple Computers". "Amiga" is a registered trademark of "Amiga Inc." All other names are trademarks of their respective companies. @ENDNODE @NODE Licence "Licence and copyright agreement" This License applies to the computer programs known as "IoTools" and its documentation, the "IoTools.guide". The "Program", below, refers to this program. The term "Guide" refers to the "IoTools.guide", i.e. this file. The guide and the program are NOT FREELY DISTRIBUTABLE. Licence has been granted to Amiga Inc. to include this program within the distribution of their product "Os 3.9". No part of the program or the guide may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronically, mechanical, photocopying, recording or otherwise without the prior written permission of the author. Redistribution of a modified version of the Archive, the Program or the contents of the Archive is prohibited in any way. Limitations. THE PROGRAM AND THE GUIDE ARE PROVIDED TO YOU "AS IS", WITHOUT WARRANTY. THERE IS NO WARRANTY FOR THE PROGRAM AND THE GUIDE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. THE INFORMATION DESCRIBED IN THIS GUIDE MAY CONTAIN ERRORS, AND MAY NOT FUNCTION AS DESCRIBED. ALL INFORMATION IS SUBJECT TO ENHANCEMENT OR UPGRADE FOR ANY REASON, INCLUDING TO FIX BUGS, ADD FEATURES OR CHANGE PERFORMANCE. AS WITH ALL SOFTWARE UPGRADES, FULL COMPATIBILITY, ALTHOUGH A GOAL, CANNOT BE GUARANTEED, AND IS IN FACT UNLIKELY. IF YOU DO NOT ACCEPT THIS LICENCE, YOU MUST DELETE ALL FILES, INCLUDING THE GUIDE AND THE PROGRAM, CONTAINED IN THIS ARCHIVE. @ENDNODE @NODE Overview "Overview" The IoTools are an Amiga implementation and a complete rewrite of the "Iomega Tools" program for PC and Mac you got with your ZIP or JAZ drive. The Amiga "IoTools" provide the same functionality as the original "Iomega Tools" program, i.e. setting or removing the write protection status from disk, ejection and formatting of media, providing informations about disks and drives and changing the drive configuration. Additionally, the IoTools come with an ARexx interface to remote-control the program from ARexx scripts. The "IoTools" will work with the SCSI versions of ZIP 100, ZIP 250, 1GB and 2GB JAZ drives, no matter which SCSI interface or interfaces are used. Several SCSI hostadapters are supported as well. ATAPI and parallel versions of the drives are supported as far as the corresponding Amiga device driver supports or emulates the HD_SCSICMD command interface, but I do not give any guarantee whether this works or not. The "IoTools" support all filing systems provided they follow the Amiga design rules. Last but not least they are downwards compatible to the former "JazTools" program of the same author. @ENDNODE @NODE Install "Installation of the IoTools" Installation is simple if you already installed your JAZ or ZIP drive successfully: - The program "IoTools" should be copied to "SYS:WBStartup". It should be run on startup because it is its job to write your selected settings into the ZIP and JAZ drives. You may want to put a copy of the Iotools into the "Commodities" drawer. - The catalog file should be copied into "LOCALE:Catalogs//iotools.catalog" where  must be substituted by the desired language, i.e. "français" or "deutsch". The english catalog is build-in, you don't need to install a catalog for it. - The guide, hence this file, can be copied to wherever you want to keep it. - Open the "WBStartup" directory, click on the IoTools icon once, then select "Information..." from the workbench "Icon" menu. Select the "DEVICE" tooltype, and set its argument to the name of the device driver your ZIP or JAZ is connected to, e.g. "scsi.device". If you installed more than one SCSI hostadapter and connected Iomega drives to more than one, please specify the names of both device drivers and separate the name(s) by a vertical bar, i.e. "|". For example, if you're using the scsi.device and the omniscsi.device, enter "DEVICE=scsi.device|omniscsi.device". The Iotools will then look for Iomega drives on both host adapters. Installation of a new ZIP or JAZ drive requires somewhat more care. Besides the installation of the program, you need to copy and edit a "Mountlist": - Open the drawer "DosDrivers" in this distribution, - Pick the right icon for your drive, i.e. the "ZIP 100" icon for the ZIP drive. - Copy this icon into "DEVS:DosDrivers". - Click on the icon, and select "Information" from the workbench "Information" menu. - Look for the "DEVICE" entry in the tooltypes, and enter the name of the device driver your drive is connected to, i.e. "scsi.device". - Save the icon back to disk. Experts might want to fine-tune the MountList by hand, using an editor. @ENDNODE @NODE Usage "Usage of the IoTools" The first time you boot the system with the Iomega tools in WBStartup, the program window will pop up. If you close the window, the IoTools remain active, though. The IoTools will present its window again by a press on a - configurable - hot key; by default, this hot-key combination is "Control+Left Alt + i". If you do not like the automatic pop-up feature, you should not remove the IoTools from the WBStartup drawer. Instead, select the "Edit Program Settings" from the rightmost "Settings" menu, and remove the checkmark in front of "Pop up on Startup" in the lower left edge of the configuration window. Then press "Save". The main window contains nine buttons which perform operations on the drive selected in the list of available Iomega drives below; some of the buttons might appear "ghosted" because they require that a medium is loaded in the selected drive: @{CODE} @{"Lock or Unlock" link Gad_LockUnlock} @{"Format Disk " link Gad_Format} @{"Drive Settings" link Gad_DriveSettings} @{"Eject Disk " link Gad_Eject} @{"Disk Info " link Gad_DiskInfo} @{"Drive Info " link Gad_DriveInfo} @{"Start Drive " link Gad_StartDrive} @{"Park Drive " link Gad_ParkDrive} @{"Help " link Gad_Help} @{BODY} Please follow the links above for more information about their function. Additionally, you'll find an @{"iconification" link Menu_Iconify} gadget in the top right border of the window; press this gadget to iconify the window to make room on the workbench. The window can be popped up anytime by pressing the hot key or by double-clicking the icon. If you press the right mouse button, you get the following menu: @{CODE} Project @{"Scan SCSI Devices " link Menu_ScanSCSI} @{"Scan DOS Devices " link Menu_ScanDOS} @{"Reload Drive Prefs " link Menu_Reload} @{"Iconify " link Menu_Iconify} @{"Hide " link Menu_Hide} @{"Quit " link Menu_Quit} Windows @{"Lock or Unlock " link Gad_LockUnlock} @{"Format Disk " link Gad_Format} @{"Drive Settings " link Gad_DriveSettings} @{"Eject Disk " link Gad_Eject} @{"Disk Information " link Gad_DiskInfo} @{"Drive Information " link Gad_DriveInfo} @{"Start Drive " link Gad_StartDrive} @{"Park Drive " link Gad_ParkDrive} @{"Help " link Gad_Help} Settings @{"Edit Program Settings" link Menu_EditConfig} @{BODY} Please follow the links for more information. @ENDNODE @NODE Gad_LockUnlock "Lock or Unlock" @TOC Usage Opens the protection control window. This window allows you to lock or unlock media, similar to the write protection notch on "arbitrary" disks. ZIP and JAZ media are, however, protected electronically, and you might provide a password required to unlock them. The media can be read-protected as well, to keep them safe from unauthorized eyes: The disk contents cannot be read or modified in any way if they are read/write locked. The protection control window comes with five buttons: @{B}Write protect@{UB} This button write-protects the current disk in the selected drive. You may or may not enter a password, but if you enter a password, the same password must be entered to remove the protection. If you leave the password blank, a simple press on "Remove protection" is enough to allow writing to the disk again. @{B}Temporarely unprotect@{UB} Removes a read/write or a write protection temporarely, the protection is, however, re-enabled as soon as you remove the disk from the drive. The next time you insert the disk, the protection will be active again. The Iomega tools will ask you for a password if the disk was locked with a password; otherwise, the operation is performed immediately. @{B}Read/Write protect@{UB} Locks the disk from reading and writing in any way. The disk will appear "as if" it is bad, and the contents won't be available to anyone in any way. This is useful to keep security relevant information from the public. A password is required here, and the same password is required for unlocking the disk again and to make its contents visible. @{B}Remove protection@{UB} Removes the protection, let it be a write or a read/write protection, completely. The disk will be unprotected afterwards and will remain unprotected if removed from the drive. You will have to enter a password here if the disk was locked with a password. @{B}Change password@{UB} If the disk has been locked with a password, this button allows you to change the password, or to add a password for a non-password locked write protection. In the first case, you've to re-type the old password. Then enter a new password. In case you want a simple write protection, you may leave this line blank. @ENDNODE @NODE Gad_Eject "Eject Media" @TOC Usage This button ejects the currently inserted disk. Even though the IoTools try their best to implement this operation as safe as possible, avoid pressing this button as long as the drive light is lit and some programs still access the drive. If the disk is ejected while programs still write to the disk, the disk structure might be damaged. @ENDNODE @NODE Gad_Format "Format Disk" @TOC Usage Re-initializes the currently loaded disk in the selected drive, erasing all data on it completely. Hence, be careful since all data will be lost completely. Iomega media come pre-formated for IBM or MAC, but not for the Amiga, unfortunately, hence this step is required before you can actually use them on your system. In this case, a "Quick Format" - see below for more details - is absolutely sufficient, and takes only a few seconds. @{B}New Disk Name@{UB} Please enter here a name for the disk. Any characters except "/" and ":" are legal here. @{B}Dos Type@{UB} Allows you to select the organization for the data on the disk. For almost all purposes, this should be "FFS Intl.", the fast international version of the Amiga build-in filing system. If you mounted "CrossDos" or "CrossMac" on the ZIP drive, this gadget will allow you to pick the PC or MAC filing systems as well. This is useful if you want to transfer data to or from a non-Amiga system. Select "MSH" or "MAC" in this case. These two items @{B}will not@{B} be available in case there is no mountlist for CrossMac or CrossDos. Please check the CrossDos and CrossMac documentation how to setup the mountlist. Alternative third-party filing systems will show up with their specific ID here. Some additional notes on filing systems: If you mounted more than one filing system on the disk, i.e. CrossDos and FFS - the native Amiga filing system - it might happen that the disk icon for the "other" filing system does not vanish from the workbench but appears to remain available. For example, it might happen that a freshly "FFS" formatted disk @{B}appears@{UB} as totally valid CrossDos disk. However, @{B}DO NOT, NEVER EVER@{UB} touch the disk icon of the "other" filing system. This will corrupt your data! There is nothing the IoTools can do against this, unfortunately, as this is truely a drawback of the way how the Amiga filing systems work. Sorry. If you created more than one partition on the selected disk, the Iomega tools will try the best to format the individial partitions with "reasonable" filing systems. For example, if the drive contains a FFS and a CrossDos partition, and you try to format this disk as "FFS Intl.", the second partition will remain a CrossDos partition if there is no FFS mountlist for it. The algorithm used by IoTools to determinate an apropriate filing system is "mainly heuristic". @{B}Just don't use more than one partition on removable media, or you're in trouble.@{UB} The IoTools @{B}DO NOT@{UB} create an RDB ("Rigid Disk Block") on formatted disks. Hence, the disks won't be bootable. On the other hand, they don't touch an already available RDB. Hence, if you re-format the disk with an incompatible filing system, incompatible to the filing system recorded in the RDB, you will still be unable to boot from it even an RDB is available. In general, avoid putting RDBs on removable media as this may have wierd side-effects, dependent on the provider of your HD adapter. Rather wierd hacks have been implemented by various vendors, and the result might or might not please you. @{B}Just don't do it.@{UB} In case you really, really want to boot from a ZIP or a JAZZ, use the HDToolBox or HDInstTools from the Aminet to install an RDB. @{B}Create Trashcan@{UB} If this gadget is checkmarked, the Iotools will build a trashcan on the drive after formatting. @{B}Quick Format@{UB} Takes only a few seconds and re-initializes the filing system, but not more. The disk will be empty afterwards, but an expert might still be able to recover old information from it. Do not use this option to delete security relevant data. In all other cases, it is the faster and simpler alternative. @{B}Format without Verify@{UB} Re-initializes the disk completely, erasing all information. This might take fifteen to sixty minutes. The disk will be truely empty afterwards, data recovery is impossible. This option is not available for ZIP drives. @{B}Format and Verify@{UB} Re-initializes the disk completely, erasing all information. This will take even longer than "Format without Verify", but performs an additional certification process on the disk surface. The drive will scan for bad and damaged sectors and will re-direct data to good sectors in other areas of the disk. See also @{"Disk Life and Bad Sectors" link BadSectors} for more details on this. @{B}Cancel@{UB} Closes the window. @ENDNODE @NODE Gad_DiskInfo "Disk Information" @TOC Usage Opens a window with informations about the disk status of the currently inserted disk in the selected drive. The following information is available: @{B}Capacity@{UB} This is the capacity of the disk in blocks. Each block is 512 bytes long. Divide this number by two to get the total capacity in KByte. The usable capacity of the device might be somewhat lower because additional storage is required for the data administration. @{B}Disk Usage@{UB} Indicates how full the disk is, given in percent. Due to round-off errors, this number might differ slightly (by one percent) from the number given by the workbench. @{B}Disk Serial Number@{UB} This is the manufacturer's serial number of the disk. It is unique to each disk and identifies it. There's currently no use for this number. @{B}Disk Type@{UB} Identifies the type of the disk. This can be ZIP, JAZ or something similar. This ID has been written to the disk by the manufacturer, and can't be changed. @{B}Dos Type@{UB} The type of the data administration on the disk, hence the "filing system" type. This is usually the Amiga ROM filing system, the "FFS". Other filing system are available, like "CrossDos" or "CrossMac" which organize data in a way compatible to PCs or Macintosh computers. @{B}Format Life Remaining@{UB} Prints the current disk status and an indicator how bad the disk grew by usage since the last reformat process. This number is 100% for new disks and shrinks as soon as the disk develops bad sectors, e.g. by dust or dirt on the surface. The drive then re-arrange the sectors on the disk and stores your data on different places. This operation is totally transparent to you, and no need to worry about. This number can be restored to 100% by re-format the disk, i.e. by @{"Format and Verify" link Gad_Format} @{B}Disk Life Remaining@{UB} Prints the overall disk lifetime status. This indicates how many sectors grew bad since production of the disk, it is 100% and shrinks as soon the disk is reformatted and the drive had to map out bad sectors permanently as part of the certification process. If this number falls below 75%, replace the disk by a new one. Additional information: @{"Disk Life and Bad sectors" link BadSectors}. @ENDNODE @NODE Gad_DriveSettings "Drive Settings" @TOC Usage Opens the drive settings window, allowing you to set some options of the Iomega hardware. @{B}Verify Writes@{UB}: If checkmarked, this tells the Iomega drive run an additional verification step after writing data to the disk, providing more security, but slowing down the write operation. @{B}Note:@{UB} This option works currently only for JAZ drives, it does not make any difference for ZIP drives. It would require a modified device driver to turn on verification for ZIPs. Even for JAZ drives, this setting is not fully equivalent to the PC and Mac "Iomega Tools" verification setting because the Amiga Os does not allow control over the write command used. A future "iomega.device" might solve this problem. @{B}Drive Sleep in...@{UB} Sets the spindown delay in minutes. If the drive isn't accessed for the indicated period, it will spin down the disk and move the heads in park position. This will increase the disk lifetime, reduce noise and will also save energy. @{B}Note:@{UB} This number might not be 100% acurate, due to the way how the drives measure the time. It will be fairly accurate for ZIPs, but dependent on the device driver, not very accurate for JAZ drives due to the klumpsy mechanism how they count the time. Depending on to the drive type, ZIP vs. JAZ, and due to the host adapter type, the drive may or may not spin up automatically again if it is needed. In case it doesn't, please use the @{"Start Drive" link Gad_StartDrive} button on the main window. @{B}Additional notes:@{UB} The drives do not store these settings in ROM or on the disk. Instead, the IoTools will keep these settings for you on your system disk. It is therefore important to run the IoTools as part of the boot process, namely to re-load your saved settings from your HD into the Iomega drives. If you do not run the IoTools on startup, the drive will retain its default settings until the IoTools are loaded. @ENDNODE @NODE Gad_DriveInfo "Drive Information" @TOC Usage Opens the drive information window and presents some internal data of your Iomega drive. @{B}Hardware vendor@{UB} The vendor of the drive. This is always "Iomega". @{B}Drive Type@{UB} The type of the drive, can be "ZIP 100", "JAZ 1GB" etc. @{B}ROM Version@{UB} The version of the firmware ROM in the drive. @{B}ROM Date@{UB} The production date of the firmware software. @{B}AmigaOs Driver@{UB} The name of the AmigaOs device driver your hardware is connected to, i.e. "scsi.device". @{B}AmigaOs Unit@{UB} The device unit, this is in most cases identical to the SCSI ID of the drive. @{B}Driver Version@{UB} The version and revision of the AmigaOs device driver. @{B}Run Diagnostics@{UB} Runs the selftest of the drive. Please insert a disk and push this button to start the selftest; the data on the disk will remain unchanged and it does not matter whether the disk is already formatted or not. The IoTools will then run the internal test program of the drive, and will reply with either a success requester, or an error number. In the latter case, the drive is defect and shouldn't used any longer. @ENDNODE @NODE Gad_StartDrive "Start Drive" @TOC Usage Restarts the drive in case it has been @{"parked" link Gad_ParkDrive} before, either manually or automatically. It depends unfortunately on the drive type and on the host adapter whether a drive that parked itself after the @{"drive spindown period" link Gad_DriveSettings} will be able to re-start automatically if it is accessed. In case this doesn't work, use this button to spin-up the drive and to make it available to the system again. If the drive has been parked manually, the drive will not spin up automatically in any case. @ENDNODE @NODE Gad_ParkDrive "Park Drive" @TOC Usage Parks the drive manually. This helps to reduce the noice and will also increase the lifetime of the disks and the drive. In most cases it is, though, more convenient to setup the @{"auto spindown delay" link Gad_DriveSettings} which will park the drive automatically. Manually parked drives will never spinup automatically, please push the @{"Start drive" link Gad_StartDrive} button on the main window for restarting parked drives. @ENDNODE @NODE Gad_Help "Help" @TOC Usage Runs the online help system, namely shows this guide. The IoTools.guide should be installed either in the home directory of the IoTools program, the LOCALE:help/ directory, where is the language you prefer, i.e. "english" or "Deutsch", or in the GUIDES: assign. Its name @{B}must@{UB} be "IoTools.guide" or the IoTools will be unable to find it. @ENDNODE @NODE Menu_ScanSCSI "Menu Item: Scan SCSI Devices" @TOC Usage This menu item re-scans the selected SCSI devices defined by the @{"Configuration Window" link Menu_EditConfig} for Iomega drives, and presents the result in the main window drive selection gadget. The SCSI scan finds all Iomega devices connected to the selected host adapters, regardless of whether they are mounted or not, i.e. are accessible by means of a filing system. However, the Iomega tools require the name(s) of the available hostadapter(s), and the scan might take several seconds. @ENDNODE @NODE Menu_ScanDOS "Menu Item: Scan DOS Devices" @TOC Usage This menu item re-scans the list of mounted devices for Iomega drives and presents the result in the drive selection gadget of the main window. This scan operation is very fast, but it finds only devices which have been mounted already. This means specifically that drives without a mountlist icon in Devs:DosDrivers will not be found because they are not known to the system. To select non-mounted drives, use the @{"Scan SCSI Devices" link Menu_ScanSCSI} menu item above. @ENDNODE @NODE Menu_Reload "Menu Item: Reload Drive Prefs" @TOC Usage Pick this menu item to reload the saved drive preferences back to the drives. The IoTools write your preferences back to the drives on startup anyhow, but in case a drive wasn't turned on at this time, the IoTools wouldn't have been able to. Therefore, if you turn on a drive after having loaded the tools, pick this menu item to make sure the drive configuration is up to date. @ENDNODE @NODE Menu_Iconify "Menu Item: Iconify" @TOC Usage Turns the IoTools main window into an icon to make room on the workbench and to have the tools readily available by a mouse click. You'll find the iconification gadget on the top right border of the main window, just press it to turn the IoTools window into an icon. Alternatively, select the "Iconify" menu item in the "Project" menu. The "IoTools" icon on the workbench has now a double purpose: First of all, a double click on this icon will pop-up the main window again. Second, you may drop the disk icons of Iomega drives on them to eject the disks. @{B}Note that this does work only for Iomega drives@{UB} and not for generic SCSI drives. If you need a "generic" program, please get the @{B}BenchTrash@{UB} program from the same author. @ENDNODE @NODE Menu_Hide "Menu Item: Hide" @TOC Usage This menu item closes all the IoTools windows and sends the IoTools to sleep, but does not abort the program. A press on the selectable @{"hotkey" link Menu_EditConfig} will pop-up the main window again. @ENDNODE @NODE Menu_Quit "Menu Item: Quit" @TOC Usage Aborts the IoTools completely and removes them from system memory. @ENDNODE @NODE Menu_EditConfig "Menu Item: Edit Program Settings" @TOC Usage Opens the program configuration window to setup the IoTools. A lot of options can be configured here: @{B}Device@{UB} The default AmigaOs device driver, i.e. the name of the driver of the SCSI hostadapter should be entered here. This device name is used for scanning the SCSI bus for Iomega drives in case the IoTools can't find the correct name anyhow. More than one device can be entered here if more than one host adapter is available. In this case, please enter the names of the device drivers separated by a vertical bar, e.g. "scsi.device|omniscsi.device". @{B}Unit@{UB} The default AmigaOs unit number, typically the SCSI ID of the device. This number is rarely used because the IoTools are smart enough to pick the valid SCSI ID themselves. The only situation where this number is used is when the IoTools are run @{"from the shell" link Args} with insufficient arguments. @{B}Flags@{UB} Flags which have to be given to the device driver for opening the device. There is usually little reason to change this number to anything different from zero, but the documentation of your hostadapter might give more details. For almost all reasons, leave this setting alone. @{B}Note@{UB}: The gvpscsi and the omniscsi device might require a "1" here to be able to open the driver successfully if the Iomega drive was turned on after the computer has been booted. @{B}BufMemType@{UB} The memory buffer type for SCSI data transfer your controller requires. A well designed and fully working host-adapter should accept here the value "0x01", but due to broken firmware or hardware bugs in several releases of the Amiga hardware, other values might be required. If the value is set to "0x00", the IoTools program will figure out the correct memory type itself. This works as long as there is a valid "MountList" for this drive in DEVS:DosDrivers. If you want to access a drive which hasn't been mounted yet, you need to setup this value. The value "0x03" (MEMF_CHIP) will work for almost all hostadapters, but will be the slowest possible selection. The value "0x201" (MEMF_24BITDMA) should also work on almost all hostadapters and is a compromise between "0x03" and "0x01". The documentation of your host adapter might say more about this value - unless the hardware vendor does not know the bugs of their firmware, which is unfortunately not unlikely. )-: @{B}Show Warnings@{UB} If checked, the IoTools will present a warning requester in case something isn't right. There's little reason to disable warnings anyhow. @{B}Open Iconified@{UB} If checked, and "Pop up on Startup" is checked, too, the IoTools will open as an icon on the workbench instead as a window. @{B}Public Screen@{UB} The name of a "Public Screen" the IoTools should open the windows on. If left blank, this will be the workbench screen - or to be precise, the default public screen which will default to the workbench again. Programs like "DOpus" will set the default public screen to their own screen anyhow. If you do not know what all this means, just leave this gadget alone. (-: @{B}Eject Delay@{UB} A delay in 50th of a second (meaning, entering 50 here means a delay of one second) the IoTools should give the drive to eject a disk. Well-designed hardware would work with a zero here, but who knows? If ejection times are too slow for your needs, try to lower this value. @{B}Startup Delay@{UB} A delay in 50th of a second the Iomega tools wait before making a drive available to the operating system again, and hence a delay given to the drive to spin up. Well written device drives won't need this delay and will recognize a not-yet available drive correctly and will wait themselves. @{B}Flush Delay@{UB} A delay in 50th of a second the Iomega tools wait after having told the operating system - namely the filing system - to write out its buffers before making the drive unavailable for the operating system. Due to a bug in the ROM filing system releases (FFS) prior to 45.1, the corresponding command does not operate properly and this delay is inserted as a (ineffective, though) workaround. To avoid trouble, you should never ever try to eject a disk as long as programs still access the drive, i.e. the drive busy light is lit, regardless of the filing system type or release. FFS releases 45.1 and later will work fine with a value of zero here, though. @{B}Inhibit Delay@{UB} An additional delay the IoTools wait after having made the drive unavailable to the Os, giving the filing system some time to complete its job. A well written filing system will accept the value 0 here without problems, but... @{B}First Board@{UB} If you own several boards of the same manufacturer, i.e. two or more GVP scsi host adapters, enter here the first board ID to be scanned if looking for Iomega drives on the SCSI bus. The first board has the number 0, the second board the number 1 and so on. @{B}Last Board@{UB} The ID of the board to stop scanning the SCSI bus for Iomega drives. This defaults to 0, i.e. just scan one board. @{B}Note:@{UB} There is unfortuntely no clear rule how several identical boards should be linked into the system. The IoTools currently put the board ID into the hundredth digit of the unit number, i.e. omniscsi.device unit 105 will be the drive with the SCSI ID 5 on the second omniscsi driven board in the system. Another popular mechanism for the same purpose is to alter the device name from "scsi.device" to "2nd.scsi.device" for the second board, "3rd.scsi.device" for the third board and so on. If this type of encoding is used by the manufacturer of your board, leave the "First Board" and "Last Board" gadgets alone and enter the possible names of the device drivers into the device name gadget on top of the window, i.e. change the device name to "scsi.device|2nd.scsi.device|3rd.scsi.device" to scan the first three scsi.device driven boards. @{B}First SCSI ID@{UB} Selects the first SCSI ID the IoTools will check when scanning the SCSI bus for Iomega drives. The first possible ID is zero, but you may speed up the scan process if you enter a higher number here. Since 5 and 6 are the only IDs for ZIP drives, you might want to enter "5" here for the ZIP. @{B}Last SCSI ID@{UB} Selects the last SCSI ID the IoTools will scan. The highest possible SCSI ID is 31 for 31 bit wide SCSI (should it ever be available), 15 for wide SCSI and 7 for SCSI and SCSI-2. Note however, that the highest possible value is typically reserved for the host adapter itself. Hence, for standard SCSI, a value of 6 would be apropriate. @{B}Window Left Edge@{UB} The X coordinate where the IoTools window will pop up. If this is set to "-1", the IoTools program will pick a reasonable value itself. @{B}Window Top Edge@{UB} The Y coordinate of the main window position. Again, -1 is the default position. @{B}Icon X Position@{UB} The X coordinate of the @{"iconification" link Menu_Iconify} image on the workbench. If this is set to -1, the workbench will pick a reasonable position for you. @{B}Icon Y Position@{UB} The Y coordinate of the @{"iconification" link Menu_Iconify} image. "-1" indicates the default location, as before. @{B}Pop up on Startup@{UB} If this gadget is checked, the IoTools will pop open on startup. It depends on the "Open Iconified" gadget above whether the program will present its main window or just an icon on the workbench. If not checked, the tools will be started, will setup the drives correctly but will remain silent until the hotkey is pressed; no icon and no window will appear. @{B}CX Priority@{UB} The priority of the "commodities" handler of the IoTools which will scan your keyboard presses for the hotkey. There is usually little reason to set this to anything different than zero. @{B}CX Popup Key@{UB} This gadget specifies the hotkey to pop up the main window if the tools are "hidden". It defaults to "LAlt Ctrl i", meaning the left "Alt" key and the "Ctrl" key must be held while the "i" is pressed. The following modifiers can be used: @{CODE} Shift : either "Shift" key LShift : the left "Shift" key RShift : the right "Shift" key Alt : either "Alt" key LAlt : the left "Alt" key RAlt : the right "Alt" key LAmiga : the left "Amiga" key RAmiga : the right "Amiga" key Ctrl : the "Ctrl" key. @{BODY} All remaining keys are named by the character printed on them, please check your manual for further information how a keyboard specifier looks like. @ENDNODE @NODE BadSectors "Disk Life and Bad Sectors" Unlike hard drives, removable media like ordinary floppy disks, ZIPs and JAZ cartridges are in contact to the environment, meaning dust, smoke and dirt may enter, magnetic fields and heat may influence the quality of the data recorded on the cartridges. Therefore, and by usual aging processes, these media will sooner or later develop bad sectors. This is a normal process and nothing to worry about. However, the capacity of a ZIP drive is hundred times larger than that of an ordinary floppy disk, the capacity of a JAZ is even thousand times larger. Therefore, it is more likely that these defects appear. You've to throw floppies away as soon as a single sector becomes bad, but this would be not very apropriate for ZIP and JAZ media. Instead, the ZIP and JAZ drives, like all other SCSI drives, have build-in error correction mechanisms to handle these situations, unlike floppy drives. In most cases, the drive will be able to recover the error. If this happens, the drive will still be able to provide the data for the main system, but at the same time the corresponding sector on the medium will be marked as "invalid" such that it can't be reused. It is "mapped out". Instead, the drive uses a "spare sector" to replace the bad sector. These "spare sectors" as well as a list of "bad sectors" and the sectors they are redirected to are kept in a area on the disk which is not available to the host computer, neither will the drive notify the host system - your computer - about this process in any way, everything works completely transparent. The drive will automatically detect bad sectors and will automatically access the replacement sectors instead, without any interaction of your system. However, sooner or later the disk will run out of spare sectors in certain areas such that the automatic remapping mechanism will be unable to redirect bad sectors anymore. The rate how many spare sectors have been used up is shown as "Format Life remaining" in the @{"Disk Information" link Gad_DiskInfo} window. If the disk is re-formatted, the drive will re-scan all sectors, and might find some sectors which are no longer bad because the dust that covered these sectors has been swapped away. Moreover, the drive will re-organize the sector layout, will make room for more spare sectors at different places of the disk and may therefore make the disk usable again. A certain amount of bad sectors will not vanish, though. The rate of permamently lost sectors is given by the "Disk Life remaining" sectors in the @{"Disk Information" link Gad_DiskInfo} window. If this rate is 50%, half of all available spare sectors in all regions of the disk have been used up, and it's really time to replace the disk. @ENDNODE @NODE Args "Command Line Options and ToolTypes" The IoTools read their configuration from the "ToolTypes" window, regardless of whether the program was run from the shell or the workbench. Some additional commands can be placed in the tooltypes, or on the command line, either to override the tooltype settings, or to perform certain actions. The drive settings, though, are stored in the ENVARC: and ENV: directory. The following tooltypes are used to configure the IoTools. They are also written back to the icon if you @{"save the configuration" link Menu_EditConfig}. @{"The list of configuration tooltypes" link ToolTypes} The following tooltypes can be inserted to run specific actions on the drive as soon as you double-click the corresponding icon: @{"The list of command tooltypes" link CommTools} This list presents all command line arguments if the IoTools are run from the shell. Remember that the tools still scan the "configuration tooltypes" first. @{"The list of shell arguments" link ShellArgs} @ENDNODE @NODE ToolTypes "Configuration ToolTypes" @TOC Args The following tooltypes are currently accepted as "configuration" tooltypes: @{B}NOWARNINGS@{UB} If this tooltype is found, all warnings will be disabled. @{B}NOERRORS@{UB} If present, all error requesters will be disabled. @{B}PUBSCREEN@{UB} This tooltype takes a string argument and specifies the name of the public screen the IoTools main window will be opened on. @{B}EJECTDELAY=@{UB} The wait time for the IoTools after ejecting a medium, specified in 50th of a second. @{B}STARTDELAY=@{UB} The time span the IoTools will wait before making a drive available to the filing system again, specified in 50th of a second. @{B}FLUSHDELAY=@{UB} The IoTools give the filing systems this time to write out its buffers to the disk before making the drive unavailable to the Os. Again, this is in 50th of a second. @{B}INHIBITDELAY=@{UB} The time the IoTools give the filing system to settle down after having made the disk unavaible, in 50th of a second. @{B}FIRSTBOARD=@{UB} The number of the first board to scan for Iomega devices. This is the first hundreds digit of the unit number the IoTools will use to open the corresponding device driver. The first board is board #0. @{B}LASTBOARD=@{UB} The last board to look for Iomega devices. This is again the hundreds digit of the unit number. If your host adapter firmware uses a different mechanism to identify more than one board of the same manufacturer, leave both @{B}FIRSTBOARD@{UB} and @{B}LASTBOARD@{UB} zero and specify alternative device names by the @{B}DEVICE@{UB} tooltype presented below. @{B}FIRSTID=@{UB} The first SCSI ID which is checked when scanning the SCSI bus for Iomega hardware. @{B}LASTID=@{UB} The last SCSI ID which is scanned. @{B}LEFTEDGE=@{UB} The X coordinate to open the main window at. "-1" means the default position. @{B}TOPEDGE=@{UB} The Y coordinate of the main window. @{B}ICONX=@{UB} The X coordinate for the iconfication image on the workbench. "-1" means the workbench should pick a position. @{B}ICONY=@{UB} The Y coordinate for the iconification image, "-1" is the default. @{B}ICONIFIED@{UB} If this tooltype is found and "CX_POPUP" is set to "yes", the IoTools will pop up as an icon instead of presenting its main window. @{B}CX_POPUP=@{UB} If this tootype is set to "NO", the main window will not pop up when the IoTools are started for the first time. If set to "YES", the IoTools will open its window as soon as they are started. @{B}CX_PRIORITY=@{UB} The priority of the "commodities" handler of the IoTools, used to extract the hotkey from your input. Must be in the range -128 to 127, but should remain zero for almost all purposes. @{B}CX_POPKEY=@{UB} The keyboard sequence used to pop-up the main window on demand. @{B}DEVICE=@{UB} The name of the device driver the IoTools should scan for Iomega drives. More than one drive may be given here if the device names are separated by a vertical bar "|", i.e. "DEVICE=scsi.device|omniscsi.device". As an exception, you may also put the name of the volume or the name of the DOS handler here if you terminate it by a colon, i.e. "DEVICE=ZIP:" would work, too. In this case, @{B}UNIT@{UB}, @{B}FLAGS@{UB} and @{B}BUFMEMTYPE@{UB} need not to be specified. @{B}UNIT=@{UB} This tooltype is only used by the @{"command tooltypes" link CommTools} and specifies a unit number for the device driver to operate on. This unit number is typically identically to the SCSI ID of the Iomega drive. @{B}FLAGS=@{UB} Again, only used by the @{"command tooltypes" link CommTools}, specifying the flags for opening the device. Typically, these should be zero. @{B}BUFMEMTYPE=@{UB} The type of memory the IoTools should allocate for the buffers for communication with the drive. A well-designed device driver must accept "0x01" here (MEMF_PUBLIC), not so-well drivers might work with "0x201" (MEMF_24BITDMA), really wierd systems might even require "0x03" (MEMF_CHIP). Usually, the Iomega tools will be able to work out this parameter themselves. @ENDNODE @NODE CommTools "Command ToolTypes" @TOC Args The following additional tooltypes can be inserted in the icon. If they are present, the IoTools will not run their graphical user interface but will launch the corresponding action immediately. For most of these commands, the @{B}DEVICE@{UB}, @{B}UNIT@{UB}, @{B}FLAGS@{UB} and @{B}BUFMEMTYPE@{UB} @{"tooltypes" link ToolTypes} must be setup correctly. @{B}START@{UB} Run a spinup of the corresponding drive, i.e. starts the drive if the drive sleep stopped it. Some host adapters will not start the Iomega disks automatically, unfortunately, and require a "kick" to wake them up. @{B}SPINDOWN=@{UB} Sets the spindown for the drive explicitly. @{B}VERIFY=@{UB} Disables or enables the verification process for the drive. @{B}PASSWORD=@{UB} Required if you want to lock or unlock disks by a press of a button, and the operation requires a password. @{B}NOTE THAT IT IS REALLY NOT VERY SAFE TO UNLOCK DISKS BY PASSWORDS EVERYBODY IS ABLE TO READ.@{UB} @{B}TEMPUNPROTECT@{UB} Removes a protection temporarely. If the disk is password protected, the @{B}PASSWORD@{UB} tooltype must be present as well and must provide a password. @{B}UNPROTECT@{UB} Removes a protection permanently. Might require the @{B}PASSWORD@{UB} tooltype as well if the disk was locked with a password. @{B}WPROTECT@{UB} Write-protects the disk in the selected drive. If the @{B}PASSWORD@{UB} tooltype is present, the specified password will be used to lock the drive. @{B}RWPROTECT@{UB} Read and write protects the disk. This requires the @{B}PASSWORD@{UB} tooltype. @{B}IOEXTEND=@{UB} Enables or disables one specific bit in the drive internals I've no other name for and I do not know what it does. )-: This is for JAZ only. @{B}EJECT@{UB} Ejects a loaded disk of the selected drive. Use an IoTools icon, choose "Leave Out" from the workbench icon menu, and you eject disks by a click of a button. An alternative approach would be to use the "BenchTrash" program of the same author to eject disks by dragging their icon onto the trashcan, using a proper configuration of "BenchTrash". @ENDNODE @NODE ShellArgs "Command line arguments" @TOC Args The following list presents all available shell command line options if you run the IoTools from the shell. The IoTools will, however, still scan the @{"configuration tooltypes" link ToolTypes} first, but the shell arguments may override these defaults. If no shell command arguments have been given, the IoTools will pop up the user interface. Here's the command template: @{CODE} IoTools HANDLER=DEVICE,UNIT/K/N,FLAGS/K/N,BUFMEMTYPE/K/N,SPINDOWN/K/N, PRINTSPINDOWN/S,DISKID/S,DISKSTATUS/S,DRIVEID/S,PRINTPROTECT/S, EJECT/S,START/S, VERIFY/K,SELFTEST/S, PASSWORD/K,WPROTECT/S,RWPROTECT/S,UNPROTECT/S,TEMPUNPROTECT/S, IOEXTEND/K, EJECTDELAY/K/N,STARTDELAY/K/N,FLUSHDELAY/K/N,INHIBITDELAY/K/N, QUIET/S @{BODY} @{B}HANDLER=DEVICE=@{UB} Used to specify either the name of an AmigaOs device driver the Iomega drive is connected to (i.e. "scsi.device") or, alternatively, the name of the DOS handler (i.e. "ZIP:"). Both options are legal. @{B}UNIT=@{UB} If the above option specified a device name, this option must be used to specify a unit number. This is typically the SCSI ID of the Iomega device. @{B}FLAGS=@{UB} The flags value for opening the device driver. This should be left zero for almost all devices. @{B}BUFMEMTYPE=@{UB} The type of memory the IoTools should allocate for the buffers for communication with the drive. A well-designed device driver must accept "0x01" here (MEMF_PUBLIC), not so-well drivers might work with "0x201" (MEMF_24BITDMA), really wierd systems might even require "0x03" (MEMF_CHIP). Usually, the Iomega tools will be able to work out this parameter themselves. @{B}SPINDOWN=@{UB} Sets the spindown delay for the selected drive, given in minutes. @{B}PRINTSPINDOWN@{UB} Reads the current spindown value from the drive and prints it. @{B}DISKID@{UB} Prints the serial number of the inserted disk, the type of the disk as well as a vendor specific code. @{B}DISKSTATUS@{UB} Prints the format life time and the disk life time of the currently inserted disk. @{B}DRIVEID@{UB} Prints the hardware vendor of the drive - which is always Iomega - , the drive type, the firmware ROM version and the production date of the firmware. @{B}PRINTPROTECT@{UB} Prints the protection state of the currently inserted disk. @{B}EJECT@{UB} Ejects the inserted disk. @{B}START@{UB} Runs the spinup and re-starts the drive if the drive is asleep. Some SCSI controllers require this step, unfortunately, to wake up a drive explicitly. @{B}VERIFY=@{UB} Enables or disables the write verification process for the selected drive. @{B}SELFTEST@{UB} Runs the diagnostics on the selected drive. @{B}PASSWORD=@{UB} Provides a password for the following locking or unlocking operations. @{B}WPROTECT@{UB} Write protects the inserted disk. If the @{B}PASSWORD@{UB} argument is given, the provided password will be used to lock the disk. @{B}RWPROTECT@{UB} Read- and writeprotect the inserted disk. A password must be given by the @{B}PASSWORD@{UB} option, which is then required to unlock the disk again. @{B}UNPROTECT@{UB} Unlocks a formerly write or read/write protected disk. This might require an optional password, to be specified with @{B}PASSWORD@{UB}. @{B}TEMPUNPROTECT@{UB} Removes the protection from the inserted disk temorarely until the disk is ejected again. This option might require a password. @{B}IOEXTEND=@{UB} Disables or enables a specific bit in the Iomega internal settings I've no idea about what it means. *Sigh* @{B}EJECTDELAY=@{UB} Sets the ejection delay in 50th of a second. @{B}STARTDELAY=@{UB} Sets the spinup delay in 50th of a second. @{B}FLUSHDELAY=@{UB} Selects the filing system buffer flush delay in 50th of a second. @{B}INHIBITDELAY=@{UB} Selects the filing system inhibit delay in 50th of a second. @{B}QUIET@{UB} If given, disables the printing of all messages except error messages. Useful for batch processing. @ENDNODE @NODE Rexx "The ARexx interface" The IoTools can be remote-controlled by the ARexx programming language which is part of the operating system. To send a command to the IoTools, you first need to setup the "Rexx Host" address in your Rexx script. This is done by the following command: @{CODE} /* A simple Rexx script */ ADDRESS IOTOOL.1 @{BODY} "IOTOOL.1" is the name of the "Rexx Host port" of the IoTools program. Now, the following commands can be used in your Rexx script: @{CODE} @{"HELP" link RX_HELP} @{"QUIT" link RX_QUIT} @{"FAULT" link RX_FAULT} @{"MOVEWINDOW" link RX_MOVEWINDOW} @{"WINDOWTOFRONT" link RX_WINDOWTOFRONT} @{"WINDOWTOBACK" link RX_WINDOWTOBACK} @{"LOCKGUI" link RX_LOCKGUI} @{"UNLOCKGUI" link RX_UNLOCKGUI} @{"OFFVERIFY" link RX_OFFVERIFY} @{"ONVERIFY" link RX_ONVERIFY} @{"CLOSEWINDOW" link RX_CLOSEWINDOW} @{"ACTIVATEWINDOW" link RX_ACTIVATEWINDOW} @{"GETATTR" link RX_GETATTR} @{"SETATTR" link RX_SETATTR} @{"ACTIVATE" link RX_ACTIVATE} @{"DEACTIVATE" link RX_DEACTIVATE} @{"ICONIFY" link RX_ICONIFY} @{"SELECT" link RX_SELECT} @{"PROTECT" link RX_PROTECT} @{"EJECT" link RX_EJECT} @{"START" link RX_START} @{"PARK" link RX_PARK} @{"FORMAT" link RX_FORMAT} @{"DIAGNOSIS" link RX_DIAGNOSIS} @{"NOP" link RX_NOP} @{BODY} Please pick a command from the list above for more details. @ENDNODE @NODE WindowNames "Rexx Interface: IoTools Window Names" @TOC Rexx Each IoTools window has a unique name which identifies it. These names are used as "handles" to operate on the IoTools windows, i.e. to move them around, to activate or to de-activate them. The following windows are currently available: SELECTION The @{"main window" link Usage} with the drive selector. PROTECTION The @{"Lock or Unlock" link Gad_LockUnlock} window for password control. FORMATTING The @{"Format Disk" link Gad_Format} window for disk initialization. DRIVESTATUS The @{"Drive Information" link Gad_DriveInfo} window showing the vendor etc.. DISKSTATUS The @{"Disk Information" link Gad_DiskInfo} window showing the disk life etc... DRIVESETTINGS The @{"Drive Settings" link Gad_DriveSettings} window setting spindown and verify. CONFIGURATION The @{"Configuration" link Menu_EditConfig} window for program setup. @ENDNODE @NODE Objects "Rexx Interface: IoTools Objects" @TOC Rexx The IoTools program knows three object classes, "DISK", "DRIVE" and "PROGRAM". "PROGRAM" objects encode the program settings specific to the IoTools program. The @{"GETATTR" link RX_GETATTR} can be used to read these objects and hence the program configuration. @{"SETATTR" link RX_SETATTR} allows to adjust the program configuration from ARexx. "DRIVE" objects drive specific settings like the spindown timing and the verify selection. "DRIVE" objects access always the last drive specified by the @{"SELECT" link RX_SELECT} command, or - if no SELECT command has been given - the first available drive; the current state of the user interface drive selector is irrelevant for the ARexx interface. Use @{"GETATTR" link RX_GETATTR} to read settings from the drive, and @{"SETATTR" link RX_SETATTR} to adjust them. "DISK" objects relate to the currently inserted medium in the drive selected by the last @{"SELECT" link RX_SELECT} command. If no disk is loaded, reading and setting disk objects will fail. @{"PROGRAM objects" link Obj_Program} @{"DRIVE objects" link Obj_Drive} @{"DISK objects" link Obj_Disk} @ENDNODE @NODE Obj_Program "Rexx Interface: PROGRAM objects" @TOC Objects PROGRAM objects: (See also: @{"Configuration" link Menu_EditConfig}) @{B}PROGRAM.DEVICE@{UB} The default SCSI device the IoTools use. Note that this is NOT the name of the device of the currently selected drive. You'll find this information in DRIVE.DEVICE instead. @{B}PROGRAM.UNIT@{UB} The default device UNIT for the IoTools. This is usually identical to the SCSI id. @{B}PROGRAM.FLAGS@{UB} The default flags for opening the device. Typically zero and usually not required to be specified. @{B}PROGRAM.BUFMEMTYPE@{UB} The default buffer memory type for SCSI I/O. @{B}PROGRAM.WARN@{UB} TRUE if warning requesters are enabled, FALSE otherwise. @{B}PROGRAM.ERROR@{UB} TRUE if error requesters are enabled, FALSE otherwise. @{B}PROGRAM.PUBSCREEN@{UB} The name of the public screen the IoTools should open its windows on. @{B}PROGRAM.EJECTDELAY@{UB} The ejection delay in 50th of a second. @{B}PROGRAM.STARTUPDELAY@{UB} The drive startup delay in 50th of a second. @{B}PROGRAM.FLUSHDELAY@{UB} The filing system buffer flush delay in 50th of a second. @{B}PROGRAM.INHIBITDELAY@{UB} The filing system inhibit delay in 50th of a second. @{B}PROGRAM.FIRSTID@{UB} The first SCSI Id to be scanned. @{B}PROGRAM.LASTID@{UB} The last SCSI Id to be scanned. @{B}PROGRAM.FIRSTBOARD@{UB} The first board number (hundredth digit of the unit) to be scanned. @{B}PROGRAM.LASTBOARD@{UB} The last board number (hundredth digit of the unit) to be scanned. @{B}PROGRAM.LEFTEDGE@{UB} The X coordinate of the main selection window on startup, "-1" is the default. @{B}PROGRAM.TOPEDGE@{UB} The Y coordinate of the main selection window on startup, "-1" is the default. @{B}PROGRAM.ICONX@{UB} The X coordinate of the iconification image on the workbench, "-1" means the workbench shall pick the position. @{B}PROGRAM.ICONY@{UB} The Y coordinate of the iconification image, "-1" is default. @{B}PROGRAM.CX_POPUP@{UB} If TRUE, the program pops up on startup, or shows its iconification icon. If FALSE, the program startup is quite. @{B}PROGRAM.ICONIFIED@{UB} If TRUE, the program shows its iconification image on startup instead of the selection window. @{B}PROGRAM.CX_PRI@{UB} The priority of the commodities exchange handler. @{B}PROGRAM.CX_POPKEY@{UB} A keyboard shortcut sequence specifying the hot key. @ENDNODE @NODE Obj_Drive "Rexx Interface: DRIVE objects" @TOC Objects DRIVE objects: (They are "read only" unless specified otherwise.) @{B}DRIVE.DEVICE@{UB} The name of the device driver for the selected drive. @{B}DRIVE.UNIT@{UB} The name of the device unit (usually the SCSI id) for the selected drive. @{B}DRIVE.FLAGS@{UB} The OpenDevice()-flags for the currently selected drive. This is typically zero. @{B}DRIVE.BUFMEMTYPE@{UB} The type of the buffer memory for the currently selected drive. @{B}DRIVE.DEVICEVERSION@{UB} The version number of the device driver. @{B}DRIVE.DEVICEREVISION@{UB} The version number of the device driver. @{B}DRIVE.VENDOR@{UB} The hardware vendor of the drive. This is "IOMEGA". @{B}DRIVE.TYPE@{UB} The drive type, e.g. "ZIP 100". @{B}DRIVE.VERSION@{UB} The firmware version information for the drive. @{B}DRIVE.DATE@{UB} The production date of the drive firmware. @{B}DRIVE.SPINDOWN@{UB} The drive spindow in minutes. This object can be set, too. @{B}DRIVE.VERIFY@{UB} The drive verify setting, either TRUE or FALSE. This object can be set, too. @ENDNODE @NODE Obj_Disk "Rexx Interface: DISK objects" @TOC Objects DISK objects: (They are all "read only".) @{B}DISK.SERIAL@{UB}: The serial number of the disk in the currently selected drive. @{B}DISK.TYPE@{UB}: The disk type, i.e. "ZIP 100". @{B}DISK.VENDOR@{UB}: The vendor code of the disk. @{B}DISK.DOSTYPE@{UB}: The filing system type of the currently inserted disk (more specific, of one of the partitions of the currently inserted disk). @{B}DISK.DISKLIFE@{UB}: The remaining disk life in percent. @{B}DISK.FORMATLIFE@{UB}: The format life remaining, again in percent. @{B}DISK.CAPACITY@{UB}: The disk capacity in blocks. One block is 512 bytes. @{B}DISK.USAGE@{UB}: The disk usage in percent. @{B}DISK.PROTECTION@{UB}: The disk protection status. @ENDNODE @NODE RX_HELP "Rexx Command: HELP" @TOC Rexx Command Template: HELP COMMAND,PROMPT/S,TO,STEM Purpose: Obtain help about the Rexx interface Description: The HELP command is used to obtain information about the Rexx interface and Rexx commands. It can be used to present the interactive help system, namely this guide, or to return a short help text about the rexx commands. @{B}PROMPT/S@{UB}: Launches the AmigaGuide showing this guide file. @{B}COMMAND@{UB}: Specifies the command to obtain more detailed information about. If not given, the list of all commands is returned as string. @{B}TO@{UB}: Specifies a REXX variable to be loaded with the help text. If no variable has been specified, the string will be placed in the Rexx "RESULT" variable. Remember you need to set "OPTIONS RESULTS" to make use of it. The result string consists of the command name, a blank, the command template, a blank and the help string. If COMMAND hasn't been specified, the variable or RESULT will be set to be the list of all commands, separated by blanks. @{B}STEM@{UB}: Specifies a REXX STEM variable to place the result in. This variable is only used if the COMMAND option has been specified. stem.COMMAND is set to the command string, stem.ARGS is set to the argument template, and stem.HELP is set to the help string. @ENDNODE @NODE RX_QUIT "Rexx Command: QUIT" @TOC Rexx Command Template: QUIT Purpose: Quits the IoTools Description: Aborts the IoTools completely and removes the program from memory. @ENDNODE @NODE RX_FAULT "Rexx Command: FAULT" @TOC Rexx Command Template: FAULT CODE/N/A,TO Purpose: Obtain the error code Description: Returns a localized description of the error code passed in. @{B}CODE/N/A@{UB}: The error code whose description should be returned. @{B}TO@{UB}: The name of a Rexx variable to place the description in. Defaults to the Rexx "RESULT" variable. @ENDNODE @NODE RX_MOVEWINDOW "Rexx Command: MOVEWINDOW" @TOC Rexx Command Template: MOVEWINDOW WINDOW/A,LEFTEDGE/N,TOPEDGE/N Purpose: Move a window to a specified position Description: Searches for a window of the @{"specified name" link WindowNames} and places it at the specified location. @{B}WINDOW/A@{UB}: The name of the window to move. The @{"window name" link WindowNames} is a unique string the IoTools assigns to each of its windows. You cannot move windows which haven't been opened by the IoTools program, though. @{B}LEFEDGE/N@{UB}: The X coordinate where to move the window to. If unspecified, the X coordinate is left unchanged. @{B}TOPEDGE/N@{UB}: The Y coordinate to move the window to. As above, the window will not be moved vertically if this is left open. @ENDNODE @NODE RX_WINDOWTOFRONT "Rexx Command: WINDOWTOFRONT" @TOC Rexx Command Template: WINDOWTOFRONT WINDOW/A Purpose: Move a window to foreground Description: Searches for a window of the @{"specified name" link WindowNames} and places it on top of all other windows on the same screen. @{B}WINDOW/A@{UB}: The name of the window to place in foreground. The @{"window name" link WindowNames} is a unique string the IoTools assigns to each of its windows. @ENDNODE @NODE RX_WINDOWTOBACK "Rexx Command: WINDOWTOBACK" @TOC Rexx Command Template: WINDOWTOBACK WINDOW/A Purpose: Move a window into background Description: Searches for a window of the @{"specified name" link WindowNames} and places it below all other windows on the same screen. @{B}WINDOW/A@{UB}: The name of the window to place in background. The @{"window name" link WindowNames} is a unique string the IoTools assigns to each of its windows. @ENDNODE @NODE RX_LOCKGUI "Rexx Command: LOCKGUI" @TOC Rexx Command Template: LOCKGUI Purpose: Block the user interface Description: Locks the user interface of the IoTools from any user interaction. Namely, all gadgets and menus won't react anymore. This is useful if you want to avoid interactions of your ARexx script with user input. LOCKGUI and the corresponding @{"UNLOCKGUI" link RX_UNLOCKGUI} "nest". This means that each "LOCKGUI" must be matched by one and exactly one UNLOCKGUI. @ENDNODE @NODE RX_UNLOCKGUI "Rexx Command: UNLOCKGUI" @TOC Rexx Command Template: UNLOCKGUI FORCE/S Purpose: Release the user interface Description: Releases the lock from the user interface set by @{"LOCKGUI" link RX_LOCKGUI}. If the user interface is unlocked, the GUI will react again. @{"LOCKGUI" link RX_LOCKGUI} and UNLOCKGUI "nest". This means each "LOCKGUI" must be matched by one and exactly one "UNLOCKGUI". @{B}FORCE/S@{UB}: Ignores the nest counter and unlocks the GUI for sure. This option should not be used except for debugging purposes because it breaks the "nesting" order. @ENDNODE @NODE RX_OFFVERIFY "Rexx Command: OFFVERIFY" @TOC Rexx Command Template: OFFVERIFY WARN/S,ERROR/S,INFO/S Purpose: Disable user notification requesters Description: OFFVERIFY disables a specified class of requesters to allow "batch processing" if required. Each requester class - warning, error or information requesters - can be disabled separately. Calls to OFFVERIFY "nest". This means that each OFFVERIFY must be matched by one and exactly one @{"ONVERIFY" link RX_ONVERIFY} for the same requester class. This command is useful for automatic and completely transparent processing of scripts without any user interaction. @{"LOCKGUI" link RX_LOCKGUI} should be used as additional command to lock the user interface, too. @{B}WARN/S@{UB}: Disables warning requesters. @{B}ERROR/S@{UB}: Disables error requesters. @{B}INFO/S@{UB}: Disables information requesters. @ENDNODE @NODE RX_ONVERIFY "Rexx Command: ONVERIFY" @TOC Rexx Command Template: ONVERIFY WARN/S,ERROR/S,INFO/S,FORCE/S Purpose: Enable user notification requesters Description: ONVERIFY re-enables requester classes that have been disabled by @{"OFFVERIFY" link RX_OFFVERIFY} before. "ONVERIFY" nest, this means each @{"OFFVERIFY" link RX_OFFVERIFY} must be matched by one and exactly one ONVERIFY of the same requester class. @{B}WARN/S@{UB}: Re-enables warning requesters. @{B}ERROR/S@{UB}: Re-enables error requesters. @{B}INFO/S@{UB}: Re-enables information requesters. @{B}FORCE/S@{UB}: Resets the nest counter for the specified requester class and enables the requesters for sure. This option should not be used except for debugging purposes because it breaks the "nesting" order. @ENDNODE @NODE RX_CLOSEWINDOW "Rexx Command: CLOSEWINDOW" @TOC Rexx Command Template: CLOSEWINDOW WINDOW/A Purpose: Close a window Description: Searches for a window of the @{"specified name" link WindowNames} and closes it. In case the "SELECTION" window is closed, all other windows are closed as well and the user interface is de-activated. @{B}WINDOW/A@{UB}: The name of the window to close. The @{"window name" link WindowNames} is a unique string the IoTools assigns to each of its windows. You cannot close windows which haven't been opened by the IoTools program, though. @ENDNODE @NODE RX_ACTIVATEWINDOW "Rexx Command: ACTIVATEWINDOW" @TOC Rexx Command Template: ACTIVATEWINDOW WINDOW/A Purpose: Activate the specified window Description: Searches for a window of the @{"specified name" link WindowNames} and activates it, as if the user has selected it with the mouse. @{B}WINDOW/A@{UB}: The name of the window to activate. The @{"window name" link WindowNames} is a unique string the IoTools assigns to each of its windows. You cannot activate windows which haven't been opened by the IoTools program, though. @ENDNODE @NODE RX_GETATTR "Rexx Command: GETATTR" @TOC Rexx Command Template: GETATTR OBJECT/A,TO,STEM Purpose: Retrieve informations about the program, disks and drives Description: GETATTR reads data from the specified object and places it in the Rexx variable specified by "TO", or the Rexx "RESULT" variable if no variable has been given. If used with the "STEM" option, "GETATTR" will read all data from a full object class and not only a full object, and will fill the results into the stem variable extended by the object names. For example, "GETATTR DRIVE.VERIFY" will read the verify setting of the currently selected "Rexx" device, "GETATTR VERIFY STEM mydrive" will fill in the verify setting to "MYDRIVE.VERIFY" and the spindown setting to "MYDRIVE.SPINDOWN". @{B}OBJECT/A@{UB}: The @{"object or object class" link Objects} to read attributes from. See also: @{"Available objects" link Objects}. @{B}TO@{UB}: A variable to be filled with the read attributes of a single object. If no variable has been given, "RESULT" will be used. @{B}STEM@{UB}: If a complete object class should be read, this specifies a stem variable to fill in all attributes. The extension of the stem variable are the names of the objects of the given object class. @ENDNODE @NODE RX_SETATTR "Rexx Command: SETATTR" @TOC Rexx Command Template: SETATTR OBJECT/A,VALUE/A Purpose: Define settings of the program, disks and drives Description: SETATTR loads the given value into the specified object, either to define the program definition or to adjust the drive settings. The entity to be set is passed as an @{"object name" link Objects}. @{B}OBJECT/A@{UB}: The name of an @{"object" link Objects} whose attributes are to be set. Object classes are not valid here. @{B}VALUE/A@{UB}: The value the object is to be set to. @ENDNODE @NODE RX_ACTIVATE "Rexx Command: ACTIVATE" @TOC Rexx Command Template: ACTIVATE Purpose: Open and activate the user interface Description: Opens the user interface as if the hot key has been pressed. This effectively opens the selection window if it isn't already open. @ENDNODE @NODE RX_DEACTIVATE "Rexx Command: DEACTIVATE" @TOC Rexx Command Template: DEACTIVATE Purpose: Close and deactivate the user interface Description: Closes the user interface, identical to the @{"Hide" link Menu_Hide} menu item in the project menu. This does not abort the program, it remains active in the background and can be re-activated by the hot key any time. @ENDNODE @NODE RX_ICONIFY "Rexx Command: ICONIFY" @TOC Rexx Command Template: ICONIFY Purpose: Iconify the user interface Description: Closes the user interface, and presents the iconification image on the workbench as if the @{"iconify icon" link Menu_Iconify} has been pressed. This is also identical to the @{"Iconify" link Menu_Iconify} menu item in the project menu. @ENDNODE @NODE RX_SELECT "Rexx Command: SELECT" @TOC Rexx Command Template: SELECT FROM,TOP/S,BOTTOM/S,NEXT/S,PREVIOUS/S, DEVICE=HANDLER/K,UNIT/K/N Purpose: Select a drive to operate on Description: This command is used to specify a drive - and hence a disk - all further ARexx commands will operate on. The drive the user picked in the selection gadget in the main window is irrelevant for the ARexx interface, and unrelated to this command. Specifically, this will select the drive for the @{"DRIVE objects" link Obj_Drive}. @{B}FROM@{UB}: Specifies a source where the drive list shall be taken from. This can be either "DOS" or "SCSI". In the first case, the IoTools will scan the list of mounted devices for Iomega drives. This is relatively fast and safe, but the resulting list will not contain drives which haven't been mounted. "SCSI" scans the SCSI bus of the default device, namely the device(s) in @{"PROGRAM.DEVICE" link Obj_Program}. This might take longer, but will also find drives which haven't been mounted. @{B}TOP/S@{UB}: Picks the device from the top of the list of all found devices. @{B}BOTTOM/S@{UB}: Picks the bottommost drive of the list of found devices. @{B}NEXT/S@{UB}: Advances the position in the list by one, namely picks the next available drive. @{B}PREVIOUS/S@{UB}: Picks the previous available drive on the list of available drives. @{B}DEVICE=HANDLER/K@{UB}: Checks explicitly for the given handler name or device name, if the hardware handled by this handler or device is Iomega hardware. If so, this drive gets selected. This option may either specify a handler, namely if the argument is terminated by a colon ":", or an exec device if the argument ends by "device". In the latter case, the "UNIT" option must be given, too, to provide a unit number. For example, "DEVICE=ZIP:" will scan for the drive handled by the ZIP: device. "DEVICE=scsi.device UNIT=6" will check the unit 6 connected to the scsi.device. @{B}UNIT/K/N@{UB}: If the argument to "DEVICE=HANDLER" is the name of an exec device driver, i.e. ends by "device", this argument is required to specify a unit number. It is usually identical to the SCSI id. @ENDNODE @NODE RX_PROTECT "Rexx Command: PROTECT" @TOC Rexx Command Template: PROTECT TEMPUNPROTECT/S,UNPROTECT/S,WPROTECT/S,RWPROTECT/S,PASSWORD Purpose: Change the protection status of the selected disk Description: Sets the protection of the disk inserted in the drive specified by the last @{"SELECT" link RX_SELECT} command, i.e. sets or releases the read/write or write protection and more. @{B}TEMPUNPROTECT/S@{UB}: Removes the protection until the disk is ejected. This might require the additional "PASSWORD" option if the disk has been locked with a password. @{B}UNPROTECT/S@{UB}: Removes the protection completely. This might require a password, to be specified with the "PASSWORD" option. @{B}WPROTECT/S@{UB}: Write protects the disk. A password is optional; but if a password is specified, the same password is required to unlock the disk again. @{B}RWPROTECT/S@{UB}: Read and write protects the disk in the selected drive. A password is mandatory. @{B}PASSWORD@{UB}: An optional or mandatory password for the operation. Due to the way how ARexx works, you ABSOLUTELY MUST enclose this password in quotes or ARexx will change all letters to upper print. @ENDNODE @NODE RX_EJECT "Rexx Command: EJECT" @TOC Rexx Command Template: EJECT Purpose: Eject the selected disk Description: Ejects the disk in the drive picked by the last @{"SELECT" link RX_SELECT} command. @ENDNODE @NODE RX_START "Rexx Command: START" @TOC Rexx Command Template: START Purpose: Start the selected disk Description: This command restart a previously - manually or automatically - parked drive picked by the last @{"SELECT" link RX_SELECT} command and makes it available to the system again. @ENDNODE @NODE RX_PARK "Rexx Command: PARK" @TOC Rexx Command Template: PARK Purpose: Park the selected disk Description: Parks the drive picked by the last @{"SELECT" link RX_SELECT} command. The drive will be no longer available to the system afterwards, you've to restart it with the @{"START" link RX_START} command. @ENDNODE @NODE RX_FORMAT "Rexx Command: FORMAT" @TOC Rexx Command Template: FORMAT NAME/A,DOSTYPE,NOICONS/S,QUICK/S,NOVERIFY/S,FORCE/S Purpose: Format the selected drive Description: Formats the disk in the drive picked by the last @{"SELECT" link RX_SELECT} command. @{B}NAME/A@{UB}: The new name of the disk to be formatted. @{B}DOSTYPE@{UB}: The filing system type that should be put on the disk. This is either a three letter code followed by a number, e.g. "DOS0x03" for the international type of the fast filing system, or one of the following: @{CODE} FFS : The (non-international) fast filing system OFS : The (non-international) old filing system. FFS INTL : The international fast filing system. OFS INTL : The international old filing system. FFS DIRCACHE : The (international) fast filing system with directory cache. OFS DIRCACHE : The (international) dir-cached old filing system. MS-Dos : MSDOS : MS-Dos MSH : MS-Dos MSD : The MS-Dos FAT filing system. MAC : Mac HFS : The Mac HFS filing system. @{BODY} The IoTools require, though, a handler that is able to read and handle these formats. You won't be able to format a ZIP with the MS-Dos filing system if no MS-Dos handler has been mounted on the drive. @{B}NOICONS/A@{UB}: Do not create a trashcan. @{B}QUICK/S@{UB}: Just re-initialize the filing systems, but do not re-format all sectors of the disk. @{B}NOVERIFY/S@{UB}: Disables the verification process for the long (non-QUICK) formatting. @{B}FORCE/S@{UB}: Skip the "Are you sure?" requester and start formatting immediately. @ENDNODE @NODE RX_DIAGNOSIS "Rexx Command: DIAGNOSIS" @TOC Rexx Command Template: DIAGNOSIS Purpose: Run a diagnosis on the selected drive Description: This runs the drive specific self-test on the drive picked by the last @{"SELECT" link RX_SELECT} command. It will return an error code in case the self-diagnosis failed. @ENDNODE @NODE RX_NOP "Rexx Command: NOP" @TOC Rexx Command Template: NOP Purpose: Do nothing Description: This is a dummy command which does nothing at all. @ENDNODE @NODE Credits "People I'd like to thank" Georges Heinesch: For running many tests on his JAZ drive and providing a lot of debug printouts which made JAZ support possible. Werner Müller: For running all JAZ tests over and over again and for all the feedback that kept the project alive. Finally, thanks for the second A2K with a working motherboard. @ENDNODE @NODE History "Program history" Pre 45.xx releases: - Everything's currently in beta state. "Beta than nothing". IoTools 45.1: - This is the first release of IoTools. IoTools 45.2: - IoTools was said to hang on insertion of non-mountable disks for CyberSCSI and related devices. Cannot reproduce it here on the GVP. My guess is that this is related to Ralph's brave ideas concerning the mounting of handlers by his device. I'm now trying to work around this as best as possible. -IoTools uses now a separate string in case an incompatible medium was found on formatting. - Note that due to the change above the catalog grew and one new string has to be translated. Sorry to the translators... IoTools 45.3: - Filing sytstem format tend to fail with "no disk inserted" after a low level format on some devices. I try now to work around this by a longer wait period and by trying the high level format several times. This should hopefully fix this. (This is an old problem, see also above.) - IoTools ghost now the format and cancel buttons on a format. Note that you cannot stop a running SCSI low-level format, so there is no possibility to add a "Cancel" or "Abort" button, sorry. - IoTools selects now "FFS Intl" as default filing system in case the disk is not yet formatted. - Fixed the incorrect version string. - IoTools does currently not support ATAPI/IDE ZIPs and JAZs. This has little to do with my lazyness, its more due to the lack of a system standard how to issue vendor specific commands over an IDE interface, hence I'm "out" here, I afraid. IoTools try now harder to detect such a device and to avoid offering to send commands to such a beast. Send me documentation how to program IDE interfaces and I reconsider. IoTools 45.4: - The minutes display for the drive spindown is now localizable. IoTools 45.5: - Fixed two typos in the localization. IoTools 45.6: - Added an additional safety layer around the DOS device scanning including the "bad device list". Removed the "trackdisk.device" from this list since some third party hardware I do not remember mounts the ZIP or JAZ as trackdisk.device unit 4. IoTools 45.7: - The SCSI "disk valid" check came too early for some devices causing a "disk ready" even if the cartridge has been ejected just a second before. Added an "EjectDelay" around the device inquiry as workaround. @ENDNODE @NODE INDEX "Index" @{CODE} A... @{"The ARexx interface" link REXX} @{"Rexx Command: ACTIVATE" link RX_ACTIVATE} @{"Rexx Command: ACTIVATEWINDOW" link RX_ACTIVATEWINDOW} @{"Command line arguments" link SHELLARGS} C... @{"Rexx Command: CLOSEWINDOW" link RX_CLOSEWINDOW} @{"Command line arguments" link SHELLARGS} @{"Command Line Options and ToolTypes" link ARGS} @{"Command ToolTypes" link COMMTOOLS} @{"Configuration ToolTypes" link TOOLTYPES} @{"Credits: People I'd like to thank" link CREDITS} D... @{"Rexx Command: DEACTIVATE" link RX_DEACTIVATE} @{"Rexx Command: DIAGNOSIS" link RX_DIAGNOSIS} @{"Disk Information" link GAD_DISKINFO} @{"Disk Life and Bad Sectors" link BADSECTORS} @{"Rexx Interface: DISK objects" link OBJ_DISK} @{"Drive Information" link GAD_DRIVEINFO} @{"Rexx Interface: DRIVE objects" link OBJ_DRIVE} @{"Drive Settings" link GAD_DRIVESETTINGS} E... @{"Menu Item: Edit Program Settings" link MENU_EDITCONFIG} @{"Rexx Command: EJECT" link RX_EJECT} @{"Eject Media" link GAD_EJECT} F... @{"Rexx Command: FAULT" link RX_FAULT} @{"Rexx Command: FORMAT" link RX_FORMAT} @{"Format Disk" link GAD_FORMAT} G... @{"Rexx Command: GETATTR" link RX_GETATTR} H... @{"Help" link GAD_HELP} @{"Rexx Command: HELP" link RX_HELP} @{"Menu Item: Hide" link MENU_HIDE} I... @{"Rexx Command: ICONIFY" link RX_ICONIFY} @{"Menu Item: Iconify" link MENU_ICONIFY} @{"Installation of the IoTools" link INSTALL} L... @{"Rexx Command: LOCKGUI" link RX_LOCKGUI} @{"Lock or Unlock" link GAD_LOCKUNLOCK} M... @{"Menu Item: Edit Program Settings" link MENU_EDITCONFIG} @{"Menu Item: Hide" link MENU_HIDE} @{"Menu Item: Iconify" link MENU_ICONIFY} @{"Menu Item: Quit" link MENU_QUIT} @{"Menu Item: Reload Drive Prefs" link MENU_RELOAD} @{"Menu Item: Scan DOS Devices" link MENU_SCANDOS} @{"Menu Item: Scan SCSI Devices" link MENU_SCANSCSI} @{"Rexx Command: MOVEWINDOW" link RX_MOVEWINDOW} N... @{"Rexx Command: NOP" link RX_NOP} O... @{"Rexx Interface: DISK objects" link OBJ_DISK} @{"Rexx Interface: DRIVE objects" link OBJ_DRIVE} @{"Rexx Interface: IoTools Objects" link OBJECTS} @{"Rexx Command: OFFVERIFY" link RX_OFFVERIFY} @{"Rexx Command: ONVERIFY" link RX_ONVERIFY} @{"Command Line Options and ToolTypes" link ARGS} @{"Overview" link OVERVIEW} P... @{"Rexx Command: PARK" link RX_PARK} @{"Park Drive" link GAD_PARKDRIVE} @{"People I'd like to thank" link CREDITS} @{"Program history" link HISTORY} @{"Rexx Interface: PROGRAM objects" link OBJ_PROGRAM} @{"Rexx Command: PROTECT" link RX_PROTECT} Q... @{"Menu Item: Quit" link MENU_QUIT} @{"Rexx Command: QUIT" link RX_QUIT} R... @{"Menu Item: Reload Drive Prefs" link MENU_RELOAD} @{"Rexx Command: ACTIVATE" link RX_ACTIVATE} @{"Rexx Command: ACTIVATEWINDOW" link RX_ACTIVATEWINDOW} @{"Rexx Command: CLOSEWINDOW" link RX_CLOSEWINDOW} @{"Rexx Command: DEACTIVATE" link RX_DEACTIVATE} @{"Rexx Command: DIAGNOSIS" link RX_DIAGNOSIS} @{"Rexx Command: EJECT" link RX_EJECT} @{"Rexx Command: FAULT" link RX_FAULT} @{"Rexx Command: FORMAT" link RX_FORMAT} @{"Rexx Command: GETATTR" link RX_GETATTR} @{"Rexx Command: HELP" link RX_HELP} @{"Rexx Command: ICONIFY" link RX_ICONIFY} @{"Rexx Command: LOCKGUI" link RX_LOCKGUI} @{"Rexx Command: MOVEWINDOW" link RX_MOVEWINDOW} @{"Rexx Command: NOP" link RX_NOP} @{"Rexx Command: OFFVERIFY" link RX_OFFVERIFY} @{"Rexx Command: ONVERIFY" link RX_ONVERIFY} @{"Rexx Command: PARK" link RX_PARK} @{"Rexx Command: PROTECT" link RX_PROTECT} @{"Rexx Command: QUIT" link RX_QUIT} @{"Rexx Command: SELECT" link RX_SELECT} @{"Rexx Command: SETATTR" link RX_SETATTR} @{"Rexx Command: START" link RX_START} @{"Rexx Command: UNLOCKGUI" link RX_UNLOCKGUI} @{"Rexx Command: WINDOWTOBACK" link RX_WINDOWTOBACK} @{"Rexx Command: WINDOWTOFRONT" link RX_WINDOWTOFRONT} @{"The ARexx interface" link REXX} @{"Rexx Interface: DISK objects" link OBJ_DISK} @{"Rexx Interface: DRIVE objects" link OBJ_DRIVE} @{"Rexx Interface: IoTools Objects" link OBJECTS} @{"Rexx Interface: IoTools Window Names" link WINDOWNAMES} @{"Rexx Interface: PROGRAM objects" link OBJ_PROGRAM} S... @{"Menu Item: Scan DOS Devices" link MENU_SCANDOS} @{"Menu Item: Scan SCSI Devices" link MENU_SCANSCSI} @{"Rexx Command: SELECT" link RX_SELECT} @{"Rexx Command: SETATTR" link RX_SETATTR} @{"Rexx Command: START" link RX_START} @{"Start Drive" link GAD_STARTDRIVE} T... @{"Command ToolTypes" link COMMTOOLS} @{"Configuration ToolTypes" link TOOLTYPES} U... @{"Rexx Command: UNLOCKGUI" link RX_UNLOCKGUI} @{"Usage of the IoTools" link USAGE} W... @{"Rexx Interface: IoTools Window Names" link WINDOWNAMES} @{"Rexx Command: WINDOWTOBACK" link RX_WINDOWTOBACK} @{"Rexx Command: WINDOWTOFRONT" link RX_WINDOWTOFRONT} @{BODY} @ENDNODE