
/*
**
**  $VER: Reboot.doc 1.2 (28.11.95)
**  Reboot 1.2
**
**  documentation
**
**  (C) Copyright 1994/1995 by Roland 'Gizzy' Mainz
**          All Rights Reserved
**
*/

=====================   Reboot 1.2 documentation   ========================
===========================================================================
A   simple   tool   to  be  used   with  Kickstart 2.x/3.x,  written  by
 Roland 'Gizzy' Mainz,  freeware, all rights reserved.
No guarantee of any kind is made that  the programm described below in this
 document is 100% reliable. You use this material on your own risk.


=========================== Misc ==========================================
===========================================================================
While playing with ENVOY 1.6, I need a program which allows to reboot
another AMIGA through the network (by my own "RemoteNetShell") or
after a given time.
First I wrote a little script (using WAIT) and a C program calling
exec.library/ColdReboot() to solve this problem.
Switching to IAM's ENVOY 2.0 I replaced this script by this tool,
adding some features (WB (including multiselect), SHELL ReadArgs(),
locale support and test mode).

In the first release (V1.1) were four bugs:
1. The "Abort reboot" requester couldn't be canceld 1 second before
   the given time.
   Fixed.
2. I did not read the autodocs exactly:
   The function BuildEasyRequest might return 0 or 1 at low mem time.
   Now Reboot simply fails with ERROR_NO_FREE_STORE for both 0 or 1.
   If 1 was returned, an enforcer hit would occur.
   Never happed, but
   fixed.
3. AttemptOpenLibrary could return (sometimes) random pointers.
   In fact, this never happened by me, but maybe ...
   Fixed.
4. While getting Reboot's environment variable, the "Abort reboot"
   requester might be canceled. Now we check this:
   Fixed.

Additional, there was some code cleanup which adds support for
DICE INLINE calls.

The executable is now PURE and can be made resident.

The time between the program checks the "Abort reboot" requester has beed
decrased down to a half second.

=========================== Installation ==================================
===========================================================================
After unpacking this archieve:

Workbench:
  - Drop the 'Reboot' icon in your favorite drawer (like
     "SYS:Utilities/").
    See SHELL for copying the catalog files.

Shell:
  - Unpack this archieve at "SYS:Utilities/"
    and add the following statements at your "S:user-startup" startup file:

    Assign Reboot: SYS:Utilities/Reboot
    path Reboot: ADD
  OR
  - Drop/Copy the 'Reboot' file in your favorite directory
    (like "Sys:Utilities").
    To copy the (german) catalog files, type
    Copy Catalogs/#? TO="LOCALE:Catalogs/" ALL QUIET CLONE

=============================== Usage =====================================
===========================================================================

    NAME
        Reboot -- rebooting utility

    FORMAT
        Reboot [REBOOTDELAY <seconds>] [QUIET|NOREQ]

    TEMPLATE
        REBOOTDELAY/K/N,QUIET=NOREQ/S

    TOOLTYPES
        REBOOTDELAY/N
        QUIET/S
        NOREQ/S

    PURPOSE
        To reboot the computer.

    SPECIFICATION
        Reboot is used to reboot the whole computer like a "cold"
        system start.

        Unless you specify otherwise (through REBOOTDELAY option), reboot
        will wait 2 seconds before rebooting the system.
        This is used to let the system (and it's disk drives) settle.
        This delay time can't be less than 1 second, a REBOOTDELAY=0
        will also wait this minimum time.

        Whenever the QUIET (or NOREQ) option is set, the verify requesters
        ("Are you sure#?" etc.) will be suppressed.

        Test mode / Variable support:
        "Setenv Reboot OFF" or "Set Reboot OFF" will stop Reboot from
        rebooting the system. Instead it will work like when a CTRL_C
        signal or an aborted verify requester occurs.
        This is very useful when testing scripts etc.
        See also in the BUGS section.

        Reboot supports workbench multiselect (e.g. project icons) !

    BUGS/NOTES
        Setenv Reboot " OFF" (space before/after OFF switch) currently
        won't stop rebooting the system.
        Be sure you don't set some rubbish in this variable. If future
        parsing through dos.libary/ReadArgs() fails, later versions of
        Reboot won't reboot the system.
        Shell variables longer than 255 are currently not supported.

        "Set Reboot OFF" is only valid if you start Reboot from this
        shell.


=============================== TODO ======================================
===========================================================================
  - ReadArgs() parsing of REBOOT variable
  - AmigaGuide document "Reboot.guide"


============================== SOURCE =====================================
===========================================================================
Reboot source and catalogs may be recompiled/reprocessed
(using DICE-C, SAS-C or GNU-C) by executing Reboot.c.

If you would use SAS-C, you must enable the related shell statements (and
the DICE ones must be disabled).
Currenty the SAS-C section isn't tested.

GNU-C support will be done in one future version.

If you like to include a new language (like Français or Nederlands etc.),
send me a filled "Reboot_blank.ct" file named "Reboot_#?.ct" (#? for your
language). As an example, see "Reboot_deutsch.ct".
Note that I can currently only process "Reboot_#?.ct" files whose language
is supported by AmigaOS 3.1 (e.g. a CBM language driver exists).


=========================== Author's Request ==============================
===========================================================================
By  releasing  this program I do  not  place any obligations on you,
feel free to share this program with your  friends (and enemies).

If you want to blame me, report any bugs, or wants a new version
send your letter to:
                Roland Mainz
                Hohenstaufenstraße 8
                52388 Nörvenich
                GERMANY

EMAIL is also available:
If you don't find a file "email.changed" in this archieve,
my email address is:
                mainz@mats.gmd.de

Sorry, but I can only look once a month for mails.

The  entire  "Reboot"  package  may  be  noncommercially  redistributed,
provided  that  the package  is always  distributed in it's complete  form
(including it's documentation).  A small copy fee  for media costs is okay
but any kind of commercial distribution is strictly forbidden!
Comments  and  suggestions  how  to  improve  this  program  are generally
appreciated!

Thanks to Matt Dillon for his DICE, and Olaf 'Olsen' Barthel for his
help, ideas and some text clips from his documentations.




