Home » Archimedes archive » Acorn User » AU 1995-04.adf » !Internet_StarterPak » !SLIPdial/!Help

!SLIPdial/!Help

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1995-04.adf » !Internet_StarterPak
Filename: !SLIPdial/!Help
Read OK:
File size: 79AE bytes
Load address: 0000
Exec address: 0000
File contents
SLIPdial - a dialler for Archimedes !TCPIP               version 0.33
------------------------------------------

Slipdial is a script-driven dialler and general-control program for
communications using !TCPIP. Its primary use is to initiate a connection
with the network services provider (including dialling and logging-in)
before handing over control to !TCPIP, and then to close down the connection
cleanly when !TCPIP has finished. As well as the normal dialling and
expect/send string functions for controlling your modem and negotiating a
login, it also has many facilities to start and kill sub-tasks (both
wimp-based and taskwindow-based); capturing and displaying messages from the
remote computer; file handling; dialogue with the user; timer functions and
more...

For example, you can define new icons to be added to the icon bar, which can
have script-defined menus associated with them, as well as predefined
actions for when the user clicks on them or drops a file on them.

Windows and controls
--------------------

When slipdial starts, its icon appears on the icon bar. Clicking with SELECT
on this icon opens the Status window, which tells you slipdial's state, and
may allow selection of actions from a user-defined menu. You can also
maximise this window, which gives you access to two extra controls -
allowing you to pause, resume, or stop completely the current script.

If no script is loaded, either as a default or by the startup switches you
used (see later), you can load and start one by dropping its file on the
iconbar icon or on the status window. Most of the time, however, a script
will be run automatically.

Clicking on the slipdial icon with the ADJUST button opens the Control
window. This window displays the script as it executes, incoming text from
the serial port, and other status information. At the bottom of this window
is an input field, which allows you to directly enter slipdial commands.

Two menus are available from the Control window. Pressing MENU gives you the
choice of listing various items - the script itself; the currently-defined
menus; variables, tasks and alarms. Pressing MENU while holding down the
CTRL key lets you change the current "Debug level". This controls how much
information about script execution is displayed in the Control window (see
the entry on the "debug" command for more information on the exact effects).

The other window available from the slipdial icon - actually from its
associated menu - is the "Choices" window. With this you can specify which
windows to open, how large to make them, and whether to run a specified
script automatically (you can drag a file to the writable field to set
this). These choices can be saved as default actions for every time you run
slipdial.

The Status Window
-----------------

If you have trouble getting slipdial to communicate with your modem, the
status window contains some diagnotic aids in the form of 3 "LED's", in the
lower right-hand corner of the window. These show the state of some of the
more important serial control lines - from left to right: DTR (data terminal
ready); CTS and CD (carrier detect). Of these, probably only DTR and CD are
of very much interest - DTR indicates that the serial line is active and the
modem is in a condition to be talked-to; while CD indicates that the modem
is online and has established communication with the remote modem.

Startup flags
-------------

To override the auto-run option, hold down the ALT key while starting
SLIPdial.

Command-line startup flags include:

-file <filename>
 runs a specified script file on startup. Example:
   run Slipdial:!Run -file SLIPdial:call_demon

-quiet
 pevents status and control windows from being opened at startup.

-auto
 autoruns the script Slipdial:default

-sprite <size>
 specifies size of slipdial's internal sprite area, for addition of user icons.

All startup flags/switches can be abbreviated to 1 significant character. For
example:
  run slipdial:!Run -s 8000 -f Slipdial:call_demon

Script language
---------------

There's no consistancy to what's in the language; just whatever I thought
might be useful. The language has evolved to be something like VMS DCL, in
that commands are often modified by qualifiers (command/qualifier=value).
It's even similar to DCL in its extreme lethargy of execution!

One useful point to know is that the first line of a script MUST be:
#slipdial

and another is that that scriptfiles must have the "Text" filetype. The
"#slipdial" comment at the start of the file prevents slipdial from
attempting to load non-script textfiles.

Events
------

Certain commands set up actions with may occur asynchronously, meaning they
don't follow the normal flow of the script. These could include timed
alarms, user menu selections, line-condition alarms, etc. For the sake of
giving these a name, I shall call these "events". Though they can be a
little hard to understand at first (they can make it hard to understand the
"flow" of your script), many of the most useful script capabilities center
around them.

SLIPdial script syntax
----------------------

Many slipdial commands can take qualifiers, which alter their behaviour
in some way. Command qualifiers are introduced with a slash (/) and may in
some cases be followed by a value after an equals sign.

Parameters and qualifiers are generally space-delimited - if you wish to
include spaces, the parameter or qualifier should be enclosed in quotation
marks.

Multiple commands on a line are separated with the ";" character.

Commands may be continued across lines by using a trailing "-".

Characters with special meaning may be escaped with the "\" character to
prevent their interpretation. Special characters include:
 /      introduces qualifier
 space  separates command components
 "      encloses components to prevent splitting
 ;      separates commands on a line
 %      introduces script variable
 \      the escape character itself

Remember to use extra escape characters in lines which may be expanded more
than once. For example, the line:
 alarm/icon=test "message \\%$file \\%$type"
needs two escape characters to quote the variables, as they are expanded
once upon setting the alarm, then again on alarm execution. Unfortunately,
the number of escape characters needed in any relatively complex situation
like this may not make sense, and should probably be subject to
experimentation! A later version of the script interpreter may do a better
job here...

The values of script variables may be substituted into lines by prefixing
them with a "%". For example, after the command "set test hello", the
command "message %test" expands into "message hello".

The output of another command can also be substituted into a line. To do
this, the command is enclosed in curly brackets {,}. The return value of the
enclosed command will be substituted in its place. For example:
 set test {?file slipdial:!run}
expands to:
 set test 1
(assuming the file 'slipdial:!Run' has an object type of 1).
Another example:
 message {icon/free}
displays the number of free bytes in the slipdial sprite area in a window.

Slipdial script commands
------------------------
1: General
----------

# comment
 introduces a comment - the line is ignored (and, in fact, not loaded).

debug <n>
 sets debugging level - controls what level of information is sent to the
 control window and debug file (if any).
   0 no debug output
   1 script progress
   2 text received from modem
   3 log both text & script

echo [/status] [/date] <string>
 echoes a string (or set of strings) to the control window (default)
  or the status window.
 /date adds the current date to the string before writing.

set <variable> <value> [<variable> <value> ... ]
 assigns a value to a script variable. <value> should be quoted if it
 includes spaces. More than one variable/value pair may be set at once.

unset <variable>
 deassigns a script variable.

?eq <variable> <variable|value>
?ne <variable> <variable|value>
?lt <variable> <variable|value>
?le <variable> <variable|value>
?gt <variable> <variable|value>
?ge <variable> <variable|value>
 these test whether a variable is equal, unequal, greater, or less
 than, another variable or value. Return 1 or 0 for true/false.

eval <expression>
 returns result of mathematical operations (possibly on script variables).
 eg: set lemming {eval "%lemming + 1"}
   increments the value of 'lemming' by one.

string /size <string>
 returns size (length) of a string.
string /upper <string>
 converts string to upper case
string /lower <string>
 converts string to lower case
string /right=<n> <string>
 returns rightmost <n> characters of string
string /left=<n> <string>
 returns leftmost <n> characters of string
string /start=<n> /length=<n>
 extracts a substring from a string
string/instr=<string2> <string1>
 returns position of <string2> in <string1>

oscli <os command> [<os command> ... ]
 executes RISC OS commands. Return 1/0 for success/error.

message [/id=<n>] [/add] [/title=<title>] [/capture[=<string>]] [/end=<string>]
        [/max=<n>] [/wait] <line1> [<line2> ... ]
 opens a window with a textual message for the user. Each line should be
   enclosed in quotes.
 /id=<n>  identifies which message window the command applies to. At
          present there is only one window, and this qualifier is ignored.
          The ability to specify multiple windows will be added in
          later versions.
 /wait    qualifier pauses script until user clicks on OK icon or closes
          message window.
 /capture[=<string>] will capture serial input to the message window, 
          optionally starting from <string>. (See Notes at end)
 /end=<string> causes message capture to end when <string> is found.
 /max=<n> defines a maximum number of lines to capture.
 /add     causes text to be added to an existing message. If no text
          is given, the command simply forces an update (redraw) of the
          message window.

message [/id=<id>] /close
 explicitly closes any message window.

ask [/delay=<n>] [/default=<yes|no>] <question>
 brings up a window asking for a yes/no answer from the user. Returns 1
 if 'yes' is clicked; 0 if 'no' is clicked.
 /delay=<n>     sets timeout (in seconds). If no response is received
                within this time, the default answer is returned.
 /default=<y|n> sets the default answer returned if the command times
                out. If unspecified, 'no' (0) is assumed. Note that, at
                present, the default answer is not highlighted in any
                way on the dialogue window.

?task <taskname>
 returns task handle of task, or zero if it is not running.

error <message>
 stops the script with an error message (and invokes error handler, if any
 is installed.

help [<command>]
 gives online help about script commands. "help" by itself gives a list
 of available help topics.

newsrate <abbr>
 computes the transfer rate of news from the time difference between
 the xxxNews and xxxNG files, eg: newsrate Dem
 Returns a value in characters per second.

2: Script Flow
--------------

:<label>
 marks a label in the script; a destination for 'goto' or 'call'. Spaces
 should not be used in a label definition.

goto <label>
 transfers execution to the line following the given label.

call [/lock] <label> [<parameters>]
 calls a subroutine, with optional parameters. The parameters are
 placed into the script variables p1,p2,...,pn within the subroutine.
 The /lock flag sets a 'lock flag' on the subroutine, which prevents it
 from being re-entered until it has returned.

return [<value>]
 return from subroutine, optionally passing back a return value. The returned
 value may be numeric or textual.

if (<command>) <command>
 conditionally executes a command depending on the status returned from
 another command. For example:
 if (?file $.lemming) exit
  exits the script if the file $.lemming exists. You can also negate the test:
  if (!?file $.lemming) exit

case <value|variable>
 starts a case...when...endcase structure.

when <value> [<value> ... ] ; <commands>
 executes the remainder of the line if one of values matches the current
  "case" value. Note this only acts on the rest of the same line containing
  the "when" statement.

endcase
 marks the end of a case...when...endcase structure.

library <filename> [<parameters> ... ]
 appends a script file to the current script for use as a library. If the
 new file contains a subroutine "autoexec", it will be executed after
 loading, being passed the parameters given in the library command.

source <filename>
 directly executes script commands from the given file.

chain <filename>
 loads and runs a new script. All variable (except for 'system' variables,
 beginning with "$"), alarms, menus, etc are cleared. The name of the
 original script is placed in the system variable "$caller".

exit
 stops the script.

quit
 stops the script and quit the program.

stop
 simulates pressing the 'stop' button.


3: Serial i/o
-------------

driver [<name>]
 loads a modem driver, or sets the default (internal) driver if unspecified.
 Modem drivers define the strings used to control the modem, and the status
 messages returned from them.

port <driver> <port number>
 loads the specified block driver, and use specified port number. For
 example:
  port sp_dual 1
 If not specified, "port internal 0" is assumed.

speed <baud>
 sets baud rate to <baud>. Default is 19200.

claim [<attempts> [<delay>]]
 claims the currently selected port and initialise it, with optional retries
 if the port is unavailable. Returns 1/0 for success/failure

release
 releases port (also dropping line).

init [<string>]
 drops and raises DTR on serial port to put modem in command mode, and sends
 the specified string to the modem; then waits for "OK". Returns 1/0 for
 success/failure.
 If no string is given, the init strings from the modem driver are sent.

reinit
 resets serial port.

retry [<attempts> [<delay>]]
 sets default number of dialling retries and intervening delay, in seconds.

dial [/pulse] [/retry=<n>] [/delay=<n>] [/nodial=<n>] [/nocar=<n>]
        [/busy=<n>] <number> [<number> ... ]
 dials the specified number or list of numbers. If a list is given, a number
 will be tried multiple times (specified by 'retry') before moving on to the
 next in the list. Returns 1/0 for success/failure.
 /pulse uses pulse dialling instead of tone.
 /delay=<n> and /retry=<n> override the default number of retries and delay.
 /nodial=<n>, /nocar=<n> and /busy=<n> override default redial delays for
 individual cases (ie, no dialtone, no carrier, busy). Useful, eg, to
 specify a longer delay for no dialtone (someone using phone).

send [/raw] [/noraw] [name=<id>] <string> [<string> ... ]
 sends a string to the serial port or a taskwindow.
 /raw           prevents a newline.
 /noraw         renables newlines.
 /name=<id>     sends the string to taskwindow <id> rather than the serial
                port.

?line <condition>
 tests condition of serial port lines. Condition can be one of:
  /cts
  /dsr
  /rng
  /dcd
  Returns 1/0 for high/low

4: Control
----------

wait [/delay=<n>] [/id=<id>] <string1> [<string2>...]
 waits for a string to be received. You can specify up
 to 4 strings to wait for. For example:
 wait login password
  returns 1 if "login" is detected, 2 if "password" is detected, or 0 if the
  command times out.
  The default timeout is 600 seconds (10 minutes); you can alter this with
  the /delay=<n> qualifier. For example:
  wait /delay=20 login
   waits for 20 seconds for the string "login".
 To include spaces in a wait string, quote the string - eg:
  wait /delay=20 login "contrived example" HELLO

 The default input stream examined is the serial (or other) port, as defined
  by the "port" command. If the qualifier "/id=<id>" is specified, the
  output stream from the specified taskwindow is examined instead. Note that
  you can at present only specify a taskwindow which is being buffered to a
  window; not one with output to a file.
                                  
wait /event
 waits for an event such as an alarm or a user menu selection.

event [/enable|/disable] <event-type> [<event-type> ... ]
 enables or disables events. You might want to disable events during
 sensitive script operations, such as logging in. Events will still be queued
 while disabled, but will not be acted upon until an "event/enable" is issued.
 Note that "stop" and "error" events cannot be disabled!
 Event types are as follows:
   sys    slipdial system events (cannot be disabled)
   time   timed alarms
   line   line alarms
   task   task termination events
   twin   taskwindow termination events
   input  user command input (command window)
   icon   click on user icons
   file   file dropped on user icons
   menu   user-defined menus
   eof    user-file EOF events
 Event specifications may be combined in one command, eg:
   event /disable all /enable line menu task

alarm /time=<time> [/repeat] [/id=<id>] <action>
 sets an alarm either for time-of-day or elapsed time. <time> is specified as:
   HH:MM:SS     time of day
  +HH:MM:SS     elapsed time
 The /repeat qualifier will resubmit the same alarm setting  after it goes off.
 The /id qualifier associates a name with an alarm, so it can be cancelled.

alarm /cancel=<id>
 Cancels a timed alarm. (to cancel a non-timed alarm such as /stop or /dcd,
 set the alarm with a null command - eg, 'alarm/stop').

alarm /stop=<command>
 Specifies a command to be executed when the "Stop" button is clicked. If no
 stop alarm is defined, the serial device is released and the script pauses.
 This alarm cancels itself when it goes off.

alarm /dcd[=0|1] <command>
alarm /cts[=0|1] <command>
alarm /dtr[=0|1] <command>
alarm /rng[=0|1] <command>
alarm /dsr[=0|1] <command>
 Specifies command to execute when the specified line becomes low (or high).
 This alarm cancels itself when it goes off. Use the '=1' value specification
 to trigger on low->high, otherwise, triggers on high->low.

alarm/error=<command>
 defines command to execute when a script error occurs.

alarm/icon=<id> <command>
 defines command to execute when a file is dropped onto icon with identifier
 <id>. The name of the file dropped is put into the variable $file, and its
 filetype (in hex) into $type.

menu "entry:command" ["entry:command"]...
 defines a user menu (only acted upon during a "wait /event")
 For example:
 menu "Call Demon:call calldemon" "Send Mail:call sendmail" "Quit:quit"

menu/icon=<id> "entry:command" ["entry:command"]...
 defines a menu associated with an iconbar icon (added by the 'icon'
 command).

icon/id=<id> [/file=<filename>] [/action=<command>] <spritename>
 adds an icon to the icon bar. Up to 5 extra icons can be added, each with
 their own associated actions and menus.
 /id=<id> identifies the icon (either a new icon or replacement)
 /file=<filename> loads the named sprite file into slipdial's sprite pool
        (note, limited space available!)
 /action=<command> defines script command to execute when icon is clicked.

icon/cancel=<id> deletes an icon from the iconbar.

icon /free returns the amount of free space in the slipdial sprite area. This
 can be used to check whether it is possible to load a sprite file.

pause <n>
sleep <n>
 Waits for <n> seconds before continuing script execution.
 If <n> is zero or omitted, puts script into pause mode (restart 
 by clicking on Resume).

task [/name=<name>] [/exit=<command>] [/wait] <filespec>
 starts the specified task. Example:
 task <TCPIP$Dir>.!Run
 /name  specifies a name to be associated with the command (by which it may
 be killed, for example).
 /exit  specifies a command to be executed when the task terminates.
 /wait  forces the script to wait for the started task to finish. Otherwise,
  script execution continues as soon as the task starts (the "/exit" command,
  if any, being added to the event queue when the task finishes).
 It is possible to combine the "/wait" and "/exit" qualifiers, but also
 pointless!

task /kill[=<taskname>]
 task /kill by itself kills the last task to be started by the "task" command.
 task /kill <taskname> kills a task by name (name as known by the task
  manager). Only tasks known to SLIPdial (started by the "task" command) can
  be killed.

taskwindow [/name=<name>] [/size=<nK>] [/exit=<command>] [/wait] [/keep]
                [/output=<filename>] "<external command>"
 Starts a taskwindow process.
 /name  name for task manager (default is "SDtaskn", where n is a number).
 /size  sets wimpslot size for task (default is size of "Next" slot).
 /exit  defines command to execute when task terminates
 /output    sets file to store output in (if no file specified, all output
        goes to a buffer window).
 /nooutput  prevents an output window from being opened, though the data
        is still buffered internally as if a window were present.
 /wait  forces the script to wait for the started task to finish. Otherwise,
        script execution continues as soon as the task starts (the "/exit"
        command, if any, being added to the event queue when the task
        finishes).
 /keep  causes the buffer window, if any, to be kept onscreen after the
        task finishes. Otherwise, the window is deleted as the task exits.
        The slipdial taskwindow "slot" cannot be re-used until the window
        is closed.
 It is possible to combine the "/wait" and "/exit" qualifiers, but also
 pointless!

taskwindow /kill=<id>
 kills the given taskwindow.

taskwindow /suspend=<id>
taskwindow /resume=<id>
 these commands suspend or resume a taskwindow.

dataopen <taskname> <filespec>
 sends a dataopen message for the specified file to the specified task.

ipget [/delay=<n>] <string>
 waits for <string>, which should mark the start of a dynamically-assigned
 IP number. The rest of the number will then be captured. Example:
   ipget 134.
 The string:
   Your IP address is 134.84.101.42.
 is received. The IP number 134.84.101.42 is captured, into the script variable  "ipaddress", for use by the "make" or other commands. The variables ip1, ip2,
 ip3 amd ip4 are also set, to the four components of the IP address.

 The /delay qualifier sets the command timeout in seconds. If not specified,
 a timeout of 60 seconds is assumed.

make <source> <dest>
 Makes one file from another, performing variable substitutions. For example,
 to create an Autoexec file for !TCPIP. Occurances of "%variable" in the
 source file are replaced by the variable value in the output file. Eg:
    ip address [%ipaddress]
    attach asy %port slip ax0 4096 576 %speed
    route add default ax0 [%ip1.%ip2.%ip3.254] 1
 becomes:
    ip address [134.84.101.42]
    attach asy sp_dual 1 slip ax0 4096 576 57600
    route add default ax0 [134.84.101.254] 1

 Specifying output file contents within scripts:
 You can take lines from the script as well as from an input file. Script
 lines following the "make" command which have a "+" as the first character
 will be used as source lines for the output file (the + character being
 stripped off). Specify an input file of "-" to use only these script lines.
 If you specify both a real input file and + lines, the + lines will be used
 after the input file has been processed.

 Comment lines (those beginning with a "#") in the source file are not
 transferred to the output file.

list /var
list /tasks
list /menus
list /script [<first> [<last>]]
list /alarms
list /files
 Lists current variables, tasks, menus, script, alarms, or open userfiles
 to the debug window.

?free [/mem] [/next] [/free] [/device=<filespec>] [/int]
 returns amount of free memory:
 /mem   returns all free memory, ie next+free slots
 /next  returns size of 'next' slot
 /free  returns size of 'free' slot
 /device    returns amount of space left on the device holding <filespec>
 /internal  returns internal free space within slipdial application

input [/prompt=<prompt>] <variable> [[/prompt=<prompt2>] <variable2> ... ]]
 Prompts the user for input in a window, and place the input in a script
 variable. Multiple prompts/inputs can be combined in one command.
 

5: File commands
----------------

move <file1> <file2>
 moves a file from one location to another.
 (a rename is tried first; if that fails, a copy with source delete is tried).

copy [/head=<n> /tail=<n>] <file1> <file2>
 copies one file to another.
 With either the /head or /tail qualifier, copies only the first or last <n>
  lines of the file. If <n> is unspecified, a default of 50 is used.

For both move and copy, a '*' within the destination filename is replaced
with a 4-digit random number such that the destination file is guaranteed
unique. The created destination filename is also stored in the script
variable '$dest', for later reference.

append <file1> <file1>
 appends file1 to file2 (if file2 doesn't exist, it is created).

delete <file>
 deletes a file.

?file <filename>
 ?file itself returns object type of file
   0 doesn't exist
   1 file
   2 directory
   3 image file
 Other qualifiers available:
 /size    returns the size (in bytes) of the given object.
 /type    returns the (hex) filetype.
 /attrib  returns the file attributes (bit 0 = read access, etc).
 /expand  returns the canonicalised filename.
 /leaf    returns the leafname of <filename>.
 /path    returns the path component of <filename>.

trace <filename>
 opens <filename> as a debugging logfile. All output which appears in the
 debug window is also sent here. (currently excepting taskwindow output).

open /id=<id> [/error=<command>] [/read|/write|/rw] <filename>
 Opens the named file for read, write or read-write access, associating the
 given identifier with the file.
 The /error qualifier defines a command to execute if the file open fails.

close /id=<id>
 Closes the file with the given identifier.

read /id=<id> [/eof=<command>] <variable> [<variable> ... ]
 Reads lines from the given file into script variables.
 The /eof qualifier defines a command to execute if end-of-file
  is reached during the read oeration.

write /id=<id> <data> [<data> ... ]
 Writes textual data into the given file.

ptr /id=<id> [/set=<n>] [<variable>]
 Reads or sets the pointer into the named file.
 Without the "/set" qualifier, returns the file pointer (optionally setting
 the named variable).
 With the /set qualifier, sets the file pointer.
 "/set=eof" sets the pointer to end-of-file.


6: Script Variables
-------------------

Variable substitution takes place on each line in the script during
execution. A variable is specified by the prefix "%"; for example:
 set lemming goto start
 %lemming
would execute the command "goto start".

Some variables are defined automatically during script execution. These are:

$status
 contains values returned from script commands, often indicating success
 or failure, but can indicate more detailed results.

port
 contains driver and port in use (set by "port" command)

speed
 contains baud rate (set by "speed" command)

ipaddress
 contains IP address detected by "ipget" command. Setting this variable causes
 automatic recalculation of the variables ip1,ip2,ip3,ip4, and updates the
 "IP" address field in the status window.

ip1,ip2,ip3,ip4
 contain the four components of a detected IP address.

route
 set to %ip1.%ip2.%ip3.254 by "ipget", but you can of course alter it
 yourself.

p1 p2 p3 (etc)
 parameters passed to a subroutine. Note these are NOT preserved throughout
 the execution of the subroutine and will be destroyed by further calls to
 other routines. Transfer values to variables of your own if you want to
 keep them for later use.

7: Notes
--------

Alarm scheduling is done using OS_ReadMonotonicTime. Things may (certainly
will!) break when the timer wraps around to a negative value. Will possibly
be fixed someday, but not terribly likely!

Some functions operate in slightly unexpected ways. The correct way to use
the "message/capture" command is not obvious, for example. It does not, in
fact, examine the serial input stream itself at all; but merely installs a
"filter". For text to be captured, you then need to use a command which does
examine the input stream - examples being "wait", "ipget", etc.
To avoid flicker, the message window is not updated on every captured line.
Instead, it gets refreshed whenever a blank line is received. A four-second
timer also causes a refresh if the contents change but the window is not
updated for that long.
An update can be forced by adding a blank line to the window: "message/add".
Blank lines are not added to the display list; they simply cause a refresh.

"task/exit" and "taskwindow/exit" also need some explanation. These commands
enable another script command to be executed when the started task finishes.
How this operates is to add the "exit command" to the event queue when task
termination is detected. After the "task/exit" command, script execution
continues immediately after the task starts; the exit command, therefore,
can be triggered at any future point in the script. For most simple
commands, or even most subroutine calls, this presents no problem, but
obviously "goto" commands and suchlike should probably be avoided. For
particulary critical routines, where the execution of a lengthy
event-command could disrupt things - for example, during a login sequence -
event processing can be disabled, using the "event/disable[=<type>]"
command.

The script can stay in the dialling routine for a relatively long time.
During this time, events (alarms, menus, etc) are not acted upon.

Currently hard-coded limits are:
Script line limit               2000 (but memory management may not
                                cope with a script this size, at present!)
Items per user menu             30 (255 character limit total for each
                                    of description & command lists)
Timed alarms                    10
Simultaneous tasks              8       ('task' command)
Simultaneous taskwindows        8       ('taskwindow' clients)
Variables                       100
Goto/call destinations          50
Subroutine levels               20
Case...when...endcase levels    10
Simultaneous 'wait' strings     4
Pending events                  10
Open "user" files               10
User icons                      8

----------------------------------------------------------------------------
Disclaimer!
-----------

SLIPdial is probably still full of bugs. Most things seem to work okay, but
the increasing complexity of the script language makes exhaustive checking
difficult. However, I should thank several people for testing slipdial
during the rapidly-changing versions between 0.23 and 0.30:-
Robert Orwin    rob@wong.demon.co.uk
Ian Stocks      ian@frogstar.demon.co.uk
Andrew Black    andrew@bach.demon.co.uk
Paul Allen      pla@sktb.demon.co.uk
Rick Hewitt     rick@chocky.demon.co.uk
also many others who pointed out bugs or made suggestions.

Any problems, suggestions or questions can be sent to me via email at:

allan@mnhep1.hep.umn.edu, or allan@mnhepz.hep.umn.edu
00000000  53 4c 49 50 64 69 61 6c  20 2d 20 61 20 64 69 61  |SLIPdial - a dia|
00000010  6c 6c 65 72 20 66 6f 72  20 41 72 63 68 69 6d 65  |ller for Archime|
00000020  64 65 73 20 21 54 43 50  49 50 20 20 20 20 20 20  |des !TCPIP      |
00000030  20 20 20 20 20 20 20 20  20 76 65 72 73 69 6f 6e  |         version|
00000040  20 30 2e 33 33 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | 0.33.----------|
00000050  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000070  0a 0a 53 6c 69 70 64 69  61 6c 20 69 73 20 61 20  |..Slipdial is a |
00000080  73 63 72 69 70 74 2d 64  72 69 76 65 6e 20 64 69  |script-driven di|
00000090  61 6c 6c 65 72 20 61 6e  64 20 67 65 6e 65 72 61  |aller and genera|
000000a0  6c 2d 63 6f 6e 74 72 6f  6c 20 70 72 6f 67 72 61  |l-control progra|
000000b0  6d 20 66 6f 72 0a 63 6f  6d 6d 75 6e 69 63 61 74  |m for.communicat|
000000c0  69 6f 6e 73 20 75 73 69  6e 67 20 21 54 43 50 49  |ions using !TCPI|
000000d0  50 2e 20 49 74 73 20 70  72 69 6d 61 72 79 20 75  |P. Its primary u|
000000e0  73 65 20 69 73 20 74 6f  20 69 6e 69 74 69 61 74  |se is to initiat|
000000f0  65 20 61 20 63 6f 6e 6e  65 63 74 69 6f 6e 0a 77  |e a connection.w|
00000100  69 74 68 20 74 68 65 20  6e 65 74 77 6f 72 6b 20  |ith the network |
00000110  73 65 72 76 69 63 65 73  20 70 72 6f 76 69 64 65  |services provide|
00000120  72 20 28 69 6e 63 6c 75  64 69 6e 67 20 64 69 61  |r (including dia|
00000130  6c 6c 69 6e 67 20 61 6e  64 20 6c 6f 67 67 69 6e  |lling and loggin|
00000140  67 2d 69 6e 29 0a 62 65  66 6f 72 65 20 68 61 6e  |g-in).before han|
00000150  64 69 6e 67 20 6f 76 65  72 20 63 6f 6e 74 72 6f  |ding over contro|
00000160  6c 20 74 6f 20 21 54 43  50 49 50 2c 20 61 6e 64  |l to !TCPIP, and|
00000170  20 74 68 65 6e 20 74 6f  20 63 6c 6f 73 65 20 64  | then to close d|
00000180  6f 77 6e 20 74 68 65 20  63 6f 6e 6e 65 63 74 69  |own the connecti|
00000190  6f 6e 0a 63 6c 65 61 6e  6c 79 20 77 68 65 6e 20  |on.cleanly when |
000001a0  21 54 43 50 49 50 20 68  61 73 20 66 69 6e 69 73  |!TCPIP has finis|
000001b0  68 65 64 2e 20 41 73 20  77 65 6c 6c 20 61 73 20  |hed. As well as |
000001c0  74 68 65 20 6e 6f 72 6d  61 6c 20 64 69 61 6c 6c  |the normal diall|
000001d0  69 6e 67 20 61 6e 64 0a  65 78 70 65 63 74 2f 73  |ing and.expect/s|
000001e0  65 6e 64 20 73 74 72 69  6e 67 20 66 75 6e 63 74  |end string funct|
000001f0  69 6f 6e 73 20 66 6f 72  20 63 6f 6e 74 72 6f 6c  |ions for control|
00000200  6c 69 6e 67 20 79 6f 75  72 20 6d 6f 64 65 6d 20  |ling your modem |
00000210  61 6e 64 20 6e 65 67 6f  74 69 61 74 69 6e 67 20  |and negotiating |
00000220  61 0a 6c 6f 67 69 6e 2c  20 69 74 20 61 6c 73 6f  |a.login, it also|
00000230  20 68 61 73 20 6d 61 6e  79 20 66 61 63 69 6c 69  | has many facili|
00000240  74 69 65 73 20 74 6f 20  73 74 61 72 74 20 61 6e  |ties to start an|
00000250  64 20 6b 69 6c 6c 20 73  75 62 2d 74 61 73 6b 73  |d kill sub-tasks|
00000260  20 28 62 6f 74 68 0a 77  69 6d 70 2d 62 61 73 65  | (both.wimp-base|
00000270  64 20 61 6e 64 20 74 61  73 6b 77 69 6e 64 6f 77  |d and taskwindow|
00000280  2d 62 61 73 65 64 29 3b  20 63 61 70 74 75 72 69  |-based); capturi|
00000290  6e 67 20 61 6e 64 20 64  69 73 70 6c 61 79 69 6e  |ng and displayin|
000002a0  67 20 6d 65 73 73 61 67  65 73 20 66 72 6f 6d 20  |g messages from |
000002b0  74 68 65 0a 72 65 6d 6f  74 65 20 63 6f 6d 70 75  |the.remote compu|
000002c0  74 65 72 3b 20 66 69 6c  65 20 68 61 6e 64 6c 69  |ter; file handli|
000002d0  6e 67 3b 20 64 69 61 6c  6f 67 75 65 20 77 69 74  |ng; dialogue wit|
000002e0  68 20 74 68 65 20 75 73  65 72 3b 20 74 69 6d 65  |h the user; time|
000002f0  72 20 66 75 6e 63 74 69  6f 6e 73 20 61 6e 64 0a  |r functions and.|
00000300  6d 6f 72 65 2e 2e 2e 0a  0a 46 6f 72 20 65 78 61  |more.....For exa|
00000310  6d 70 6c 65 2c 20 79 6f  75 20 63 61 6e 20 64 65  |mple, you can de|
00000320  66 69 6e 65 20 6e 65 77  20 69 63 6f 6e 73 20 74  |fine new icons t|
00000330  6f 20 62 65 20 61 64 64  65 64 20 74 6f 20 74 68  |o be added to th|
00000340  65 20 69 63 6f 6e 20 62  61 72 2c 20 77 68 69 63  |e icon bar, whic|
00000350  68 20 63 61 6e 0a 68 61  76 65 20 73 63 72 69 70  |h can.have scrip|
00000360  74 2d 64 65 66 69 6e 65  64 20 6d 65 6e 75 73 20  |t-defined menus |
00000370  61 73 73 6f 63 69 61 74  65 64 20 77 69 74 68 20  |associated with |
00000380  74 68 65 6d 2c 20 61 73  20 77 65 6c 6c 20 61 73  |them, as well as|
00000390  20 70 72 65 64 65 66 69  6e 65 64 0a 61 63 74 69  | predefined.acti|
000003a0  6f 6e 73 20 66 6f 72 20  77 68 65 6e 20 74 68 65  |ons for when the|
000003b0  20 75 73 65 72 20 63 6c  69 63 6b 73 20 6f 6e 20  | user clicks on |
000003c0  74 68 65 6d 20 6f 72 20  64 72 6f 70 73 20 61 20  |them or drops a |
000003d0  66 69 6c 65 20 6f 6e 20  74 68 65 6d 2e 0a 0a 57  |file on them...W|
000003e0  69 6e 64 6f 77 73 20 61  6e 64 20 63 6f 6e 74 72  |indows and contr|
000003f0  6f 6c 73 0a 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ols.------------|
00000400  2d 2d 2d 2d 2d 2d 2d 2d  0a 0a 57 68 65 6e 20 73  |--------..When s|
00000410  6c 69 70 64 69 61 6c 20  73 74 61 72 74 73 2c 20  |lipdial starts, |
00000420  69 74 73 20 69 63 6f 6e  20 61 70 70 65 61 72 73  |its icon appears|
00000430  20 6f 6e 20 74 68 65 20  69 63 6f 6e 20 62 61 72  | on the icon bar|
00000440  2e 20 43 6c 69 63 6b 69  6e 67 20 77 69 74 68 20  |. Clicking with |
00000450  53 45 4c 45 43 54 0a 6f  6e 20 74 68 69 73 20 69  |SELECT.on this i|
00000460  63 6f 6e 20 6f 70 65 6e  73 20 74 68 65 20 53 74  |con opens the St|
00000470  61 74 75 73 20 77 69 6e  64 6f 77 2c 20 77 68 69  |atus window, whi|
00000480  63 68 20 74 65 6c 6c 73  20 79 6f 75 20 73 6c 69  |ch tells you sli|
00000490  70 64 69 61 6c 27 73 20  73 74 61 74 65 2c 20 61  |pdial's state, a|
000004a0  6e 64 0a 6d 61 79 20 61  6c 6c 6f 77 20 73 65 6c  |nd.may allow sel|
000004b0  65 63 74 69 6f 6e 20 6f  66 20 61 63 74 69 6f 6e  |ection of action|
000004c0  73 20 66 72 6f 6d 20 61  20 75 73 65 72 2d 64 65  |s from a user-de|
000004d0  66 69 6e 65 64 20 6d 65  6e 75 2e 20 59 6f 75 20  |fined menu. You |
000004e0  63 61 6e 20 61 6c 73 6f  0a 6d 61 78 69 6d 69 73  |can also.maximis|
000004f0  65 20 74 68 69 73 20 77  69 6e 64 6f 77 2c 20 77  |e this window, w|
00000500  68 69 63 68 20 67 69 76  65 73 20 79 6f 75 20 61  |hich gives you a|
00000510  63 63 65 73 73 20 74 6f  20 74 77 6f 20 65 78 74  |ccess to two ext|
00000520  72 61 20 63 6f 6e 74 72  6f 6c 73 20 2d 0a 61 6c  |ra controls -.al|
00000530  6c 6f 77 69 6e 67 20 79  6f 75 20 74 6f 20 70 61  |lowing you to pa|
00000540  75 73 65 2c 20 72 65 73  75 6d 65 2c 20 6f 72 20  |use, resume, or |
00000550  73 74 6f 70 20 63 6f 6d  70 6c 65 74 65 6c 79 20  |stop completely |
00000560  74 68 65 20 63 75 72 72  65 6e 74 20 73 63 72 69  |the current scri|
00000570  70 74 2e 0a 0a 49 66 20  6e 6f 20 73 63 72 69 70  |pt...If no scrip|
00000580  74 20 69 73 20 6c 6f 61  64 65 64 2c 20 65 69 74  |t is loaded, eit|
00000590  68 65 72 20 61 73 20 61  20 64 65 66 61 75 6c 74  |her as a default|
000005a0  20 6f 72 20 62 79 20 74  68 65 20 73 74 61 72 74  | or by the start|
000005b0  75 70 20 73 77 69 74 63  68 65 73 20 79 6f 75 0a  |up switches you.|
000005c0  75 73 65 64 20 28 73 65  65 20 6c 61 74 65 72 29  |used (see later)|
000005d0  2c 20 79 6f 75 20 63 61  6e 20 6c 6f 61 64 20 61  |, you can load a|
000005e0  6e 64 20 73 74 61 72 74  20 6f 6e 65 20 62 79 20  |nd start one by |
000005f0  64 72 6f 70 70 69 6e 67  20 69 74 73 20 66 69 6c  |dropping its fil|
00000600  65 20 6f 6e 20 74 68 65  0a 69 63 6f 6e 62 61 72  |e on the.iconbar|
00000610  20 69 63 6f 6e 20 6f 72  20 6f 6e 20 74 68 65 20  | icon or on the |
00000620  73 74 61 74 75 73 20 77  69 6e 64 6f 77 2e 20 4d  |status window. M|
00000630  6f 73 74 20 6f 66 20 74  68 65 20 74 69 6d 65 2c  |ost of the time,|
00000640  20 68 6f 77 65 76 65 72  2c 20 61 20 73 63 72 69  | however, a scri|
00000650  70 74 0a 77 69 6c 6c 20  62 65 20 72 75 6e 20 61  |pt.will be run a|
00000660  75 74 6f 6d 61 74 69 63  61 6c 6c 79 2e 0a 0a 43  |utomatically...C|
00000670  6c 69 63 6b 69 6e 67 20  6f 6e 20 74 68 65 20 73  |licking on the s|
00000680  6c 69 70 64 69 61 6c 20  69 63 6f 6e 20 77 69 74  |lipdial icon wit|
00000690  68 20 74 68 65 20 41 44  4a 55 53 54 20 62 75 74  |h the ADJUST but|
000006a0  74 6f 6e 20 6f 70 65 6e  73 20 74 68 65 20 43 6f  |ton opens the Co|
000006b0  6e 74 72 6f 6c 0a 77 69  6e 64 6f 77 2e 20 54 68  |ntrol.window. Th|
000006c0  69 73 20 77 69 6e 64 6f  77 20 64 69 73 70 6c 61  |is window displa|
000006d0  79 73 20 74 68 65 20 73  63 72 69 70 74 20 61 73  |ys the script as|
000006e0  20 69 74 20 65 78 65 63  75 74 65 73 2c 20 69 6e  | it executes, in|
000006f0  63 6f 6d 69 6e 67 20 74  65 78 74 20 66 72 6f 6d  |coming text from|
00000700  0a 74 68 65 20 73 65 72  69 61 6c 20 70 6f 72 74  |.the serial port|
00000710  2c 20 61 6e 64 20 6f 74  68 65 72 20 73 74 61 74  |, and other stat|
00000720  75 73 20 69 6e 66 6f 72  6d 61 74 69 6f 6e 2e 20  |us information. |
00000730  41 74 20 74 68 65 20 62  6f 74 74 6f 6d 20 6f 66  |At the bottom of|
00000740  20 74 68 69 73 20 77 69  6e 64 6f 77 0a 69 73 20  | this window.is |
00000750  61 6e 20 69 6e 70 75 74  20 66 69 65 6c 64 2c 20  |an input field, |
00000760  77 68 69 63 68 20 61 6c  6c 6f 77 73 20 79 6f 75  |which allows you|
00000770  20 74 6f 20 64 69 72 65  63 74 6c 79 20 65 6e 74  | to directly ent|
00000780  65 72 20 73 6c 69 70 64  69 61 6c 20 63 6f 6d 6d  |er slipdial comm|
00000790  61 6e 64 73 2e 0a 0a 54  77 6f 20 6d 65 6e 75 73  |ands...Two menus|
000007a0  20 61 72 65 20 61 76 61  69 6c 61 62 6c 65 20 66  | are available f|
000007b0  72 6f 6d 20 74 68 65 20  43 6f 6e 74 72 6f 6c 20  |rom the Control |
000007c0  77 69 6e 64 6f 77 2e 20  50 72 65 73 73 69 6e 67  |window. Pressing|
000007d0  20 4d 45 4e 55 20 67 69  76 65 73 20 79 6f 75 20  | MENU gives you |
000007e0  74 68 65 0a 63 68 6f 69  63 65 20 6f 66 20 6c 69  |the.choice of li|
000007f0  73 74 69 6e 67 20 76 61  72 69 6f 75 73 20 69 74  |sting various it|
00000800  65 6d 73 20 2d 20 74 68  65 20 73 63 72 69 70 74  |ems - the script|
00000810  20 69 74 73 65 6c 66 3b  20 74 68 65 20 63 75 72  | itself; the cur|
00000820  72 65 6e 74 6c 79 2d 64  65 66 69 6e 65 64 0a 6d  |rently-defined.m|
00000830  65 6e 75 73 3b 20 76 61  72 69 61 62 6c 65 73 2c  |enus; variables,|
00000840  20 74 61 73 6b 73 20 61  6e 64 20 61 6c 61 72 6d  | tasks and alarm|
00000850  73 2e 20 50 72 65 73 73  69 6e 67 20 4d 45 4e 55  |s. Pressing MENU|
00000860  20 77 68 69 6c 65 20 68  6f 6c 64 69 6e 67 20 64  | while holding d|
00000870  6f 77 6e 20 74 68 65 0a  43 54 52 4c 20 6b 65 79  |own the.CTRL key|
00000880  20 6c 65 74 73 20 79 6f  75 20 63 68 61 6e 67 65  | lets you change|
00000890  20 74 68 65 20 63 75 72  72 65 6e 74 20 22 44 65  | the current "De|
000008a0  62 75 67 20 6c 65 76 65  6c 22 2e 20 54 68 69 73  |bug level". This|
000008b0  20 63 6f 6e 74 72 6f 6c  73 20 68 6f 77 20 6d 75  | controls how mu|
000008c0  63 68 0a 69 6e 66 6f 72  6d 61 74 69 6f 6e 20 61  |ch.information a|
000008d0  62 6f 75 74 20 73 63 72  69 70 74 20 65 78 65 63  |bout script exec|
000008e0  75 74 69 6f 6e 20 69 73  20 64 69 73 70 6c 61 79  |ution is display|
000008f0  65 64 20 69 6e 20 74 68  65 20 43 6f 6e 74 72 6f  |ed in the Contro|
00000900  6c 20 77 69 6e 64 6f 77  20 28 73 65 65 0a 74 68  |l window (see.th|
00000910  65 20 65 6e 74 72 79 20  6f 6e 20 74 68 65 20 22  |e entry on the "|
00000920  64 65 62 75 67 22 20 63  6f 6d 6d 61 6e 64 20 66  |debug" command f|
00000930  6f 72 20 6d 6f 72 65 20  69 6e 66 6f 72 6d 61 74  |or more informat|
00000940  69 6f 6e 20 6f 6e 20 74  68 65 20 65 78 61 63 74  |ion on the exact|
00000950  20 65 66 66 65 63 74 73  29 2e 0a 0a 54 68 65 20  | effects)...The |
00000960  6f 74 68 65 72 20 77 69  6e 64 6f 77 20 61 76 61  |other window ava|
00000970  69 6c 61 62 6c 65 20 66  72 6f 6d 20 74 68 65 20  |ilable from the |
00000980  73 6c 69 70 64 69 61 6c  20 69 63 6f 6e 20 2d 20  |slipdial icon - |
00000990  61 63 74 75 61 6c 6c 79  20 66 72 6f 6d 20 69 74  |actually from it|
000009a0  73 0a 61 73 73 6f 63 69  61 74 65 64 20 6d 65 6e  |s.associated men|
000009b0  75 20 2d 20 69 73 20 74  68 65 20 22 43 68 6f 69  |u - is the "Choi|
000009c0  63 65 73 22 20 77 69 6e  64 6f 77 2e 20 57 69 74  |ces" window. Wit|
000009d0  68 20 74 68 69 73 20 79  6f 75 20 63 61 6e 20 73  |h this you can s|
000009e0  70 65 63 69 66 79 20 77  68 69 63 68 0a 77 69 6e  |pecify which.win|
000009f0  64 6f 77 73 20 74 6f 20  6f 70 65 6e 2c 20 68 6f  |dows to open, ho|
00000a00  77 20 6c 61 72 67 65 20  74 6f 20 6d 61 6b 65 20  |w large to make |
00000a10  74 68 65 6d 2c 20 61 6e  64 20 77 68 65 74 68 65  |them, and whethe|
00000a20  72 20 74 6f 20 72 75 6e  20 61 20 73 70 65 63 69  |r to run a speci|
00000a30  66 69 65 64 0a 73 63 72  69 70 74 20 61 75 74 6f  |fied.script auto|
00000a40  6d 61 74 69 63 61 6c 6c  79 20 28 79 6f 75 20 63  |matically (you c|
00000a50  61 6e 20 64 72 61 67 20  61 20 66 69 6c 65 20 74  |an drag a file t|
00000a60  6f 20 74 68 65 20 77 72  69 74 61 62 6c 65 20 66  |o the writable f|
00000a70  69 65 6c 64 20 74 6f 20  73 65 74 0a 74 68 69 73  |ield to set.this|
00000a80  29 2e 20 54 68 65 73 65  20 63 68 6f 69 63 65 73  |). These choices|
00000a90  20 63 61 6e 20 62 65 20  73 61 76 65 64 20 61 73  | can be saved as|
00000aa0  20 64 65 66 61 75 6c 74  20 61 63 74 69 6f 6e 73  | default actions|
00000ab0  20 66 6f 72 20 65 76 65  72 79 20 74 69 6d 65 20  | for every time |
00000ac0  79 6f 75 20 72 75 6e 0a  73 6c 69 70 64 69 61 6c  |you run.slipdial|
00000ad0  2e 0a 0a 54 68 65 20 53  74 61 74 75 73 20 57 69  |...The Status Wi|
00000ae0  6e 64 6f 77 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ndow.-----------|
00000af0  2d 2d 2d 2d 2d 2d 0a 0a  49 66 20 79 6f 75 20 68  |------..If you h|
00000b00  61 76 65 20 74 72 6f 75  62 6c 65 20 67 65 74 74  |ave trouble gett|
00000b10  69 6e 67 20 73 6c 69 70  64 69 61 6c 20 74 6f 20  |ing slipdial to |
00000b20  63 6f 6d 6d 75 6e 69 63  61 74 65 20 77 69 74 68  |communicate with|
00000b30  20 79 6f 75 72 20 6d 6f  64 65 6d 2c 20 74 68 65  | your modem, the|
00000b40  0a 73 74 61 74 75 73 20  77 69 6e 64 6f 77 20 63  |.status window c|
00000b50  6f 6e 74 61 69 6e 73 20  73 6f 6d 65 20 64 69 61  |ontains some dia|
00000b60  67 6e 6f 74 69 63 20 61  69 64 73 20 69 6e 20 74  |gnotic aids in t|
00000b70  68 65 20 66 6f 72 6d 20  6f 66 20 33 20 22 4c 45  |he form of 3 "LE|
00000b80  44 27 73 22 2c 20 69 6e  20 74 68 65 0a 6c 6f 77  |D's", in the.low|
00000b90  65 72 20 72 69 67 68 74  2d 68 61 6e 64 20 63 6f  |er right-hand co|
00000ba0  72 6e 65 72 20 6f 66 20  74 68 65 20 77 69 6e 64  |rner of the wind|
00000bb0  6f 77 2e 20 54 68 65 73  65 20 73 68 6f 77 20 74  |ow. These show t|
00000bc0  68 65 20 73 74 61 74 65  20 6f 66 20 73 6f 6d 65  |he state of some|
00000bd0  20 6f 66 20 74 68 65 0a  6d 6f 72 65 20 69 6d 70  | of the.more imp|
00000be0  6f 72 74 61 6e 74 20 73  65 72 69 61 6c 20 63 6f  |ortant serial co|
00000bf0  6e 74 72 6f 6c 20 6c 69  6e 65 73 20 2d 20 66 72  |ntrol lines - fr|
00000c00  6f 6d 20 6c 65 66 74 20  74 6f 20 72 69 67 68 74  |om left to right|
00000c10  3a 20 44 54 52 20 28 64  61 74 61 20 74 65 72 6d  |: DTR (data term|
00000c20  69 6e 61 6c 0a 72 65 61  64 79 29 3b 20 43 54 53  |inal.ready); CTS|
00000c30  20 61 6e 64 20 43 44 20  28 63 61 72 72 69 65 72  | and CD (carrier|
00000c40  20 64 65 74 65 63 74 29  2e 20 4f 66 20 74 68 65  | detect). Of the|
00000c50  73 65 2c 20 70 72 6f 62  61 62 6c 79 20 6f 6e 6c  |se, probably onl|
00000c60  79 20 44 54 52 20 61 6e  64 20 43 44 20 61 72 65  |y DTR and CD are|
00000c70  0a 6f 66 20 76 65 72 79  20 6d 75 63 68 20 69 6e  |.of very much in|
00000c80  74 65 72 65 73 74 20 2d  20 44 54 52 20 69 6e 64  |terest - DTR ind|
00000c90  69 63 61 74 65 73 20 74  68 61 74 20 74 68 65 20  |icates that the |
00000ca0  73 65 72 69 61 6c 20 6c  69 6e 65 20 69 73 20 61  |serial line is a|
00000cb0  63 74 69 76 65 20 61 6e  64 20 74 68 65 0a 6d 6f  |ctive and the.mo|
00000cc0  64 65 6d 20 69 73 20 69  6e 20 61 20 63 6f 6e 64  |dem is in a cond|
00000cd0  69 74 69 6f 6e 20 74 6f  20 62 65 20 74 61 6c 6b  |ition to be talk|
00000ce0  65 64 2d 74 6f 3b 20 77  68 69 6c 65 20 43 44 20  |ed-to; while CD |
00000cf0  69 6e 64 69 63 61 74 65  73 20 74 68 61 74 20 74  |indicates that t|
00000d00  68 65 20 6d 6f 64 65 6d  0a 69 73 20 6f 6e 6c 69  |he modem.is onli|
00000d10  6e 65 20 61 6e 64 20 68  61 73 20 65 73 74 61 62  |ne and has estab|
00000d20  6c 69 73 68 65 64 20 63  6f 6d 6d 75 6e 69 63 61  |lished communica|
00000d30  74 69 6f 6e 20 77 69 74  68 20 74 68 65 20 72 65  |tion with the re|
00000d40  6d 6f 74 65 20 6d 6f 64  65 6d 2e 0a 0a 53 74 61  |mote modem...Sta|
00000d50  72 74 75 70 20 66 6c 61  67 73 0a 2d 2d 2d 2d 2d  |rtup flags.-----|
00000d60  2d 2d 2d 2d 2d 2d 2d 2d  0a 0a 54 6f 20 6f 76 65  |--------..To ove|
00000d70  72 72 69 64 65 20 74 68  65 20 61 75 74 6f 2d 72  |rride the auto-r|
00000d80  75 6e 20 6f 70 74 69 6f  6e 2c 20 68 6f 6c 64 20  |un option, hold |
00000d90  64 6f 77 6e 20 74 68 65  20 41 4c 54 20 6b 65 79  |down the ALT key|
00000da0  20 77 68 69 6c 65 20 73  74 61 72 74 69 6e 67 0a  | while starting.|
00000db0  53 4c 49 50 64 69 61 6c  2e 0a 0a 43 6f 6d 6d 61  |SLIPdial...Comma|
00000dc0  6e 64 2d 6c 69 6e 65 20  73 74 61 72 74 75 70 20  |nd-line startup |
00000dd0  66 6c 61 67 73 20 69 6e  63 6c 75 64 65 3a 0a 0a  |flags include:..|
00000de0  2d 66 69 6c 65 20 3c 66  69 6c 65 6e 61 6d 65 3e  |-file <filename>|
00000df0  0a 20 72 75 6e 73 20 61  20 73 70 65 63 69 66 69  |. runs a specifi|
00000e00  65 64 20 73 63 72 69 70  74 20 66 69 6c 65 20 6f  |ed script file o|
00000e10  6e 20 73 74 61 72 74 75  70 2e 20 45 78 61 6d 70  |n startup. Examp|
00000e20  6c 65 3a 0a 20 20 20 72  75 6e 20 53 6c 69 70 64  |le:.   run Slipd|
00000e30  69 61 6c 3a 21 52 75 6e  20 2d 66 69 6c 65 20 53  |ial:!Run -file S|
00000e40  4c 49 50 64 69 61 6c 3a  63 61 6c 6c 5f 64 65 6d  |LIPdial:call_dem|
00000e50  6f 6e 0a 0a 2d 71 75 69  65 74 0a 20 70 65 76 65  |on..-quiet. peve|
00000e60  6e 74 73 20 73 74 61 74  75 73 20 61 6e 64 20 63  |nts status and c|
00000e70  6f 6e 74 72 6f 6c 20 77  69 6e 64 6f 77 73 20 66  |ontrol windows f|
00000e80  72 6f 6d 20 62 65 69 6e  67 20 6f 70 65 6e 65 64  |rom being opened|
00000e90  20 61 74 20 73 74 61 72  74 75 70 2e 0a 0a 2d 61  | at startup...-a|
00000ea0  75 74 6f 0a 20 61 75 74  6f 72 75 6e 73 20 74 68  |uto. autoruns th|
00000eb0  65 20 73 63 72 69 70 74  20 53 6c 69 70 64 69 61  |e script Slipdia|
00000ec0  6c 3a 64 65 66 61 75 6c  74 0a 0a 2d 73 70 72 69  |l:default..-spri|
00000ed0  74 65 20 3c 73 69 7a 65  3e 0a 20 73 70 65 63 69  |te <size>. speci|
00000ee0  66 69 65 73 20 73 69 7a  65 20 6f 66 20 73 6c 69  |fies size of sli|
00000ef0  70 64 69 61 6c 27 73 20  69 6e 74 65 72 6e 61 6c  |pdial's internal|
00000f00  20 73 70 72 69 74 65 20  61 72 65 61 2c 20 66 6f  | sprite area, fo|
00000f10  72 20 61 64 64 69 74 69  6f 6e 20 6f 66 20 75 73  |r addition of us|
00000f20  65 72 20 69 63 6f 6e 73  2e 0a 0a 41 6c 6c 20 73  |er icons...All s|
00000f30  74 61 72 74 75 70 20 66  6c 61 67 73 2f 73 77 69  |tartup flags/swi|
00000f40  74 63 68 65 73 20 63 61  6e 20 62 65 20 61 62 62  |tches can be abb|
00000f50  72 65 76 69 61 74 65 64  20 74 6f 20 31 20 73 69  |reviated to 1 si|
00000f60  67 6e 69 66 69 63 61 6e  74 20 63 68 61 72 61 63  |gnificant charac|
00000f70  74 65 72 2e 20 46 6f 72  0a 65 78 61 6d 70 6c 65  |ter. For.example|
00000f80  3a 0a 20 20 72 75 6e 20  73 6c 69 70 64 69 61 6c  |:.  run slipdial|
00000f90  3a 21 52 75 6e 20 2d 73  20 38 30 30 30 20 2d 66  |:!Run -s 8000 -f|
00000fa0  20 53 6c 69 70 64 69 61  6c 3a 63 61 6c 6c 5f 64  | Slipdial:call_d|
00000fb0  65 6d 6f 6e 0a 0a 53 63  72 69 70 74 20 6c 61 6e  |emon..Script lan|
00000fc0  67 75 61 67 65 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |guage.----------|
00000fd0  2d 2d 2d 2d 2d 0a 0a 54  68 65 72 65 27 73 20 6e  |-----..There's n|
00000fe0  6f 20 63 6f 6e 73 69 73  74 61 6e 63 79 20 74 6f  |o consistancy to|
00000ff0  20 77 68 61 74 27 73 20  69 6e 20 74 68 65 20 6c  | what's in the l|
00001000  61 6e 67 75 61 67 65 3b  20 6a 75 73 74 20 77 68  |anguage; just wh|
00001010  61 74 65 76 65 72 20 49  20 74 68 6f 75 67 68 74  |atever I thought|
00001020  0a 6d 69 67 68 74 20 62  65 20 75 73 65 66 75 6c  |.might be useful|
00001030  2e 20 54 68 65 20 6c 61  6e 67 75 61 67 65 20 68  |. The language h|
00001040  61 73 20 65 76 6f 6c 76  65 64 20 74 6f 20 62 65  |as evolved to be|
00001050  20 73 6f 6d 65 74 68 69  6e 67 20 6c 69 6b 65 20  | something like |
00001060  56 4d 53 20 44 43 4c 2c  20 69 6e 0a 74 68 61 74  |VMS DCL, in.that|
00001070  20 63 6f 6d 6d 61 6e 64  73 20 61 72 65 20 6f 66  | commands are of|
00001080  74 65 6e 20 6d 6f 64 69  66 69 65 64 20 62 79 20  |ten modified by |
00001090  71 75 61 6c 69 66 69 65  72 73 20 28 63 6f 6d 6d  |qualifiers (comm|
000010a0  61 6e 64 2f 71 75 61 6c  69 66 69 65 72 3d 76 61  |and/qualifier=va|
000010b0  6c 75 65 29 2e 0a 49 74  27 73 20 65 76 65 6e 20  |lue)..It's even |
000010c0  73 69 6d 69 6c 61 72 20  74 6f 20 44 43 4c 20 69  |similar to DCL i|
000010d0  6e 20 69 74 73 20 65 78  74 72 65 6d 65 20 6c 65  |n its extreme le|
000010e0  74 68 61 72 67 79 20 6f  66 20 65 78 65 63 75 74  |thargy of execut|
000010f0  69 6f 6e 21 0a 0a 4f 6e  65 20 75 73 65 66 75 6c  |ion!..One useful|
00001100  20 70 6f 69 6e 74 20 74  6f 20 6b 6e 6f 77 20 69  | point to know i|
00001110  73 20 74 68 61 74 20 74  68 65 20 66 69 72 73 74  |s that the first|
00001120  20 6c 69 6e 65 20 6f 66  20 61 20 73 63 72 69 70  | line of a scrip|
00001130  74 20 4d 55 53 54 20 62  65 3a 0a 23 73 6c 69 70  |t MUST be:.#slip|
00001140  64 69 61 6c 0a 0a 61 6e  64 20 61 6e 6f 74 68 65  |dial..and anothe|
00001150  72 20 69 73 20 74 68 61  74 20 74 68 61 74 20 73  |r is that that s|
00001160  63 72 69 70 74 66 69 6c  65 73 20 6d 75 73 74 20  |criptfiles must |
00001170  68 61 76 65 20 74 68 65  20 22 54 65 78 74 22 20  |have the "Text" |
00001180  66 69 6c 65 74 79 70 65  2e 20 54 68 65 0a 22 23  |filetype. The."#|
00001190  73 6c 69 70 64 69 61 6c  22 20 63 6f 6d 6d 65 6e  |slipdial" commen|
000011a0  74 20 61 74 20 74 68 65  20 73 74 61 72 74 20 6f  |t at the start o|
000011b0  66 20 74 68 65 20 66 69  6c 65 20 70 72 65 76 65  |f the file preve|
000011c0  6e 74 73 20 73 6c 69 70  64 69 61 6c 20 66 72 6f  |nts slipdial fro|
000011d0  6d 0a 61 74 74 65 6d 70  74 69 6e 67 20 74 6f 20  |m.attempting to |
000011e0  6c 6f 61 64 20 6e 6f 6e  2d 73 63 72 69 70 74 20  |load non-script |
000011f0  74 65 78 74 66 69 6c 65  73 2e 0a 0a 45 76 65 6e  |textfiles...Even|
00001200  74 73 0a 2d 2d 2d 2d 2d  2d 0a 0a 43 65 72 74 61  |ts.------..Certa|
00001210  69 6e 20 63 6f 6d 6d 61  6e 64 73 20 73 65 74 20  |in commands set |
00001220  75 70 20 61 63 74 69 6f  6e 73 20 77 69 74 68 20  |up actions with |
00001230  6d 61 79 20 6f 63 63 75  72 20 61 73 79 6e 63 68  |may occur asynch|
00001240  72 6f 6e 6f 75 73 6c 79  2c 20 6d 65 61 6e 69 6e  |ronously, meanin|
00001250  67 20 74 68 65 79 0a 64  6f 6e 27 74 20 66 6f 6c  |g they.don't fol|
00001260  6c 6f 77 20 74 68 65 20  6e 6f 72 6d 61 6c 20 66  |low the normal f|
00001270  6c 6f 77 20 6f 66 20 74  68 65 20 73 63 72 69 70  |low of the scrip|
00001280  74 2e 20 54 68 65 73 65  20 63 6f 75 6c 64 20 69  |t. These could i|
00001290  6e 63 6c 75 64 65 20 74  69 6d 65 64 0a 61 6c 61  |nclude timed.ala|
000012a0  72 6d 73 2c 20 75 73 65  72 20 6d 65 6e 75 20 73  |rms, user menu s|
000012b0  65 6c 65 63 74 69 6f 6e  73 2c 20 6c 69 6e 65 2d  |elections, line-|
000012c0  63 6f 6e 64 69 74 69 6f  6e 20 61 6c 61 72 6d 73  |condition alarms|
000012d0  2c 20 65 74 63 2e 20 46  6f 72 20 74 68 65 20 73  |, etc. For the s|
000012e0  61 6b 65 20 6f 66 0a 67  69 76 69 6e 67 20 74 68  |ake of.giving th|
000012f0  65 73 65 20 61 20 6e 61  6d 65 2c 20 49 20 73 68  |ese a name, I sh|
00001300  61 6c 6c 20 63 61 6c 6c  20 74 68 65 73 65 20 22  |all call these "|
00001310  65 76 65 6e 74 73 22 2e  20 54 68 6f 75 67 68 20  |events". Though |
00001320  74 68 65 79 20 63 61 6e  20 62 65 20 61 0a 6c 69  |they can be a.li|
00001330  74 74 6c 65 20 68 61 72  64 20 74 6f 20 75 6e 64  |ttle hard to und|
00001340  65 72 73 74 61 6e 64 20  61 74 20 66 69 72 73 74  |erstand at first|
00001350  20 28 74 68 65 79 20 63  61 6e 20 6d 61 6b 65 20  | (they can make |
00001360  69 74 20 68 61 72 64 20  74 6f 20 75 6e 64 65 72  |it hard to under|
00001370  73 74 61 6e 64 20 74 68  65 0a 22 66 6c 6f 77 22  |stand the."flow"|
00001380  20 6f 66 20 79 6f 75 72  20 73 63 72 69 70 74 29  | of your script)|
00001390  2c 20 6d 61 6e 79 20 6f  66 20 74 68 65 20 6d 6f  |, many of the mo|
000013a0  73 74 20 75 73 65 66 75  6c 20 73 63 72 69 70 74  |st useful script|
000013b0  20 63 61 70 61 62 69 6c  69 74 69 65 73 20 63 65  | capabilities ce|
000013c0  6e 74 65 72 0a 61 72 6f  75 6e 64 20 74 68 65 6d  |nter.around them|
000013d0  2e 0a 0a 53 4c 49 50 64  69 61 6c 20 73 63 72 69  |...SLIPdial scri|
000013e0  70 74 20 73 79 6e 74 61  78 0a 2d 2d 2d 2d 2d 2d  |pt syntax.------|
000013f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001400  0a 0a 4d 61 6e 79 20 73  6c 69 70 64 69 61 6c 20  |..Many slipdial |
00001410  63 6f 6d 6d 61 6e 64 73  20 63 61 6e 20 74 61 6b  |commands can tak|
00001420  65 20 71 75 61 6c 69 66  69 65 72 73 2c 20 77 68  |e qualifiers, wh|
00001430  69 63 68 20 61 6c 74 65  72 20 74 68 65 69 72 20  |ich alter their |
00001440  62 65 68 61 76 69 6f 75  72 0a 69 6e 20 73 6f 6d  |behaviour.in som|
00001450  65 20 77 61 79 2e 20 43  6f 6d 6d 61 6e 64 20 71  |e way. Command q|
00001460  75 61 6c 69 66 69 65 72  73 20 61 72 65 20 69 6e  |ualifiers are in|
00001470  74 72 6f 64 75 63 65 64  20 77 69 74 68 20 61 20  |troduced with a |
00001480  73 6c 61 73 68 20 28 2f  29 20 61 6e 64 20 6d 61  |slash (/) and ma|
00001490  79 20 69 6e 0a 73 6f 6d  65 20 63 61 73 65 73 20  |y in.some cases |
000014a0  62 65 20 66 6f 6c 6c 6f  77 65 64 20 62 79 20 61  |be followed by a|
000014b0  20 76 61 6c 75 65 20 61  66 74 65 72 20 61 6e 20  | value after an |
000014c0  65 71 75 61 6c 73 20 73  69 67 6e 2e 0a 0a 50 61  |equals sign...Pa|
000014d0  72 61 6d 65 74 65 72 73  20 61 6e 64 20 71 75 61  |rameters and qua|
000014e0  6c 69 66 69 65 72 73 20  61 72 65 20 67 65 6e 65  |lifiers are gene|
000014f0  72 61 6c 6c 79 20 73 70  61 63 65 2d 64 65 6c 69  |rally space-deli|
00001500  6d 69 74 65 64 20 2d 20  69 66 20 79 6f 75 20 77  |mited - if you w|
00001510  69 73 68 20 74 6f 0a 69  6e 63 6c 75 64 65 20 73  |ish to.include s|
00001520  70 61 63 65 73 2c 20 74  68 65 20 70 61 72 61 6d  |paces, the param|
00001530  65 74 65 72 20 6f 72 20  71 75 61 6c 69 66 69 65  |eter or qualifie|
00001540  72 20 73 68 6f 75 6c 64  20 62 65 20 65 6e 63 6c  |r should be encl|
00001550  6f 73 65 64 20 69 6e 20  71 75 6f 74 61 74 69 6f  |osed in quotatio|
00001560  6e 0a 6d 61 72 6b 73 2e  0a 0a 4d 75 6c 74 69 70  |n.marks...Multip|
00001570  6c 65 20 63 6f 6d 6d 61  6e 64 73 20 6f 6e 20 61  |le commands on a|
00001580  20 6c 69 6e 65 20 61 72  65 20 73 65 70 61 72 61  | line are separa|
00001590  74 65 64 20 77 69 74 68  20 74 68 65 20 22 3b 22  |ted with the ";"|
000015a0  20 63 68 61 72 61 63 74  65 72 2e 0a 0a 43 6f 6d  | character...Com|
000015b0  6d 61 6e 64 73 20 6d 61  79 20 62 65 20 63 6f 6e  |mands may be con|
000015c0  74 69 6e 75 65 64 20 61  63 72 6f 73 73 20 6c 69  |tinued across li|
000015d0  6e 65 73 20 62 79 20 75  73 69 6e 67 20 61 20 74  |nes by using a t|
000015e0  72 61 69 6c 69 6e 67 20  22 2d 22 2e 0a 0a 43 68  |railing "-"...Ch|
000015f0  61 72 61 63 74 65 72 73  20 77 69 74 68 20 73 70  |aracters with sp|
00001600  65 63 69 61 6c 20 6d 65  61 6e 69 6e 67 20 6d 61  |ecial meaning ma|
00001610  79 20 62 65 20 65 73 63  61 70 65 64 20 77 69 74  |y be escaped wit|
00001620  68 20 74 68 65 20 22 5c  22 20 63 68 61 72 61 63  |h the "\" charac|
00001630  74 65 72 20 74 6f 0a 70  72 65 76 65 6e 74 20 74  |ter to.prevent t|
00001640  68 65 69 72 20 69 6e 74  65 72 70 72 65 74 61 74  |heir interpretat|
00001650  69 6f 6e 2e 20 53 70 65  63 69 61 6c 20 63 68 61  |ion. Special cha|
00001660  72 61 63 74 65 72 73 20  69 6e 63 6c 75 64 65 3a  |racters include:|
00001670  0a 20 2f 20 20 20 20 20  20 69 6e 74 72 6f 64 75  |. /      introdu|
00001680  63 65 73 20 71 75 61 6c  69 66 69 65 72 0a 20 73  |ces qualifier. s|
00001690  70 61 63 65 20 20 73 65  70 61 72 61 74 65 73 20  |pace  separates |
000016a0  63 6f 6d 6d 61 6e 64 20  63 6f 6d 70 6f 6e 65 6e  |command componen|
000016b0  74 73 0a 20 22 20 20 20  20 20 20 65 6e 63 6c 6f  |ts. "      enclo|
000016c0  73 65 73 20 63 6f 6d 70  6f 6e 65 6e 74 73 20 74  |ses components t|
000016d0  6f 20 70 72 65 76 65 6e  74 20 73 70 6c 69 74 74  |o prevent splitt|
000016e0  69 6e 67 0a 20 3b 20 20  20 20 20 20 73 65 70 61  |ing. ;      sepa|
000016f0  72 61 74 65 73 20 63 6f  6d 6d 61 6e 64 73 20 6f  |rates commands o|
00001700  6e 20 61 20 6c 69 6e 65  0a 20 25 20 20 20 20 20  |n a line. %     |
00001710  20 69 6e 74 72 6f 64 75  63 65 73 20 73 63 72 69  | introduces scri|
00001720  70 74 20 76 61 72 69 61  62 6c 65 0a 20 5c 20 20  |pt variable. \  |
00001730  20 20 20 20 74 68 65 20  65 73 63 61 70 65 20 63  |    the escape c|
00001740  68 61 72 61 63 74 65 72  20 69 74 73 65 6c 66 0a  |haracter itself.|
00001750  0a 52 65 6d 65 6d 62 65  72 20 74 6f 20 75 73 65  |.Remember to use|
00001760  20 65 78 74 72 61 20 65  73 63 61 70 65 20 63 68  | extra escape ch|
00001770  61 72 61 63 74 65 72 73  20 69 6e 20 6c 69 6e 65  |aracters in line|
00001780  73 20 77 68 69 63 68 20  6d 61 79 20 62 65 20 65  |s which may be e|
00001790  78 70 61 6e 64 65 64 20  6d 6f 72 65 0a 74 68 61  |xpanded more.tha|
000017a0  6e 20 6f 6e 63 65 2e 20  46 6f 72 20 65 78 61 6d  |n once. For exam|
000017b0  70 6c 65 2c 20 74 68 65  20 6c 69 6e 65 3a 0a 20  |ple, the line:. |
000017c0  61 6c 61 72 6d 2f 69 63  6f 6e 3d 74 65 73 74 20  |alarm/icon=test |
000017d0  22 6d 65 73 73 61 67 65  20 5c 5c 25 24 66 69 6c  |"message \\%$fil|
000017e0  65 20 5c 5c 25 24 74 79  70 65 22 0a 6e 65 65 64  |e \\%$type".need|
000017f0  73 20 74 77 6f 20 65 73  63 61 70 65 20 63 68 61  |s two escape cha|
00001800  72 61 63 74 65 72 73 20  74 6f 20 71 75 6f 74 65  |racters to quote|
00001810  20 74 68 65 20 76 61 72  69 61 62 6c 65 73 2c 20  | the variables, |
00001820  61 73 20 74 68 65 79 20  61 72 65 20 65 78 70 61  |as they are expa|
00001830  6e 64 65 64 0a 6f 6e 63  65 20 75 70 6f 6e 20 73  |nded.once upon s|
00001840  65 74 74 69 6e 67 20 74  68 65 20 61 6c 61 72 6d  |etting the alarm|
00001850  2c 20 74 68 65 6e 20 61  67 61 69 6e 20 6f 6e 20  |, then again on |
00001860  61 6c 61 72 6d 20 65 78  65 63 75 74 69 6f 6e 2e  |alarm execution.|
00001870  20 55 6e 66 6f 72 74 75  6e 61 74 65 6c 79 2c 0a  | Unfortunately,.|
00001880  74 68 65 20 6e 75 6d 62  65 72 20 6f 66 20 65 73  |the number of es|
00001890  63 61 70 65 20 63 68 61  72 61 63 74 65 72 73 20  |cape characters |
000018a0  6e 65 65 64 65 64 20 69  6e 20 61 6e 79 20 72 65  |needed in any re|
000018b0  6c 61 74 69 76 65 6c 79  20 63 6f 6d 70 6c 65 78  |latively complex|
000018c0  20 73 69 74 75 61 74 69  6f 6e 0a 6c 69 6b 65 20  | situation.like |
000018d0  74 68 69 73 20 6d 61 79  20 6e 6f 74 20 6d 61 6b  |this may not mak|
000018e0  65 20 73 65 6e 73 65 2c  20 61 6e 64 20 73 68 6f  |e sense, and sho|
000018f0  75 6c 64 20 70 72 6f 62  61 62 6c 79 20 62 65 20  |uld probably be |
00001900  73 75 62 6a 65 63 74 20  74 6f 0a 65 78 70 65 72  |subject to.exper|
00001910  69 6d 65 6e 74 61 74 69  6f 6e 21 20 41 20 6c 61  |imentation! A la|
00001920  74 65 72 20 76 65 72 73  69 6f 6e 20 6f 66 20 74  |ter version of t|
00001930  68 65 20 73 63 72 69 70  74 20 69 6e 74 65 72 70  |he script interp|
00001940  72 65 74 65 72 20 6d 61  79 20 64 6f 20 61 20 62  |reter may do a b|
00001950  65 74 74 65 72 0a 6a 6f  62 20 68 65 72 65 2e 2e  |etter.job here..|
00001960  2e 0a 0a 54 68 65 20 76  61 6c 75 65 73 20 6f 66  |...The values of|
00001970  20 73 63 72 69 70 74 20  76 61 72 69 61 62 6c 65  | script variable|
00001980  73 20 6d 61 79 20 62 65  20 73 75 62 73 74 69 74  |s may be substit|
00001990  75 74 65 64 20 69 6e 74  6f 20 6c 69 6e 65 73 20  |uted into lines |
000019a0  62 79 20 70 72 65 66 69  78 69 6e 67 0a 74 68 65  |by prefixing.the|
000019b0  6d 20 77 69 74 68 20 61  20 22 25 22 2e 20 46 6f  |m with a "%". Fo|
000019c0  72 20 65 78 61 6d 70 6c  65 2c 20 61 66 74 65 72  |r example, after|
000019d0  20 74 68 65 20 63 6f 6d  6d 61 6e 64 20 22 73 65  | the command "se|
000019e0  74 20 74 65 73 74 20 68  65 6c 6c 6f 22 2c 20 74  |t test hello", t|
000019f0  68 65 0a 63 6f 6d 6d 61  6e 64 20 22 6d 65 73 73  |he.command "mess|
00001a00  61 67 65 20 25 74 65 73  74 22 20 65 78 70 61 6e  |age %test" expan|
00001a10  64 73 20 69 6e 74 6f 20  22 6d 65 73 73 61 67 65  |ds into "message|
00001a20  20 68 65 6c 6c 6f 22 2e  0a 0a 54 68 65 20 6f 75  | hello"...The ou|
00001a30  74 70 75 74 20 6f 66 20  61 6e 6f 74 68 65 72 20  |tput of another |
00001a40  63 6f 6d 6d 61 6e 64 20  63 61 6e 20 61 6c 73 6f  |command can also|
00001a50  20 62 65 20 73 75 62 73  74 69 74 75 74 65 64 20  | be substituted |
00001a60  69 6e 74 6f 20 61 20 6c  69 6e 65 2e 20 54 6f 20  |into a line. To |
00001a70  64 6f 0a 74 68 69 73 2c  20 74 68 65 20 63 6f 6d  |do.this, the com|
00001a80  6d 61 6e 64 20 69 73 20  65 6e 63 6c 6f 73 65 64  |mand is enclosed|
00001a90  20 69 6e 20 63 75 72 6c  79 20 62 72 61 63 6b 65  | in curly bracke|
00001aa0  74 73 20 7b 2c 7d 2e 20  54 68 65 20 72 65 74 75  |ts {,}. The retu|
00001ab0  72 6e 20 76 61 6c 75 65  20 6f 66 20 74 68 65 0a  |rn value of the.|
00001ac0  65 6e 63 6c 6f 73 65 64  20 63 6f 6d 6d 61 6e 64  |enclosed command|
00001ad0  20 77 69 6c 6c 20 62 65  20 73 75 62 73 74 69 74  | will be substit|
00001ae0  75 74 65 64 20 69 6e 20  69 74 73 20 70 6c 61 63  |uted in its plac|
00001af0  65 2e 20 46 6f 72 20 65  78 61 6d 70 6c 65 3a 0a  |e. For example:.|
00001b00  20 73 65 74 20 74 65 73  74 20 7b 3f 66 69 6c 65  | set test {?file|
00001b10  20 73 6c 69 70 64 69 61  6c 3a 21 72 75 6e 7d 0a  | slipdial:!run}.|
00001b20  65 78 70 61 6e 64 73 20  74 6f 3a 0a 20 73 65 74  |expands to:. set|
00001b30  20 74 65 73 74 20 31 0a  28 61 73 73 75 6d 69 6e  | test 1.(assumin|
00001b40  67 20 74 68 65 20 66 69  6c 65 20 27 73 6c 69 70  |g the file 'slip|
00001b50  64 69 61 6c 3a 21 52 75  6e 27 20 68 61 73 20 61  |dial:!Run' has a|
00001b60  6e 20 6f 62 6a 65 63 74  20 74 79 70 65 20 6f 66  |n object type of|
00001b70  20 31 29 2e 0a 41 6e 6f  74 68 65 72 20 65 78 61  | 1)..Another exa|
00001b80  6d 70 6c 65 3a 0a 20 6d  65 73 73 61 67 65 20 7b  |mple:. message {|
00001b90  69 63 6f 6e 2f 66 72 65  65 7d 0a 64 69 73 70 6c  |icon/free}.displ|
00001ba0  61 79 73 20 74 68 65 20  6e 75 6d 62 65 72 20 6f  |ays the number o|
00001bb0  66 20 66 72 65 65 20 62  79 74 65 73 20 69 6e 20  |f free bytes in |
00001bc0  74 68 65 20 73 6c 69 70  64 69 61 6c 20 73 70 72  |the slipdial spr|
00001bd0  69 74 65 20 61 72 65 61  20 69 6e 20 61 20 77 69  |ite area in a wi|
00001be0  6e 64 6f 77 2e 0a 0a 53  6c 69 70 64 69 61 6c 20  |ndow...Slipdial |
00001bf0  73 63 72 69 70 74 20 63  6f 6d 6d 61 6e 64 73 0a  |script commands.|
00001c00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001c10  2d 2d 2d 2d 2d 2d 2d 2d  0a 31 3a 20 47 65 6e 65  |--------.1: Gene|
00001c20  72 61 6c 0a 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 0a  |ral.----------..|
00001c30  23 20 63 6f 6d 6d 65 6e  74 0a 20 69 6e 74 72 6f  |# comment. intro|
00001c40  64 75 63 65 73 20 61 20  63 6f 6d 6d 65 6e 74 20  |duces a comment |
00001c50  2d 20 74 68 65 20 6c 69  6e 65 20 69 73 20 69 67  |- the line is ig|
00001c60  6e 6f 72 65 64 20 28 61  6e 64 2c 20 69 6e 20 66  |nored (and, in f|
00001c70  61 63 74 2c 20 6e 6f 74  20 6c 6f 61 64 65 64 29  |act, not loaded)|
00001c80  2e 0a 0a 64 65 62 75 67  20 3c 6e 3e 0a 20 73 65  |...debug <n>. se|
00001c90  74 73 20 64 65 62 75 67  67 69 6e 67 20 6c 65 76  |ts debugging lev|
00001ca0  65 6c 20 2d 20 63 6f 6e  74 72 6f 6c 73 20 77 68  |el - controls wh|
00001cb0  61 74 20 6c 65 76 65 6c  20 6f 66 20 69 6e 66 6f  |at level of info|
00001cc0  72 6d 61 74 69 6f 6e 20  69 73 20 73 65 6e 74 20  |rmation is sent |
00001cd0  74 6f 20 74 68 65 0a 20  63 6f 6e 74 72 6f 6c 20  |to the. control |
00001ce0  77 69 6e 64 6f 77 20 61  6e 64 20 64 65 62 75 67  |window and debug|
00001cf0  20 66 69 6c 65 20 28 69  66 20 61 6e 79 29 2e 0a  | file (if any)..|
00001d00  20 20 20 30 20 6e 6f 20  64 65 62 75 67 20 6f 75  |   0 no debug ou|
00001d10  74 70 75 74 0a 20 20 20  31 20 73 63 72 69 70 74  |tput.   1 script|
00001d20  20 70 72 6f 67 72 65 73  73 0a 20 20 20 32 20 74  | progress.   2 t|
00001d30  65 78 74 20 72 65 63 65  69 76 65 64 20 66 72 6f  |ext received fro|
00001d40  6d 20 6d 6f 64 65 6d 0a  20 20 20 33 20 6c 6f 67  |m modem.   3 log|
00001d50  20 62 6f 74 68 20 74 65  78 74 20 26 20 73 63 72  | both text & scr|
00001d60  69 70 74 0a 0a 65 63 68  6f 20 5b 2f 73 74 61 74  |ipt..echo [/stat|
00001d70  75 73 5d 20 5b 2f 64 61  74 65 5d 20 3c 73 74 72  |us] [/date] <str|
00001d80  69 6e 67 3e 0a 20 65 63  68 6f 65 73 20 61 20 73  |ing>. echoes a s|
00001d90  74 72 69 6e 67 20 28 6f  72 20 73 65 74 20 6f 66  |tring (or set of|
00001da0  20 73 74 72 69 6e 67 73  29 20 74 6f 20 74 68 65  | strings) to the|
00001db0  20 63 6f 6e 74 72 6f 6c  20 77 69 6e 64 6f 77 20  | control window |
00001dc0  28 64 65 66 61 75 6c 74  29 0a 20 20 6f 72 20 74  |(default).  or t|
00001dd0  68 65 20 73 74 61 74 75  73 20 77 69 6e 64 6f 77  |he status window|
00001de0  2e 0a 20 2f 64 61 74 65  20 61 64 64 73 20 74 68  |.. /date adds th|
00001df0  65 20 63 75 72 72 65 6e  74 20 64 61 74 65 20 74  |e current date t|
00001e00  6f 20 74 68 65 20 73 74  72 69 6e 67 20 62 65 66  |o the string bef|
00001e10  6f 72 65 20 77 72 69 74  69 6e 67 2e 0a 0a 73 65  |ore writing...se|
00001e20  74 20 3c 76 61 72 69 61  62 6c 65 3e 20 3c 76 61  |t <variable> <va|
00001e30  6c 75 65 3e 20 5b 3c 76  61 72 69 61 62 6c 65 3e  |lue> [<variable>|
00001e40  20 3c 76 61 6c 75 65 3e  20 2e 2e 2e 20 5d 0a 20  | <value> ... ]. |
00001e50  61 73 73 69 67 6e 73 20  61 20 76 61 6c 75 65 20  |assigns a value |
00001e60  74 6f 20 61 20 73 63 72  69 70 74 20 76 61 72 69  |to a script vari|
00001e70  61 62 6c 65 2e 20 3c 76  61 6c 75 65 3e 20 73 68  |able. <value> sh|
00001e80  6f 75 6c 64 20 62 65 20  71 75 6f 74 65 64 20 69  |ould be quoted i|
00001e90  66 20 69 74 0a 20 69 6e  63 6c 75 64 65 73 20 73  |f it. includes s|
00001ea0  70 61 63 65 73 2e 20 4d  6f 72 65 20 74 68 61 6e  |paces. More than|
00001eb0  20 6f 6e 65 20 76 61 72  69 61 62 6c 65 2f 76 61  | one variable/va|
00001ec0  6c 75 65 20 70 61 69 72  20 6d 61 79 20 62 65 20  |lue pair may be |
00001ed0  73 65 74 20 61 74 20 6f  6e 63 65 2e 0a 0a 75 6e  |set at once...un|
00001ee0  73 65 74 20 3c 76 61 72  69 61 62 6c 65 3e 0a 20  |set <variable>. |
00001ef0  64 65 61 73 73 69 67 6e  73 20 61 20 73 63 72 69  |deassigns a scri|
00001f00  70 74 20 76 61 72 69 61  62 6c 65 2e 0a 0a 3f 65  |pt variable...?e|
00001f10  71 20 3c 76 61 72 69 61  62 6c 65 3e 20 3c 76 61  |q <variable> <va|
00001f20  72 69 61 62 6c 65 7c 76  61 6c 75 65 3e 0a 3f 6e  |riable|value>.?n|
00001f30  65 20 3c 76 61 72 69 61  62 6c 65 3e 20 3c 76 61  |e <variable> <va|
00001f40  72 69 61 62 6c 65 7c 76  61 6c 75 65 3e 0a 3f 6c  |riable|value>.?l|
00001f50  74 20 3c 76 61 72 69 61  62 6c 65 3e 20 3c 76 61  |t <variable> <va|
00001f60  72 69 61 62 6c 65 7c 76  61 6c 75 65 3e 0a 3f 6c  |riable|value>.?l|
00001f70  65 20 3c 76 61 72 69 61  62 6c 65 3e 20 3c 76 61  |e <variable> <va|
00001f80  72 69 61 62 6c 65 7c 76  61 6c 75 65 3e 0a 3f 67  |riable|value>.?g|
00001f90  74 20 3c 76 61 72 69 61  62 6c 65 3e 20 3c 76 61  |t <variable> <va|
00001fa0  72 69 61 62 6c 65 7c 76  61 6c 75 65 3e 0a 3f 67  |riable|value>.?g|
00001fb0  65 20 3c 76 61 72 69 61  62 6c 65 3e 20 3c 76 61  |e <variable> <va|
00001fc0  72 69 61 62 6c 65 7c 76  61 6c 75 65 3e 0a 20 74  |riable|value>. t|
00001fd0  68 65 73 65 20 74 65 73  74 20 77 68 65 74 68 65  |hese test whethe|
00001fe0  72 20 61 20 76 61 72 69  61 62 6c 65 20 69 73 20  |r a variable is |
00001ff0  65 71 75 61 6c 2c 20 75  6e 65 71 75 61 6c 2c 20  |equal, unequal, |
00002000  67 72 65 61 74 65 72 2c  20 6f 72 20 6c 65 73 73  |greater, or less|
00002010  0a 20 74 68 61 6e 2c 20  61 6e 6f 74 68 65 72 20  |. than, another |
00002020  76 61 72 69 61 62 6c 65  20 6f 72 20 76 61 6c 75  |variable or valu|
00002030  65 2e 20 52 65 74 75 72  6e 20 31 20 6f 72 20 30  |e. Return 1 or 0|
00002040  20 66 6f 72 20 74 72 75  65 2f 66 61 6c 73 65 2e  | for true/false.|
00002050  0a 0a 65 76 61 6c 20 3c  65 78 70 72 65 73 73 69  |..eval <expressi|
00002060  6f 6e 3e 0a 20 72 65 74  75 72 6e 73 20 72 65 73  |on>. returns res|
00002070  75 6c 74 20 6f 66 20 6d  61 74 68 65 6d 61 74 69  |ult of mathemati|
00002080  63 61 6c 20 6f 70 65 72  61 74 69 6f 6e 73 20 28  |cal operations (|
00002090  70 6f 73 73 69 62 6c 79  20 6f 6e 20 73 63 72 69  |possibly on scri|
000020a0  70 74 20 76 61 72 69 61  62 6c 65 73 29 2e 0a 20  |pt variables).. |
000020b0  65 67 3a 20 73 65 74 20  6c 65 6d 6d 69 6e 67 20  |eg: set lemming |
000020c0  7b 65 76 61 6c 20 22 25  6c 65 6d 6d 69 6e 67 20  |{eval "%lemming |
000020d0  2b 20 31 22 7d 0a 20 20  20 69 6e 63 72 65 6d 65  |+ 1"}.   increme|
000020e0  6e 74 73 20 74 68 65 20  76 61 6c 75 65 20 6f 66  |nts the value of|
000020f0  20 27 6c 65 6d 6d 69 6e  67 27 20 62 79 20 6f 6e  | 'lemming' by on|
00002100  65 2e 0a 0a 73 74 72 69  6e 67 20 2f 73 69 7a 65  |e...string /size|
00002110  20 3c 73 74 72 69 6e 67  3e 0a 20 72 65 74 75 72  | <string>. retur|
00002120  6e 73 20 73 69 7a 65 20  28 6c 65 6e 67 74 68 29  |ns size (length)|
00002130  20 6f 66 20 61 20 73 74  72 69 6e 67 2e 0a 73 74  | of a string..st|
00002140  72 69 6e 67 20 2f 75 70  70 65 72 20 3c 73 74 72  |ring /upper <str|
00002150  69 6e 67 3e 0a 20 63 6f  6e 76 65 72 74 73 20 73  |ing>. converts s|
00002160  74 72 69 6e 67 20 74 6f  20 75 70 70 65 72 20 63  |tring to upper c|
00002170  61 73 65 0a 73 74 72 69  6e 67 20 2f 6c 6f 77 65  |ase.string /lowe|
00002180  72 20 3c 73 74 72 69 6e  67 3e 0a 20 63 6f 6e 76  |r <string>. conv|
00002190  65 72 74 73 20 73 74 72  69 6e 67 20 74 6f 20 6c  |erts string to l|
000021a0  6f 77 65 72 20 63 61 73  65 0a 73 74 72 69 6e 67  |ower case.string|
000021b0  20 2f 72 69 67 68 74 3d  3c 6e 3e 20 3c 73 74 72  | /right=<n> <str|
000021c0  69 6e 67 3e 0a 20 72 65  74 75 72 6e 73 20 72 69  |ing>. returns ri|
000021d0  67 68 74 6d 6f 73 74 20  3c 6e 3e 20 63 68 61 72  |ghtmost <n> char|
000021e0  61 63 74 65 72 73 20 6f  66 20 73 74 72 69 6e 67  |acters of string|
000021f0  0a 73 74 72 69 6e 67 20  2f 6c 65 66 74 3d 3c 6e  |.string /left=<n|
00002200  3e 20 3c 73 74 72 69 6e  67 3e 0a 20 72 65 74 75  |> <string>. retu|
00002210  72 6e 73 20 6c 65 66 74  6d 6f 73 74 20 3c 6e 3e  |rns leftmost <n>|
00002220  20 63 68 61 72 61 63 74  65 72 73 20 6f 66 20 73  | characters of s|
00002230  74 72 69 6e 67 0a 73 74  72 69 6e 67 20 2f 73 74  |tring.string /st|
00002240  61 72 74 3d 3c 6e 3e 20  2f 6c 65 6e 67 74 68 3d  |art=<n> /length=|
00002250  3c 6e 3e 0a 20 65 78 74  72 61 63 74 73 20 61 20  |<n>. extracts a |
00002260  73 75 62 73 74 72 69 6e  67 20 66 72 6f 6d 20 61  |substring from a|
00002270  20 73 74 72 69 6e 67 0a  73 74 72 69 6e 67 2f 69  | string.string/i|
00002280  6e 73 74 72 3d 3c 73 74  72 69 6e 67 32 3e 20 3c  |nstr=<string2> <|
00002290  73 74 72 69 6e 67 31 3e  0a 20 72 65 74 75 72 6e  |string1>. return|
000022a0  73 20 70 6f 73 69 74 69  6f 6e 20 6f 66 20 3c 73  |s position of <s|
000022b0  74 72 69 6e 67 32 3e 20  69 6e 20 3c 73 74 72 69  |tring2> in <stri|
000022c0  6e 67 31 3e 0a 0a 6f 73  63 6c 69 20 3c 6f 73 20  |ng1>..oscli <os |
000022d0  63 6f 6d 6d 61 6e 64 3e  20 5b 3c 6f 73 20 63 6f  |command> [<os co|
000022e0  6d 6d 61 6e 64 3e 20 2e  2e 2e 20 5d 0a 20 65 78  |mmand> ... ]. ex|
000022f0  65 63 75 74 65 73 20 52  49 53 43 20 4f 53 20 63  |ecutes RISC OS c|
00002300  6f 6d 6d 61 6e 64 73 2e  20 52 65 74 75 72 6e 20  |ommands. Return |
00002310  31 2f 30 20 66 6f 72 20  73 75 63 63 65 73 73 2f  |1/0 for success/|
00002320  65 72 72 6f 72 2e 0a 0a  6d 65 73 73 61 67 65 20  |error...message |
00002330  5b 2f 69 64 3d 3c 6e 3e  5d 20 5b 2f 61 64 64 5d  |[/id=<n>] [/add]|
00002340  20 5b 2f 74 69 74 6c 65  3d 3c 74 69 74 6c 65 3e  | [/title=<title>|
00002350  5d 20 5b 2f 63 61 70 74  75 72 65 5b 3d 3c 73 74  |] [/capture[=<st|
00002360  72 69 6e 67 3e 5d 5d 20  5b 2f 65 6e 64 3d 3c 73  |ring>]] [/end=<s|
00002370  74 72 69 6e 67 3e 5d 0a  20 20 20 20 20 20 20 20  |tring>].        |
00002380  5b 2f 6d 61 78 3d 3c 6e  3e 5d 20 5b 2f 77 61 69  |[/max=<n>] [/wai|
00002390  74 5d 20 3c 6c 69 6e 65  31 3e 20 5b 3c 6c 69 6e  |t] <line1> [<lin|
000023a0  65 32 3e 20 2e 2e 2e 20  5d 0a 20 6f 70 65 6e 73  |e2> ... ]. opens|
000023b0  20 61 20 77 69 6e 64 6f  77 20 77 69 74 68 20 61  | a window with a|
000023c0  20 74 65 78 74 75 61 6c  20 6d 65 73 73 61 67 65  | textual message|
000023d0  20 66 6f 72 20 74 68 65  20 75 73 65 72 2e 20 45  | for the user. E|
000023e0  61 63 68 20 6c 69 6e 65  20 73 68 6f 75 6c 64 20  |ach line should |
000023f0  62 65 0a 20 20 20 65 6e  63 6c 6f 73 65 64 20 69  |be.   enclosed i|
00002400  6e 20 71 75 6f 74 65 73  2e 0a 20 2f 69 64 3d 3c  |n quotes.. /id=<|
00002410  6e 3e 20 20 69 64 65 6e  74 69 66 69 65 73 20 77  |n>  identifies w|
00002420  68 69 63 68 20 6d 65 73  73 61 67 65 20 77 69 6e  |hich message win|
00002430  64 6f 77 20 74 68 65 20  63 6f 6d 6d 61 6e 64 20  |dow the command |
00002440  61 70 70 6c 69 65 73 20  74 6f 2e 20 41 74 0a 20  |applies to. At. |
00002450  20 20 20 20 20 20 20 20  20 70 72 65 73 65 6e 74  |         present|
00002460  20 74 68 65 72 65 20 69  73 20 6f 6e 6c 79 20 6f  | there is only o|
00002470  6e 65 20 77 69 6e 64 6f  77 2c 20 61 6e 64 20 74  |ne window, and t|
00002480  68 69 73 20 71 75 61 6c  69 66 69 65 72 20 69 73  |his qualifier is|
00002490  20 69 67 6e 6f 72 65 64  2e 0a 20 20 20 20 20 20  | ignored..      |
000024a0  20 20 20 20 54 68 65 20  61 62 69 6c 69 74 79 20  |    The ability |
000024b0  74 6f 20 73 70 65 63 69  66 79 20 6d 75 6c 74 69  |to specify multi|
000024c0  70 6c 65 20 77 69 6e 64  6f 77 73 20 77 69 6c 6c  |ple windows will|
000024d0  20 62 65 20 61 64 64 65  64 20 69 6e 0a 20 20 20  | be added in.   |
000024e0  20 20 20 20 20 20 20 6c  61 74 65 72 20 76 65 72  |       later ver|
000024f0  73 69 6f 6e 73 2e 0a 20  2f 77 61 69 74 20 20 20  |sions.. /wait   |
00002500  20 71 75 61 6c 69 66 69  65 72 20 70 61 75 73 65  | qualifier pause|
00002510  73 20 73 63 72 69 70 74  20 75 6e 74 69 6c 20 75  |s script until u|
00002520  73 65 72 20 63 6c 69 63  6b 73 20 6f 6e 20 4f 4b  |ser clicks on OK|
00002530  20 69 63 6f 6e 20 6f 72  20 63 6c 6f 73 65 73 0a  | icon or closes.|
00002540  20 20 20 20 20 20 20 20  20 20 6d 65 73 73 61 67  |          messag|
00002550  65 20 77 69 6e 64 6f 77  2e 0a 20 2f 63 61 70 74  |e window.. /capt|
00002560  75 72 65 5b 3d 3c 73 74  72 69 6e 67 3e 5d 20 77  |ure[=<string>] w|
00002570  69 6c 6c 20 63 61 70 74  75 72 65 20 73 65 72 69  |ill capture seri|
00002580  61 6c 20 69 6e 70 75 74  20 74 6f 20 74 68 65 20  |al input to the |
00002590  6d 65 73 73 61 67 65 20  77 69 6e 64 6f 77 2c 20  |message window, |
000025a0  0a 20 20 20 20 20 20 20  20 20 20 6f 70 74 69 6f  |.          optio|
000025b0  6e 61 6c 6c 79 20 73 74  61 72 74 69 6e 67 20 66  |nally starting f|
000025c0  72 6f 6d 20 3c 73 74 72  69 6e 67 3e 2e 20 28 53  |rom <string>. (S|
000025d0  65 65 20 4e 6f 74 65 73  20 61 74 20 65 6e 64 29  |ee Notes at end)|
000025e0  0a 20 2f 65 6e 64 3d 3c  73 74 72 69 6e 67 3e 20  |. /end=<string> |
000025f0  63 61 75 73 65 73 20 6d  65 73 73 61 67 65 20 63  |causes message c|
00002600  61 70 74 75 72 65 20 74  6f 20 65 6e 64 20 77 68  |apture to end wh|
00002610  65 6e 20 3c 73 74 72 69  6e 67 3e 20 69 73 20 66  |en <string> is f|
00002620  6f 75 6e 64 2e 0a 20 2f  6d 61 78 3d 3c 6e 3e 20  |ound.. /max=<n> |
00002630  64 65 66 69 6e 65 73 20  61 20 6d 61 78 69 6d 75  |defines a maximu|
00002640  6d 20 6e 75 6d 62 65 72  20 6f 66 20 6c 69 6e 65  |m number of line|
00002650  73 20 74 6f 20 63 61 70  74 75 72 65 2e 0a 20 2f  |s to capture.. /|
00002660  61 64 64 20 20 20 20 20  63 61 75 73 65 73 20 74  |add     causes t|
00002670  65 78 74 20 74 6f 20 62  65 20 61 64 64 65 64 20  |ext to be added |
00002680  74 6f 20 61 6e 20 65 78  69 73 74 69 6e 67 20 6d  |to an existing m|
00002690  65 73 73 61 67 65 2e 20  49 66 20 6e 6f 20 74 65  |essage. If no te|
000026a0  78 74 0a 20 20 20 20 20  20 20 20 20 20 69 73 20  |xt.          is |
000026b0  67 69 76 65 6e 2c 20 74  68 65 20 63 6f 6d 6d 61  |given, the comma|
000026c0  6e 64 20 73 69 6d 70 6c  79 20 66 6f 72 63 65 73  |nd simply forces|
000026d0  20 61 6e 20 75 70 64 61  74 65 20 28 72 65 64 72  | an update (redr|
000026e0  61 77 29 20 6f 66 20 74  68 65 0a 20 20 20 20 20  |aw) of the.     |
000026f0  20 20 20 20 20 6d 65 73  73 61 67 65 20 77 69 6e  |     message win|
00002700  64 6f 77 2e 0a 0a 6d 65  73 73 61 67 65 20 5b 2f  |dow...message [/|
00002710  69 64 3d 3c 69 64 3e 5d  20 2f 63 6c 6f 73 65 0a  |id=<id>] /close.|
00002720  20 65 78 70 6c 69 63 69  74 6c 79 20 63 6c 6f 73  | explicitly clos|
00002730  65 73 20 61 6e 79 20 6d  65 73 73 61 67 65 20 77  |es any message w|
00002740  69 6e 64 6f 77 2e 0a 0a  61 73 6b 20 5b 2f 64 65  |indow...ask [/de|
00002750  6c 61 79 3d 3c 6e 3e 5d  20 5b 2f 64 65 66 61 75  |lay=<n>] [/defau|
00002760  6c 74 3d 3c 79 65 73 7c  6e 6f 3e 5d 20 3c 71 75  |lt=<yes|no>] <qu|
00002770  65 73 74 69 6f 6e 3e 0a  20 62 72 69 6e 67 73 20  |estion>. brings |
00002780  75 70 20 61 20 77 69 6e  64 6f 77 20 61 73 6b 69  |up a window aski|
00002790  6e 67 20 66 6f 72 20 61  20 79 65 73 2f 6e 6f 20  |ng for a yes/no |
000027a0  61 6e 73 77 65 72 20 66  72 6f 6d 20 74 68 65 20  |answer from the |
000027b0  75 73 65 72 2e 20 52 65  74 75 72 6e 73 20 31 0a  |user. Returns 1.|
000027c0  20 69 66 20 27 79 65 73  27 20 69 73 20 63 6c 69  | if 'yes' is cli|
000027d0  63 6b 65 64 3b 20 30 20  69 66 20 27 6e 6f 27 20  |cked; 0 if 'no' |
000027e0  69 73 20 63 6c 69 63 6b  65 64 2e 0a 20 2f 64 65  |is clicked.. /de|
000027f0  6c 61 79 3d 3c 6e 3e 20  20 20 20 20 73 65 74 73  |lay=<n>     sets|
00002800  20 74 69 6d 65 6f 75 74  20 28 69 6e 20 73 65 63  | timeout (in sec|
00002810  6f 6e 64 73 29 2e 20 49  66 20 6e 6f 20 72 65 73  |onds). If no res|
00002820  70 6f 6e 73 65 20 69 73  20 72 65 63 65 69 76 65  |ponse is receive|
00002830  64 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |d.              |
00002840  20 20 77 69 74 68 69 6e  20 74 68 69 73 20 74 69  |  within this ti|
00002850  6d 65 2c 20 74 68 65 20  64 65 66 61 75 6c 74 20  |me, the default |
00002860  61 6e 73 77 65 72 20 69  73 20 72 65 74 75 72 6e  |answer is return|
00002870  65 64 2e 0a 20 2f 64 65  66 61 75 6c 74 3d 3c 79  |ed.. /default=<y|
00002880  7c 6e 3e 20 73 65 74 73  20 74 68 65 20 64 65 66  ||n> sets the def|
00002890  61 75 6c 74 20 61 6e 73  77 65 72 20 72 65 74 75  |ault answer retu|
000028a0  72 6e 65 64 20 69 66 20  74 68 65 20 63 6f 6d 6d  |rned if the comm|
000028b0  61 6e 64 20 74 69 6d 65  73 0a 20 20 20 20 20 20  |and times.      |
000028c0  20 20 20 20 20 20 20 20  20 20 6f 75 74 2e 20 49  |          out. I|
000028d0  66 20 75 6e 73 70 65 63  69 66 69 65 64 2c 20 27  |f unspecified, '|
000028e0  6e 6f 27 20 28 30 29 20  69 73 20 61 73 73 75 6d  |no' (0) is assum|
000028f0  65 64 2e 20 4e 6f 74 65  20 74 68 61 74 2c 20 61  |ed. Note that, a|
00002900  74 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |t.              |
00002910  20 20 70 72 65 73 65 6e  74 2c 20 74 68 65 20 64  |  present, the d|
00002920  65 66 61 75 6c 74 20 61  6e 73 77 65 72 20 69 73  |efault answer is|
00002930  20 6e 6f 74 20 68 69 67  68 6c 69 67 68 74 65 64  | not highlighted|
00002940  20 69 6e 20 61 6e 79 0a  20 20 20 20 20 20 20 20  | in any.        |
00002950  20 20 20 20 20 20 20 20  77 61 79 20 6f 6e 20 74  |        way on t|
00002960  68 65 20 64 69 61 6c 6f  67 75 65 20 77 69 6e 64  |he dialogue wind|
00002970  6f 77 2e 0a 0a 3f 74 61  73 6b 20 3c 74 61 73 6b  |ow...?task <task|
00002980  6e 61 6d 65 3e 0a 20 72  65 74 75 72 6e 73 20 74  |name>. returns t|
00002990  61 73 6b 20 68 61 6e 64  6c 65 20 6f 66 20 74 61  |ask handle of ta|
000029a0  73 6b 2c 20 6f 72 20 7a  65 72 6f 20 69 66 20 69  |sk, or zero if i|
000029b0  74 20 69 73 20 6e 6f 74  20 72 75 6e 6e 69 6e 67  |t is not running|
000029c0  2e 0a 0a 65 72 72 6f 72  20 3c 6d 65 73 73 61 67  |...error <messag|
000029d0  65 3e 0a 20 73 74 6f 70  73 20 74 68 65 20 73 63  |e>. stops the sc|
000029e0  72 69 70 74 20 77 69 74  68 20 61 6e 20 65 72 72  |ript with an err|
000029f0  6f 72 20 6d 65 73 73 61  67 65 20 28 61 6e 64 20  |or message (and |
00002a00  69 6e 76 6f 6b 65 73 20  65 72 72 6f 72 20 68 61  |invokes error ha|
00002a10  6e 64 6c 65 72 2c 20 69  66 20 61 6e 79 0a 20 69  |ndler, if any. i|
00002a20  73 20 69 6e 73 74 61 6c  6c 65 64 2e 0a 0a 68 65  |s installed...he|
00002a30  6c 70 20 5b 3c 63 6f 6d  6d 61 6e 64 3e 5d 0a 20  |lp [<command>]. |
00002a40  67 69 76 65 73 20 6f 6e  6c 69 6e 65 20 68 65 6c  |gives online hel|
00002a50  70 20 61 62 6f 75 74 20  73 63 72 69 70 74 20 63  |p about script c|
00002a60  6f 6d 6d 61 6e 64 73 2e  20 22 68 65 6c 70 22 20  |ommands. "help" |
00002a70  62 79 20 69 74 73 65 6c  66 20 67 69 76 65 73 20  |by itself gives |
00002a80  61 20 6c 69 73 74 0a 20  6f 66 20 61 76 61 69 6c  |a list. of avail|
00002a90  61 62 6c 65 20 68 65 6c  70 20 74 6f 70 69 63 73  |able help topics|
00002aa0  2e 0a 0a 6e 65 77 73 72  61 74 65 20 3c 61 62 62  |...newsrate <abb|
00002ab0  72 3e 0a 20 63 6f 6d 70  75 74 65 73 20 74 68 65  |r>. computes the|
00002ac0  20 74 72 61 6e 73 66 65  72 20 72 61 74 65 20 6f  | transfer rate o|
00002ad0  66 20 6e 65 77 73 20 66  72 6f 6d 20 74 68 65 20  |f news from the |
00002ae0  74 69 6d 65 20 64 69 66  66 65 72 65 6e 63 65 20  |time difference |
00002af0  62 65 74 77 65 65 6e 0a  20 74 68 65 20 78 78 78  |between. the xxx|
00002b00  4e 65 77 73 20 61 6e 64  20 78 78 78 4e 47 20 66  |News and xxxNG f|
00002b10  69 6c 65 73 2c 20 65 67  3a 20 6e 65 77 73 72 61  |iles, eg: newsra|
00002b20  74 65 20 44 65 6d 0a 20  52 65 74 75 72 6e 73 20  |te Dem. Returns |
00002b30  61 20 76 61 6c 75 65 20  69 6e 20 63 68 61 72 61  |a value in chara|
00002b40  63 74 65 72 73 20 70 65  72 20 73 65 63 6f 6e 64  |cters per second|
00002b50  2e 0a 0a 32 3a 20 53 63  72 69 70 74 20 46 6c 6f  |...2: Script Flo|
00002b60  77 0a 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |w.--------------|
00002b70  0a 0a 3a 3c 6c 61 62 65  6c 3e 0a 20 6d 61 72 6b  |..:<label>. mark|
00002b80  73 20 61 20 6c 61 62 65  6c 20 69 6e 20 74 68 65  |s a label in the|
00002b90  20 73 63 72 69 70 74 3b  20 61 20 64 65 73 74 69  | script; a desti|
00002ba0  6e 61 74 69 6f 6e 20 66  6f 72 20 27 67 6f 74 6f  |nation for 'goto|
00002bb0  27 20 6f 72 20 27 63 61  6c 6c 27 2e 20 53 70 61  |' or 'call'. Spa|
00002bc0  63 65 73 0a 20 73 68 6f  75 6c 64 20 6e 6f 74 20  |ces. should not |
00002bd0  62 65 20 75 73 65 64 20  69 6e 20 61 20 6c 61 62  |be used in a lab|
00002be0  65 6c 20 64 65 66 69 6e  69 74 69 6f 6e 2e 0a 0a  |el definition...|
00002bf0  67 6f 74 6f 20 3c 6c 61  62 65 6c 3e 0a 20 74 72  |goto <label>. tr|
00002c00  61 6e 73 66 65 72 73 20  65 78 65 63 75 74 69 6f  |ansfers executio|
00002c10  6e 20 74 6f 20 74 68 65  20 6c 69 6e 65 20 66 6f  |n to the line fo|
00002c20  6c 6c 6f 77 69 6e 67 20  74 68 65 20 67 69 76 65  |llowing the give|
00002c30  6e 20 6c 61 62 65 6c 2e  0a 0a 63 61 6c 6c 20 5b  |n label...call [|
00002c40  2f 6c 6f 63 6b 5d 20 3c  6c 61 62 65 6c 3e 20 5b  |/lock] <label> [|
00002c50  3c 70 61 72 61 6d 65 74  65 72 73 3e 5d 0a 20 63  |<parameters>]. c|
00002c60  61 6c 6c 73 20 61 20 73  75 62 72 6f 75 74 69 6e  |alls a subroutin|
00002c70  65 2c 20 77 69 74 68 20  6f 70 74 69 6f 6e 61 6c  |e, with optional|
00002c80  20 70 61 72 61 6d 65 74  65 72 73 2e 20 54 68 65  | parameters. The|
00002c90  20 70 61 72 61 6d 65 74  65 72 73 20 61 72 65 0a  | parameters are.|
00002ca0  20 70 6c 61 63 65 64 20  69 6e 74 6f 20 74 68 65  | placed into the|
00002cb0  20 73 63 72 69 70 74 20  76 61 72 69 61 62 6c 65  | script variable|
00002cc0  73 20 70 31 2c 70 32 2c  2e 2e 2e 2c 70 6e 20 77  |s p1,p2,...,pn w|
00002cd0  69 74 68 69 6e 20 74 68  65 20 73 75 62 72 6f 75  |ithin the subrou|
00002ce0  74 69 6e 65 2e 0a 20 54  68 65 20 2f 6c 6f 63 6b  |tine.. The /lock|
00002cf0  20 66 6c 61 67 20 73 65  74 73 20 61 20 27 6c 6f  | flag sets a 'lo|
00002d00  63 6b 20 66 6c 61 67 27  20 6f 6e 20 74 68 65 20  |ck flag' on the |
00002d10  73 75 62 72 6f 75 74 69  6e 65 2c 20 77 68 69 63  |subroutine, whic|
00002d20  68 20 70 72 65 76 65 6e  74 73 20 69 74 0a 20 66  |h prevents it. f|
00002d30  72 6f 6d 20 62 65 69 6e  67 20 72 65 2d 65 6e 74  |rom being re-ent|
00002d40  65 72 65 64 20 75 6e 74  69 6c 20 69 74 20 68 61  |ered until it ha|
00002d50  73 20 72 65 74 75 72 6e  65 64 2e 0a 0a 72 65 74  |s returned...ret|
00002d60  75 72 6e 20 5b 3c 76 61  6c 75 65 3e 5d 0a 20 72  |urn [<value>]. r|
00002d70  65 74 75 72 6e 20 66 72  6f 6d 20 73 75 62 72 6f  |eturn from subro|
00002d80  75 74 69 6e 65 2c 20 6f  70 74 69 6f 6e 61 6c 6c  |utine, optionall|
00002d90  79 20 70 61 73 73 69 6e  67 20 62 61 63 6b 20 61  |y passing back a|
00002da0  20 72 65 74 75 72 6e 20  76 61 6c 75 65 2e 20 54  | return value. T|
00002db0  68 65 20 72 65 74 75 72  6e 65 64 0a 20 76 61 6c  |he returned. val|
00002dc0  75 65 20 6d 61 79 20 62  65 20 6e 75 6d 65 72 69  |ue may be numeri|
00002dd0  63 20 6f 72 20 74 65 78  74 75 61 6c 2e 0a 0a 69  |c or textual...i|
00002de0  66 20 28 3c 63 6f 6d 6d  61 6e 64 3e 29 20 3c 63  |f (<command>) <c|
00002df0  6f 6d 6d 61 6e 64 3e 0a  20 63 6f 6e 64 69 74 69  |ommand>. conditi|
00002e00  6f 6e 61 6c 6c 79 20 65  78 65 63 75 74 65 73 20  |onally executes |
00002e10  61 20 63 6f 6d 6d 61 6e  64 20 64 65 70 65 6e 64  |a command depend|
00002e20  69 6e 67 20 6f 6e 20 74  68 65 20 73 74 61 74 75  |ing on the statu|
00002e30  73 20 72 65 74 75 72 6e  65 64 20 66 72 6f 6d 0a  |s returned from.|
00002e40  20 61 6e 6f 74 68 65 72  20 63 6f 6d 6d 61 6e 64  | another command|
00002e50  2e 20 46 6f 72 20 65 78  61 6d 70 6c 65 3a 0a 20  |. For example:. |
00002e60  69 66 20 28 3f 66 69 6c  65 20 24 2e 6c 65 6d 6d  |if (?file $.lemm|
00002e70  69 6e 67 29 20 65 78 69  74 0a 20 20 65 78 69 74  |ing) exit.  exit|
00002e80  73 20 74 68 65 20 73 63  72 69 70 74 20 69 66 20  |s the script if |
00002e90  74 68 65 20 66 69 6c 65  20 24 2e 6c 65 6d 6d 69  |the file $.lemmi|
00002ea0  6e 67 20 65 78 69 73 74  73 2e 20 59 6f 75 20 63  |ng exists. You c|
00002eb0  61 6e 20 61 6c 73 6f 20  6e 65 67 61 74 65 20 74  |an also negate t|
00002ec0  68 65 20 74 65 73 74 3a  0a 20 20 69 66 20 28 21  |he test:.  if (!|
00002ed0  3f 66 69 6c 65 20 24 2e  6c 65 6d 6d 69 6e 67 29  |?file $.lemming)|
00002ee0  20 65 78 69 74 0a 0a 63  61 73 65 20 3c 76 61 6c  | exit..case <val|
00002ef0  75 65 7c 76 61 72 69 61  62 6c 65 3e 0a 20 73 74  |ue|variable>. st|
00002f00  61 72 74 73 20 61 20 63  61 73 65 2e 2e 2e 77 68  |arts a case...wh|
00002f10  65 6e 2e 2e 2e 65 6e 64  63 61 73 65 20 73 74 72  |en...endcase str|
00002f20  75 63 74 75 72 65 2e 0a  0a 77 68 65 6e 20 3c 76  |ucture...when <v|
00002f30  61 6c 75 65 3e 20 5b 3c  76 61 6c 75 65 3e 20 2e  |alue> [<value> .|
00002f40  2e 2e 20 5d 20 3b 20 3c  63 6f 6d 6d 61 6e 64 73  |.. ] ; <commands|
00002f50  3e 0a 20 65 78 65 63 75  74 65 73 20 74 68 65 20  |>. executes the |
00002f60  72 65 6d 61 69 6e 64 65  72 20 6f 66 20 74 68 65  |remainder of the|
00002f70  20 6c 69 6e 65 20 69 66  20 6f 6e 65 20 6f 66 20  | line if one of |
00002f80  76 61 6c 75 65 73 20 6d  61 74 63 68 65 73 20 74  |values matches t|
00002f90  68 65 20 63 75 72 72 65  6e 74 0a 20 20 22 63 61  |he current.  "ca|
00002fa0  73 65 22 20 76 61 6c 75  65 2e 20 4e 6f 74 65 20  |se" value. Note |
00002fb0  74 68 69 73 20 6f 6e 6c  79 20 61 63 74 73 20 6f  |this only acts o|
00002fc0  6e 20 74 68 65 20 72 65  73 74 20 6f 66 20 74 68  |n the rest of th|
00002fd0  65 20 73 61 6d 65 20 6c  69 6e 65 20 63 6f 6e 74  |e same line cont|
00002fe0  61 69 6e 69 6e 67 0a 20  20 74 68 65 20 22 77 68  |aining.  the "wh|
00002ff0  65 6e 22 20 73 74 61 74  65 6d 65 6e 74 2e 0a 0a  |en" statement...|
00003000  65 6e 64 63 61 73 65 0a  20 6d 61 72 6b 73 20 74  |endcase. marks t|
00003010  68 65 20 65 6e 64 20 6f  66 20 61 20 63 61 73 65  |he end of a case|
00003020  2e 2e 2e 77 68 65 6e 2e  2e 2e 65 6e 64 63 61 73  |...when...endcas|
00003030  65 20 73 74 72 75 63 74  75 72 65 2e 0a 0a 6c 69  |e structure...li|
00003040  62 72 61 72 79 20 3c 66  69 6c 65 6e 61 6d 65 3e  |brary <filename>|
00003050  20 5b 3c 70 61 72 61 6d  65 74 65 72 73 3e 20 2e  | [<parameters> .|
00003060  2e 2e 20 5d 0a 20 61 70  70 65 6e 64 73 20 61 20  |.. ]. appends a |
00003070  73 63 72 69 70 74 20 66  69 6c 65 20 74 6f 20 74  |script file to t|
00003080  68 65 20 63 75 72 72 65  6e 74 20 73 63 72 69 70  |he current scrip|
00003090  74 20 66 6f 72 20 75 73  65 20 61 73 20 61 20 6c  |t for use as a l|
000030a0  69 62 72 61 72 79 2e 20  49 66 20 74 68 65 0a 20  |ibrary. If the. |
000030b0  6e 65 77 20 66 69 6c 65  20 63 6f 6e 74 61 69 6e  |new file contain|
000030c0  73 20 61 20 73 75 62 72  6f 75 74 69 6e 65 20 22  |s a subroutine "|
000030d0  61 75 74 6f 65 78 65 63  22 2c 20 69 74 20 77 69  |autoexec", it wi|
000030e0  6c 6c 20 62 65 20 65 78  65 63 75 74 65 64 20 61  |ll be executed a|
000030f0  66 74 65 72 0a 20 6c 6f  61 64 69 6e 67 2c 20 62  |fter. loading, b|
00003100  65 69 6e 67 20 70 61 73  73 65 64 20 74 68 65 20  |eing passed the |
00003110  70 61 72 61 6d 65 74 65  72 73 20 67 69 76 65 6e  |parameters given|
00003120  20 69 6e 20 74 68 65 20  6c 69 62 72 61 72 79 20  | in the library |
00003130  63 6f 6d 6d 61 6e 64 2e  0a 0a 73 6f 75 72 63 65  |command...source|
00003140  20 3c 66 69 6c 65 6e 61  6d 65 3e 0a 20 64 69 72  | <filename>. dir|
00003150  65 63 74 6c 79 20 65 78  65 63 75 74 65 73 20 73  |ectly executes s|
00003160  63 72 69 70 74 20 63 6f  6d 6d 61 6e 64 73 20 66  |cript commands f|
00003170  72 6f 6d 20 74 68 65 20  67 69 76 65 6e 20 66 69  |rom the given fi|
00003180  6c 65 2e 0a 0a 63 68 61  69 6e 20 3c 66 69 6c 65  |le...chain <file|
00003190  6e 61 6d 65 3e 0a 20 6c  6f 61 64 73 20 61 6e 64  |name>. loads and|
000031a0  20 72 75 6e 73 20 61 20  6e 65 77 20 73 63 72 69  | runs a new scri|
000031b0  70 74 2e 20 41 6c 6c 20  76 61 72 69 61 62 6c 65  |pt. All variable|
000031c0  20 28 65 78 63 65 70 74  20 66 6f 72 20 27 73 79  | (except for 'sy|
000031d0  73 74 65 6d 27 20 76 61  72 69 61 62 6c 65 73 2c  |stem' variables,|
000031e0  0a 20 62 65 67 69 6e 6e  69 6e 67 20 77 69 74 68  |. beginning with|
000031f0  20 22 24 22 29 2c 20 61  6c 61 72 6d 73 2c 20 6d  | "$"), alarms, m|
00003200  65 6e 75 73 2c 20 65 74  63 20 61 72 65 20 63 6c  |enus, etc are cl|
00003210  65 61 72 65 64 2e 20 54  68 65 20 6e 61 6d 65 20  |eared. The name |
00003220  6f 66 20 74 68 65 0a 20  6f 72 69 67 69 6e 61 6c  |of the. original|
00003230  20 73 63 72 69 70 74 20  69 73 20 70 6c 61 63 65  | script is place|
00003240  64 20 69 6e 20 74 68 65  20 73 79 73 74 65 6d 20  |d in the system |
00003250  76 61 72 69 61 62 6c 65  20 22 24 63 61 6c 6c 65  |variable "$calle|
00003260  72 22 2e 0a 0a 65 78 69  74 0a 20 73 74 6f 70 73  |r"...exit. stops|
00003270  20 74 68 65 20 73 63 72  69 70 74 2e 0a 0a 71 75  | the script...qu|
00003280  69 74 0a 20 73 74 6f 70  73 20 74 68 65 20 73 63  |it. stops the sc|
00003290  72 69 70 74 20 61 6e 64  20 71 75 69 74 20 74 68  |ript and quit th|
000032a0  65 20 70 72 6f 67 72 61  6d 2e 0a 0a 73 74 6f 70  |e program...stop|
000032b0  0a 20 73 69 6d 75 6c 61  74 65 73 20 70 72 65 73  |. simulates pres|
000032c0  73 69 6e 67 20 74 68 65  20 27 73 74 6f 70 27 20  |sing the 'stop' |
000032d0  62 75 74 74 6f 6e 2e 0a  0a 0a 33 3a 20 53 65 72  |button....3: Ser|
000032e0  69 61 6c 20 69 2f 6f 0a  2d 2d 2d 2d 2d 2d 2d 2d  |ial i/o.--------|
000032f0  2d 2d 2d 2d 2d 0a 0a 64  72 69 76 65 72 20 5b 3c  |-----..driver [<|
00003300  6e 61 6d 65 3e 5d 0a 20  6c 6f 61 64 73 20 61 20  |name>]. loads a |
00003310  6d 6f 64 65 6d 20 64 72  69 76 65 72 2c 20 6f 72  |modem driver, or|
00003320  20 73 65 74 73 20 74 68  65 20 64 65 66 61 75 6c  | sets the defaul|
00003330  74 20 28 69 6e 74 65 72  6e 61 6c 29 20 64 72 69  |t (internal) dri|
00003340  76 65 72 20 69 66 20 75  6e 73 70 65 63 69 66 69  |ver if unspecifi|
00003350  65 64 2e 0a 20 4d 6f 64  65 6d 20 64 72 69 76 65  |ed.. Modem drive|
00003360  72 73 20 64 65 66 69 6e  65 20 74 68 65 20 73 74  |rs define the st|
00003370  72 69 6e 67 73 20 75 73  65 64 20 74 6f 20 63 6f  |rings used to co|
00003380  6e 74 72 6f 6c 20 74 68  65 20 6d 6f 64 65 6d 2c  |ntrol the modem,|
00003390  20 61 6e 64 20 74 68 65  20 73 74 61 74 75 73 0a  | and the status.|
000033a0  20 6d 65 73 73 61 67 65  73 20 72 65 74 75 72 6e  | messages return|
000033b0  65 64 20 66 72 6f 6d 20  74 68 65 6d 2e 0a 0a 70  |ed from them...p|
000033c0  6f 72 74 20 3c 64 72 69  76 65 72 3e 20 3c 70 6f  |ort <driver> <po|
000033d0  72 74 20 6e 75 6d 62 65  72 3e 0a 20 6c 6f 61 64  |rt number>. load|
000033e0  73 20 74 68 65 20 73 70  65 63 69 66 69 65 64 20  |s the specified |
000033f0  62 6c 6f 63 6b 20 64 72  69 76 65 72 2c 20 61 6e  |block driver, an|
00003400  64 20 75 73 65 20 73 70  65 63 69 66 69 65 64 20  |d use specified |
00003410  70 6f 72 74 20 6e 75 6d  62 65 72 2e 20 46 6f 72  |port number. For|
00003420  0a 20 65 78 61 6d 70 6c  65 3a 0a 20 20 70 6f 72  |. example:.  por|
00003430  74 20 73 70 5f 64 75 61  6c 20 31 0a 20 49 66 20  |t sp_dual 1. If |
00003440  6e 6f 74 20 73 70 65 63  69 66 69 65 64 2c 20 22  |not specified, "|
00003450  70 6f 72 74 20 69 6e 74  65 72 6e 61 6c 20 30 22  |port internal 0"|
00003460  20 69 73 20 61 73 73 75  6d 65 64 2e 0a 0a 73 70  | is assumed...sp|
00003470  65 65 64 20 3c 62 61 75  64 3e 0a 20 73 65 74 73  |eed <baud>. sets|
00003480  20 62 61 75 64 20 72 61  74 65 20 74 6f 20 3c 62  | baud rate to <b|
00003490  61 75 64 3e 2e 20 44 65  66 61 75 6c 74 20 69 73  |aud>. Default is|
000034a0  20 31 39 32 30 30 2e 0a  0a 63 6c 61 69 6d 20 5b  | 19200...claim [|
000034b0  3c 61 74 74 65 6d 70 74  73 3e 20 5b 3c 64 65 6c  |<attempts> [<del|
000034c0  61 79 3e 5d 5d 0a 20 63  6c 61 69 6d 73 20 74 68  |ay>]]. claims th|
000034d0  65 20 63 75 72 72 65 6e  74 6c 79 20 73 65 6c 65  |e currently sele|
000034e0  63 74 65 64 20 70 6f 72  74 20 61 6e 64 20 69 6e  |cted port and in|
000034f0  69 74 69 61 6c 69 73 65  20 69 74 2c 20 77 69 74  |itialise it, wit|
00003500  68 20 6f 70 74 69 6f 6e  61 6c 20 72 65 74 72 69  |h optional retri|
00003510  65 73 0a 20 69 66 20 74  68 65 20 70 6f 72 74 20  |es. if the port |
00003520  69 73 20 75 6e 61 76 61  69 6c 61 62 6c 65 2e 20  |is unavailable. |
00003530  52 65 74 75 72 6e 73 20  31 2f 30 20 66 6f 72 20  |Returns 1/0 for |
00003540  73 75 63 63 65 73 73 2f  66 61 69 6c 75 72 65 0a  |success/failure.|
00003550  0a 72 65 6c 65 61 73 65  0a 20 72 65 6c 65 61 73  |.release. releas|
00003560  65 73 20 70 6f 72 74 20  28 61 6c 73 6f 20 64 72  |es port (also dr|
00003570  6f 70 70 69 6e 67 20 6c  69 6e 65 29 2e 0a 0a 69  |opping line)...i|
00003580  6e 69 74 20 5b 3c 73 74  72 69 6e 67 3e 5d 0a 20  |nit [<string>]. |
00003590  64 72 6f 70 73 20 61 6e  64 20 72 61 69 73 65 73  |drops and raises|
000035a0  20 44 54 52 20 6f 6e 20  73 65 72 69 61 6c 20 70  | DTR on serial p|
000035b0  6f 72 74 20 74 6f 20 70  75 74 20 6d 6f 64 65 6d  |ort to put modem|
000035c0  20 69 6e 20 63 6f 6d 6d  61 6e 64 20 6d 6f 64 65  | in command mode|
000035d0  2c 20 61 6e 64 20 73 65  6e 64 73 0a 20 74 68 65  |, and sends. the|
000035e0  20 73 70 65 63 69 66 69  65 64 20 73 74 72 69 6e  | specified strin|
000035f0  67 20 74 6f 20 74 68 65  20 6d 6f 64 65 6d 3b 20  |g to the modem; |
00003600  74 68 65 6e 20 77 61 69  74 73 20 66 6f 72 20 22  |then waits for "|
00003610  4f 4b 22 2e 20 52 65 74  75 72 6e 73 20 31 2f 30  |OK". Returns 1/0|
00003620  20 66 6f 72 0a 20 73 75  63 63 65 73 73 2f 66 61  | for. success/fa|
00003630  69 6c 75 72 65 2e 0a 20  49 66 20 6e 6f 20 73 74  |ilure.. If no st|
00003640  72 69 6e 67 20 69 73 20  67 69 76 65 6e 2c 20 74  |ring is given, t|
00003650  68 65 20 69 6e 69 74 20  73 74 72 69 6e 67 73 20  |he init strings |
00003660  66 72 6f 6d 20 74 68 65  20 6d 6f 64 65 6d 20 64  |from the modem d|
00003670  72 69 76 65 72 20 61 72  65 20 73 65 6e 74 2e 0a  |river are sent..|
00003680  0a 72 65 69 6e 69 74 0a  20 72 65 73 65 74 73 20  |.reinit. resets |
00003690  73 65 72 69 61 6c 20 70  6f 72 74 2e 0a 0a 72 65  |serial port...re|
000036a0  74 72 79 20 5b 3c 61 74  74 65 6d 70 74 73 3e 20  |try [<attempts> |
000036b0  5b 3c 64 65 6c 61 79 3e  5d 5d 0a 20 73 65 74 73  |[<delay>]]. sets|
000036c0  20 64 65 66 61 75 6c 74  20 6e 75 6d 62 65 72 20  | default number |
000036d0  6f 66 20 64 69 61 6c 6c  69 6e 67 20 72 65 74 72  |of dialling retr|
000036e0  69 65 73 20 61 6e 64 20  69 6e 74 65 72 76 65 6e  |ies and interven|
000036f0  69 6e 67 20 64 65 6c 61  79 2c 20 69 6e 20 73 65  |ing delay, in se|
00003700  63 6f 6e 64 73 2e 0a 0a  64 69 61 6c 20 5b 2f 70  |conds...dial [/p|
00003710  75 6c 73 65 5d 20 5b 2f  72 65 74 72 79 3d 3c 6e  |ulse] [/retry=<n|
00003720  3e 5d 20 5b 2f 64 65 6c  61 79 3d 3c 6e 3e 5d 20  |>] [/delay=<n>] |
00003730  5b 2f 6e 6f 64 69 61 6c  3d 3c 6e 3e 5d 20 5b 2f  |[/nodial=<n>] [/|
00003740  6e 6f 63 61 72 3d 3c 6e  3e 5d 0a 20 20 20 20 20  |nocar=<n>].     |
00003750  20 20 20 5b 2f 62 75 73  79 3d 3c 6e 3e 5d 20 3c  |   [/busy=<n>] <|
00003760  6e 75 6d 62 65 72 3e 20  5b 3c 6e 75 6d 62 65 72  |number> [<number|
00003770  3e 20 2e 2e 2e 20 5d 0a  20 64 69 61 6c 73 20 74  |> ... ]. dials t|
00003780  68 65 20 73 70 65 63 69  66 69 65 64 20 6e 75 6d  |he specified num|
00003790  62 65 72 20 6f 72 20 6c  69 73 74 20 6f 66 20 6e  |ber or list of n|
000037a0  75 6d 62 65 72 73 2e 20  49 66 20 61 20 6c 69 73  |umbers. If a lis|
000037b0  74 20 69 73 20 67 69 76  65 6e 2c 20 61 20 6e 75  |t is given, a nu|
000037c0  6d 62 65 72 0a 20 77 69  6c 6c 20 62 65 20 74 72  |mber. will be tr|
000037d0  69 65 64 20 6d 75 6c 74  69 70 6c 65 20 74 69 6d  |ied multiple tim|
000037e0  65 73 20 28 73 70 65 63  69 66 69 65 64 20 62 79  |es (specified by|
000037f0  20 27 72 65 74 72 79 27  29 20 62 65 66 6f 72 65  | 'retry') before|
00003800  20 6d 6f 76 69 6e 67 20  6f 6e 20 74 6f 20 74 68  | moving on to th|
00003810  65 0a 20 6e 65 78 74 20  69 6e 20 74 68 65 20 6c  |e. next in the l|
00003820  69 73 74 2e 20 52 65 74  75 72 6e 73 20 31 2f 30  |ist. Returns 1/0|
00003830  20 66 6f 72 20 73 75 63  63 65 73 73 2f 66 61 69  | for success/fai|
00003840  6c 75 72 65 2e 0a 20 2f  70 75 6c 73 65 20 75 73  |lure.. /pulse us|
00003850  65 73 20 70 75 6c 73 65  20 64 69 61 6c 6c 69 6e  |es pulse diallin|
00003860  67 20 69 6e 73 74 65 61  64 20 6f 66 20 74 6f 6e  |g instead of ton|
00003870  65 2e 0a 20 2f 64 65 6c  61 79 3d 3c 6e 3e 20 61  |e.. /delay=<n> a|
00003880  6e 64 20 2f 72 65 74 72  79 3d 3c 6e 3e 20 6f 76  |nd /retry=<n> ov|
00003890  65 72 72 69 64 65 20 74  68 65 20 64 65 66 61 75  |erride the defau|
000038a0  6c 74 20 6e 75 6d 62 65  72 20 6f 66 20 72 65 74  |lt number of ret|
000038b0  72 69 65 73 20 61 6e 64  20 64 65 6c 61 79 2e 0a  |ries and delay..|
000038c0  20 2f 6e 6f 64 69 61 6c  3d 3c 6e 3e 2c 20 2f 6e  | /nodial=<n>, /n|
000038d0  6f 63 61 72 3d 3c 6e 3e  20 61 6e 64 20 2f 62 75  |ocar=<n> and /bu|
000038e0  73 79 3d 3c 6e 3e 20 6f  76 65 72 72 69 64 65 20  |sy=<n> override |
000038f0  64 65 66 61 75 6c 74 20  72 65 64 69 61 6c 20 64  |default redial d|
00003900  65 6c 61 79 73 20 66 6f  72 0a 20 69 6e 64 69 76  |elays for. indiv|
00003910  69 64 75 61 6c 20 63 61  73 65 73 20 28 69 65 2c  |idual cases (ie,|
00003920  20 6e 6f 20 64 69 61 6c  74 6f 6e 65 2c 20 6e 6f  | no dialtone, no|
00003930  20 63 61 72 72 69 65 72  2c 20 62 75 73 79 29 2e  | carrier, busy).|
00003940  20 55 73 65 66 75 6c 2c  20 65 67 2c 20 74 6f 0a  | Useful, eg, to.|
00003950  20 73 70 65 63 69 66 79  20 61 20 6c 6f 6e 67 65  | specify a longe|
00003960  72 20 64 65 6c 61 79 20  66 6f 72 20 6e 6f 20 64  |r delay for no d|
00003970  69 61 6c 74 6f 6e 65 20  28 73 6f 6d 65 6f 6e 65  |ialtone (someone|
00003980  20 75 73 69 6e 67 20 70  68 6f 6e 65 29 2e 0a 0a  | using phone)...|
00003990  73 65 6e 64 20 5b 2f 72  61 77 5d 20 5b 2f 6e 6f  |send [/raw] [/no|
000039a0  72 61 77 5d 20 5b 6e 61  6d 65 3d 3c 69 64 3e 5d  |raw] [name=<id>]|
000039b0  20 3c 73 74 72 69 6e 67  3e 20 5b 3c 73 74 72 69  | <string> [<stri|
000039c0  6e 67 3e 20 2e 2e 2e 20  5d 0a 20 73 65 6e 64 73  |ng> ... ]. sends|
000039d0  20 61 20 73 74 72 69 6e  67 20 74 6f 20 74 68 65  | a string to the|
000039e0  20 73 65 72 69 61 6c 20  70 6f 72 74 20 6f 72 20  | serial port or |
000039f0  61 20 74 61 73 6b 77 69  6e 64 6f 77 2e 0a 20 2f  |a taskwindow.. /|
00003a00  72 61 77 20 20 20 20 20  20 20 20 20 20 20 70 72  |raw           pr|
00003a10  65 76 65 6e 74 73 20 61  20 6e 65 77 6c 69 6e 65  |events a newline|
00003a20  2e 0a 20 2f 6e 6f 72 61  77 20 20 20 20 20 20 20  |.. /noraw       |
00003a30  20 20 72 65 6e 61 62 6c  65 73 20 6e 65 77 6c 69  |  renables newli|
00003a40  6e 65 73 2e 0a 20 2f 6e  61 6d 65 3d 3c 69 64 3e  |nes.. /name=<id>|
00003a50  20 20 20 20 20 73 65 6e  64 73 20 74 68 65 20 73  |     sends the s|
00003a60  74 72 69 6e 67 20 74 6f  20 74 61 73 6b 77 69 6e  |tring to taskwin|
00003a70  64 6f 77 20 3c 69 64 3e  20 72 61 74 68 65 72 20  |dow <id> rather |
00003a80  74 68 61 6e 20 74 68 65  20 73 65 72 69 61 6c 0a  |than the serial.|
00003a90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003aa0  70 6f 72 74 2e 0a 0a 3f  6c 69 6e 65 20 3c 63 6f  |port...?line <co|
00003ab0  6e 64 69 74 69 6f 6e 3e  0a 20 74 65 73 74 73 20  |ndition>. tests |
00003ac0  63 6f 6e 64 69 74 69 6f  6e 20 6f 66 20 73 65 72  |condition of ser|
00003ad0  69 61 6c 20 70 6f 72 74  20 6c 69 6e 65 73 2e 20  |ial port lines. |
00003ae0  43 6f 6e 64 69 74 69 6f  6e 20 63 61 6e 20 62 65  |Condition can be|
00003af0  20 6f 6e 65 20 6f 66 3a  0a 20 20 2f 63 74 73 0a  | one of:.  /cts.|
00003b00  20 20 2f 64 73 72 0a 20  20 2f 72 6e 67 0a 20 20  |  /dsr.  /rng.  |
00003b10  2f 64 63 64 0a 20 20 52  65 74 75 72 6e 73 20 31  |/dcd.  Returns 1|
00003b20  2f 30 20 66 6f 72 20 68  69 67 68 2f 6c 6f 77 0a  |/0 for high/low.|
00003b30  0a 34 3a 20 43 6f 6e 74  72 6f 6c 0a 2d 2d 2d 2d  |.4: Control.----|
00003b40  2d 2d 2d 2d 2d 2d 0a 0a  77 61 69 74 20 5b 2f 64  |------..wait [/d|
00003b50  65 6c 61 79 3d 3c 6e 3e  5d 20 5b 2f 69 64 3d 3c  |elay=<n>] [/id=<|
00003b60  69 64 3e 5d 20 3c 73 74  72 69 6e 67 31 3e 20 5b  |id>] <string1> [|
00003b70  3c 73 74 72 69 6e 67 32  3e 2e 2e 2e 5d 0a 20 77  |<string2>...]. w|
00003b80  61 69 74 73 20 66 6f 72  20 61 20 73 74 72 69 6e  |aits for a strin|
00003b90  67 20 74 6f 20 62 65 20  72 65 63 65 69 76 65 64  |g to be received|
00003ba0  2e 20 59 6f 75 20 63 61  6e 20 73 70 65 63 69 66  |. You can specif|
00003bb0  79 20 75 70 0a 20 74 6f  20 34 20 73 74 72 69 6e  |y up. to 4 strin|
00003bc0  67 73 20 74 6f 20 77 61  69 74 20 66 6f 72 2e 20  |gs to wait for. |
00003bd0  46 6f 72 20 65 78 61 6d  70 6c 65 3a 0a 20 77 61  |For example:. wa|
00003be0  69 74 20 6c 6f 67 69 6e  20 70 61 73 73 77 6f 72  |it login passwor|
00003bf0  64 0a 20 20 72 65 74 75  72 6e 73 20 31 20 69 66  |d.  returns 1 if|
00003c00  20 22 6c 6f 67 69 6e 22  20 69 73 20 64 65 74 65  | "login" is dete|
00003c10  63 74 65 64 2c 20 32 20  69 66 20 22 70 61 73 73  |cted, 2 if "pass|
00003c20  77 6f 72 64 22 20 69 73  20 64 65 74 65 63 74 65  |word" is detecte|
00003c30  64 2c 20 6f 72 20 30 20  69 66 20 74 68 65 0a 20  |d, or 0 if the. |
00003c40  20 63 6f 6d 6d 61 6e 64  20 74 69 6d 65 73 20 6f  | command times o|
00003c50  75 74 2e 0a 20 20 54 68  65 20 64 65 66 61 75 6c  |ut..  The defaul|
00003c60  74 20 74 69 6d 65 6f 75  74 20 69 73 20 36 30 30  |t timeout is 600|
00003c70  20 73 65 63 6f 6e 64 73  20 28 31 30 20 6d 69 6e  | seconds (10 min|
00003c80  75 74 65 73 29 3b 20 79  6f 75 20 63 61 6e 20 61  |utes); you can a|
00003c90  6c 74 65 72 20 74 68 69  73 20 77 69 74 68 0a 20  |lter this with. |
00003ca0  20 74 68 65 20 2f 64 65  6c 61 79 3d 3c 6e 3e 20  | the /delay=<n> |
00003cb0  71 75 61 6c 69 66 69 65  72 2e 20 46 6f 72 20 65  |qualifier. For e|
00003cc0  78 61 6d 70 6c 65 3a 0a  20 20 77 61 69 74 20 2f  |xample:.  wait /|
00003cd0  64 65 6c 61 79 3d 32 30  20 6c 6f 67 69 6e 0a 20  |delay=20 login. |
00003ce0  20 20 77 61 69 74 73 20  66 6f 72 20 32 30 20 73  |  waits for 20 s|
00003cf0  65 63 6f 6e 64 73 20 66  6f 72 20 74 68 65 20 73  |econds for the s|
00003d00  74 72 69 6e 67 20 22 6c  6f 67 69 6e 22 2e 0a 20  |tring "login".. |
00003d10  54 6f 20 69 6e 63 6c 75  64 65 20 73 70 61 63 65  |To include space|
00003d20  73 20 69 6e 20 61 20 77  61 69 74 20 73 74 72 69  |s in a wait stri|
00003d30  6e 67 2c 20 71 75 6f 74  65 20 74 68 65 20 73 74  |ng, quote the st|
00003d40  72 69 6e 67 20 2d 20 65  67 3a 0a 20 20 77 61 69  |ring - eg:.  wai|
00003d50  74 20 2f 64 65 6c 61 79  3d 32 30 20 6c 6f 67 69  |t /delay=20 logi|
00003d60  6e 20 22 63 6f 6e 74 72  69 76 65 64 20 65 78 61  |n "contrived exa|
00003d70  6d 70 6c 65 22 20 48 45  4c 4c 4f 0a 0a 20 54 68  |mple" HELLO.. Th|
00003d80  65 20 64 65 66 61 75 6c  74 20 69 6e 70 75 74 20  |e default input |
00003d90  73 74 72 65 61 6d 20 65  78 61 6d 69 6e 65 64 20  |stream examined |
00003da0  69 73 20 74 68 65 20 73  65 72 69 61 6c 20 28 6f  |is the serial (o|
00003db0  72 20 6f 74 68 65 72 29  20 70 6f 72 74 2c 20 61  |r other) port, a|
00003dc0  73 20 64 65 66 69 6e 65  64 0a 20 20 62 79 20 74  |s defined.  by t|
00003dd0  68 65 20 22 70 6f 72 74  22 20 63 6f 6d 6d 61 6e  |he "port" comman|
00003de0  64 2e 20 49 66 20 74 68  65 20 71 75 61 6c 69 66  |d. If the qualif|
00003df0  69 65 72 20 22 2f 69 64  3d 3c 69 64 3e 22 20 69  |ier "/id=<id>" i|
00003e00  73 20 73 70 65 63 69 66  69 65 64 2c 20 74 68 65  |s specified, the|
00003e10  0a 20 20 6f 75 74 70 75  74 20 73 74 72 65 61 6d  |.  output stream|
00003e20  20 66 72 6f 6d 20 74 68  65 20 73 70 65 63 69 66  | from the specif|
00003e30  69 65 64 20 74 61 73 6b  77 69 6e 64 6f 77 20 69  |ied taskwindow i|
00003e40  73 20 65 78 61 6d 69 6e  65 64 20 69 6e 73 74 65  |s examined inste|
00003e50  61 64 2e 20 4e 6f 74 65  20 74 68 61 74 0a 20 20  |ad. Note that.  |
00003e60  79 6f 75 20 63 61 6e 20  61 74 20 70 72 65 73 65  |you can at prese|
00003e70  6e 74 20 6f 6e 6c 79 20  73 70 65 63 69 66 79 20  |nt only specify |
00003e80  61 20 74 61 73 6b 77 69  6e 64 6f 77 20 77 68 69  |a taskwindow whi|
00003e90  63 68 20 69 73 20 62 65  69 6e 67 20 62 75 66 66  |ch is being buff|
00003ea0  65 72 65 64 20 74 6f 20  61 0a 20 20 77 69 6e 64  |ered to a.  wind|
00003eb0  6f 77 3b 20 6e 6f 74 20  6f 6e 65 20 77 69 74 68  |ow; not one with|
00003ec0  20 6f 75 74 70 75 74 20  74 6f 20 61 20 66 69 6c  | output to a fil|
00003ed0  65 2e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |e..             |
00003ee0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003ef0  20 20 20 20 20 0a 77 61  69 74 20 2f 65 76 65 6e  |     .wait /even|
00003f00  74 0a 20 77 61 69 74 73  20 66 6f 72 20 61 6e 20  |t. waits for an |
00003f10  65 76 65 6e 74 20 73 75  63 68 20 61 73 20 61 6e  |event such as an|
00003f20  20 61 6c 61 72 6d 20 6f  72 20 61 20 75 73 65 72  | alarm or a user|
00003f30  20 6d 65 6e 75 20 73 65  6c 65 63 74 69 6f 6e 2e  | menu selection.|
00003f40  0a 0a 65 76 65 6e 74 20  5b 2f 65 6e 61 62 6c 65  |..event [/enable|
00003f50  7c 2f 64 69 73 61 62 6c  65 5d 20 3c 65 76 65 6e  ||/disable] <even|
00003f60  74 2d 74 79 70 65 3e 20  5b 3c 65 76 65 6e 74 2d  |t-type> [<event-|
00003f70  74 79 70 65 3e 20 2e 2e  2e 20 5d 0a 20 65 6e 61  |type> ... ]. ena|
00003f80  62 6c 65 73 20 6f 72 20  64 69 73 61 62 6c 65 73  |bles or disables|
00003f90  20 65 76 65 6e 74 73 2e  20 59 6f 75 20 6d 69 67  | events. You mig|
00003fa0  68 74 20 77 61 6e 74 20  74 6f 20 64 69 73 61 62  |ht want to disab|
00003fb0  6c 65 20 65 76 65 6e 74  73 20 64 75 72 69 6e 67  |le events during|
00003fc0  0a 20 73 65 6e 73 69 74  69 76 65 20 73 63 72 69  |. sensitive scri|
00003fd0  70 74 20 6f 70 65 72 61  74 69 6f 6e 73 2c 20 73  |pt operations, s|
00003fe0  75 63 68 20 61 73 20 6c  6f 67 67 69 6e 67 20 69  |uch as logging i|
00003ff0  6e 2e 20 45 76 65 6e 74  73 20 77 69 6c 6c 20 73  |n. Events will s|
00004000  74 69 6c 6c 20 62 65 20  71 75 65 75 65 64 0a 20  |till be queued. |
00004010  77 68 69 6c 65 20 64 69  73 61 62 6c 65 64 2c 20  |while disabled, |
00004020  62 75 74 20 77 69 6c 6c  20 6e 6f 74 20 62 65 20  |but will not be |
00004030  61 63 74 65 64 20 75 70  6f 6e 20 75 6e 74 69 6c  |acted upon until|
00004040  20 61 6e 20 22 65 76 65  6e 74 2f 65 6e 61 62 6c  | an "event/enabl|
00004050  65 22 20 69 73 20 69 73  73 75 65 64 2e 0a 20 4e  |e" is issued.. N|
00004060  6f 74 65 20 74 68 61 74  20 22 73 74 6f 70 22 20  |ote that "stop" |
00004070  61 6e 64 20 22 65 72 72  6f 72 22 20 65 76 65 6e  |and "error" even|
00004080  74 73 20 63 61 6e 6e 6f  74 20 62 65 20 64 69 73  |ts cannot be dis|
00004090  61 62 6c 65 64 21 0a 20  45 76 65 6e 74 20 74 79  |abled!. Event ty|
000040a0  70 65 73 20 61 72 65 20  61 73 20 66 6f 6c 6c 6f  |pes are as follo|
000040b0  77 73 3a 0a 20 20 20 73  79 73 20 20 20 20 73 6c  |ws:.   sys    sl|
000040c0  69 70 64 69 61 6c 20 73  79 73 74 65 6d 20 65 76  |ipdial system ev|
000040d0  65 6e 74 73 20 28 63 61  6e 6e 6f 74 20 62 65 20  |ents (cannot be |
000040e0  64 69 73 61 62 6c 65 64  29 0a 20 20 20 74 69 6d  |disabled).   tim|
000040f0  65 20 20 20 74 69 6d 65  64 20 61 6c 61 72 6d 73  |e   timed alarms|
00004100  0a 20 20 20 6c 69 6e 65  20 20 20 6c 69 6e 65 20  |.   line   line |
00004110  61 6c 61 72 6d 73 0a 20  20 20 74 61 73 6b 20 20  |alarms.   task  |
00004120  20 74 61 73 6b 20 74 65  72 6d 69 6e 61 74 69 6f  | task terminatio|
00004130  6e 20 65 76 65 6e 74 73  0a 20 20 20 74 77 69 6e  |n events.   twin|
00004140  20 20 20 74 61 73 6b 77  69 6e 64 6f 77 20 74 65  |   taskwindow te|
00004150  72 6d 69 6e 61 74 69 6f  6e 20 65 76 65 6e 74 73  |rmination events|
00004160  0a 20 20 20 69 6e 70 75  74 20 20 75 73 65 72 20  |.   input  user |
00004170  63 6f 6d 6d 61 6e 64 20  69 6e 70 75 74 20 28 63  |command input (c|
00004180  6f 6d 6d 61 6e 64 20 77  69 6e 64 6f 77 29 0a 20  |ommand window). |
00004190  20 20 69 63 6f 6e 20 20  20 63 6c 69 63 6b 20 6f  |  icon   click o|
000041a0  6e 20 75 73 65 72 20 69  63 6f 6e 73 0a 20 20 20  |n user icons.   |
000041b0  66 69 6c 65 20 20 20 66  69 6c 65 20 64 72 6f 70  |file   file drop|
000041c0  70 65 64 20 6f 6e 20 75  73 65 72 20 69 63 6f 6e  |ped on user icon|
000041d0  73 0a 20 20 20 6d 65 6e  75 20 20 20 75 73 65 72  |s.   menu   user|
000041e0  2d 64 65 66 69 6e 65 64  20 6d 65 6e 75 73 0a 20  |-defined menus. |
000041f0  20 20 65 6f 66 20 20 20  20 75 73 65 72 2d 66 69  |  eof    user-fi|
00004200  6c 65 20 45 4f 46 20 65  76 65 6e 74 73 0a 20 45  |le EOF events. E|
00004210  76 65 6e 74 20 73 70 65  63 69 66 69 63 61 74 69  |vent specificati|
00004220  6f 6e 73 20 6d 61 79 20  62 65 20 63 6f 6d 62 69  |ons may be combi|
00004230  6e 65 64 20 69 6e 20 6f  6e 65 20 63 6f 6d 6d 61  |ned in one comma|
00004240  6e 64 2c 20 65 67 3a 0a  20 20 20 65 76 65 6e 74  |nd, eg:.   event|
00004250  20 2f 64 69 73 61 62 6c  65 20 61 6c 6c 20 2f 65  | /disable all /e|
00004260  6e 61 62 6c 65 20 6c 69  6e 65 20 6d 65 6e 75 20  |nable line menu |
00004270  74 61 73 6b 0a 0a 61 6c  61 72 6d 20 2f 74 69 6d  |task..alarm /tim|
00004280  65 3d 3c 74 69 6d 65 3e  20 5b 2f 72 65 70 65 61  |e=<time> [/repea|
00004290  74 5d 20 5b 2f 69 64 3d  3c 69 64 3e 5d 20 3c 61  |t] [/id=<id>] <a|
000042a0  63 74 69 6f 6e 3e 0a 20  73 65 74 73 20 61 6e 20  |ction>. sets an |
000042b0  61 6c 61 72 6d 20 65 69  74 68 65 72 20 66 6f 72  |alarm either for|
000042c0  20 74 69 6d 65 2d 6f 66  2d 64 61 79 20 6f 72 20  | time-of-day or |
000042d0  65 6c 61 70 73 65 64 20  74 69 6d 65 2e 20 3c 74  |elapsed time. <t|
000042e0  69 6d 65 3e 20 69 73 20  73 70 65 63 69 66 69 65  |ime> is specifie|
000042f0  64 20 61 73 3a 0a 20 20  20 48 48 3a 4d 4d 3a 53  |d as:.   HH:MM:S|
00004300  53 20 20 20 20 20 74 69  6d 65 20 6f 66 20 64 61  |S     time of da|
00004310  79 0a 20 20 2b 48 48 3a  4d 4d 3a 53 53 20 20 20  |y.  +HH:MM:SS   |
00004320  20 20 65 6c 61 70 73 65  64 20 74 69 6d 65 0a 20  |  elapsed time. |
00004330  54 68 65 20 2f 72 65 70  65 61 74 20 71 75 61 6c  |The /repeat qual|
00004340  69 66 69 65 72 20 77 69  6c 6c 20 72 65 73 75 62  |ifier will resub|
00004350  6d 69 74 20 74 68 65 20  73 61 6d 65 20 61 6c 61  |mit the same ala|
00004360  72 6d 20 73 65 74 74 69  6e 67 20 20 61 66 74 65  |rm setting  afte|
00004370  72 20 69 74 20 67 6f 65  73 20 6f 66 66 2e 0a 20  |r it goes off.. |
00004380  54 68 65 20 2f 69 64 20  71 75 61 6c 69 66 69 65  |The /id qualifie|
00004390  72 20 61 73 73 6f 63 69  61 74 65 73 20 61 20 6e  |r associates a n|
000043a0  61 6d 65 20 77 69 74 68  20 61 6e 20 61 6c 61 72  |ame with an alar|
000043b0  6d 2c 20 73 6f 20 69 74  20 63 61 6e 20 62 65 20  |m, so it can be |
000043c0  63 61 6e 63 65 6c 6c 65  64 2e 0a 0a 61 6c 61 72  |cancelled...alar|
000043d0  6d 20 2f 63 61 6e 63 65  6c 3d 3c 69 64 3e 0a 20  |m /cancel=<id>. |
000043e0  43 61 6e 63 65 6c 73 20  61 20 74 69 6d 65 64 20  |Cancels a timed |
000043f0  61 6c 61 72 6d 2e 20 28  74 6f 20 63 61 6e 63 65  |alarm. (to cance|
00004400  6c 20 61 20 6e 6f 6e 2d  74 69 6d 65 64 20 61 6c  |l a non-timed al|
00004410  61 72 6d 20 73 75 63 68  20 61 73 20 2f 73 74 6f  |arm such as /sto|
00004420  70 20 6f 72 20 2f 64 63  64 2c 0a 20 73 65 74 20  |p or /dcd,. set |
00004430  74 68 65 20 61 6c 61 72  6d 20 77 69 74 68 20 61  |the alarm with a|
00004440  20 6e 75 6c 6c 20 63 6f  6d 6d 61 6e 64 20 2d 20  | null command - |
00004450  65 67 2c 20 27 61 6c 61  72 6d 2f 73 74 6f 70 27  |eg, 'alarm/stop'|
00004460  29 2e 0a 0a 61 6c 61 72  6d 20 2f 73 74 6f 70 3d  |)...alarm /stop=|
00004470  3c 63 6f 6d 6d 61 6e 64  3e 0a 20 53 70 65 63 69  |<command>. Speci|
00004480  66 69 65 73 20 61 20 63  6f 6d 6d 61 6e 64 20 74  |fies a command t|
00004490  6f 20 62 65 20 65 78 65  63 75 74 65 64 20 77 68  |o be executed wh|
000044a0  65 6e 20 74 68 65 20 22  53 74 6f 70 22 20 62 75  |en the "Stop" bu|
000044b0  74 74 6f 6e 20 69 73 20  63 6c 69 63 6b 65 64 2e  |tton is clicked.|
000044c0  20 49 66 20 6e 6f 0a 20  73 74 6f 70 20 61 6c 61  | If no. stop ala|
000044d0  72 6d 20 69 73 20 64 65  66 69 6e 65 64 2c 20 74  |rm is defined, t|
000044e0  68 65 20 73 65 72 69 61  6c 20 64 65 76 69 63 65  |he serial device|
000044f0  20 69 73 20 72 65 6c 65  61 73 65 64 20 61 6e 64  | is released and|
00004500  20 74 68 65 20 73 63 72  69 70 74 20 70 61 75 73  | the script paus|
00004510  65 73 2e 0a 20 54 68 69  73 20 61 6c 61 72 6d 20  |es.. This alarm |
00004520  63 61 6e 63 65 6c 73 20  69 74 73 65 6c 66 20 77  |cancels itself w|
00004530  68 65 6e 20 69 74 20 67  6f 65 73 20 6f 66 66 2e  |hen it goes off.|
00004540  0a 0a 61 6c 61 72 6d 20  2f 64 63 64 5b 3d 30 7c  |..alarm /dcd[=0||
00004550  31 5d 20 3c 63 6f 6d 6d  61 6e 64 3e 0a 61 6c 61  |1] <command>.ala|
00004560  72 6d 20 2f 63 74 73 5b  3d 30 7c 31 5d 20 3c 63  |rm /cts[=0|1] <c|
00004570  6f 6d 6d 61 6e 64 3e 0a  61 6c 61 72 6d 20 2f 64  |ommand>.alarm /d|
00004580  74 72 5b 3d 30 7c 31 5d  20 3c 63 6f 6d 6d 61 6e  |tr[=0|1] <comman|
00004590  64 3e 0a 61 6c 61 72 6d  20 2f 72 6e 67 5b 3d 30  |d>.alarm /rng[=0|
000045a0  7c 31 5d 20 3c 63 6f 6d  6d 61 6e 64 3e 0a 61 6c  ||1] <command>.al|
000045b0  61 72 6d 20 2f 64 73 72  5b 3d 30 7c 31 5d 20 3c  |arm /dsr[=0|1] <|
000045c0  63 6f 6d 6d 61 6e 64 3e  0a 20 53 70 65 63 69 66  |command>. Specif|
000045d0  69 65 73 20 63 6f 6d 6d  61 6e 64 20 74 6f 20 65  |ies command to e|
000045e0  78 65 63 75 74 65 20 77  68 65 6e 20 74 68 65 20  |xecute when the |
000045f0  73 70 65 63 69 66 69 65  64 20 6c 69 6e 65 20 62  |specified line b|
00004600  65 63 6f 6d 65 73 20 6c  6f 77 20 28 6f 72 20 68  |ecomes low (or h|
00004610  69 67 68 29 2e 0a 20 54  68 69 73 20 61 6c 61 72  |igh).. This alar|
00004620  6d 20 63 61 6e 63 65 6c  73 20 69 74 73 65 6c 66  |m cancels itself|
00004630  20 77 68 65 6e 20 69 74  20 67 6f 65 73 20 6f 66  | when it goes of|
00004640  66 2e 20 55 73 65 20 74  68 65 20 27 3d 31 27 20  |f. Use the '=1' |
00004650  76 61 6c 75 65 20 73 70  65 63 69 66 69 63 61 74  |value specificat|
00004660  69 6f 6e 0a 20 74 6f 20  74 72 69 67 67 65 72 20  |ion. to trigger |
00004670  6f 6e 20 6c 6f 77 2d 3e  68 69 67 68 2c 20 6f 74  |on low->high, ot|
00004680  68 65 72 77 69 73 65 2c  20 74 72 69 67 67 65 72  |herwise, trigger|
00004690  73 20 6f 6e 20 68 69 67  68 2d 3e 6c 6f 77 2e 0a  |s on high->low..|
000046a0  0a 61 6c 61 72 6d 2f 65  72 72 6f 72 3d 3c 63 6f  |.alarm/error=<co|
000046b0  6d 6d 61 6e 64 3e 0a 20  64 65 66 69 6e 65 73 20  |mmand>. defines |
000046c0  63 6f 6d 6d 61 6e 64 20  74 6f 20 65 78 65 63 75  |command to execu|
000046d0  74 65 20 77 68 65 6e 20  61 20 73 63 72 69 70 74  |te when a script|
000046e0  20 65 72 72 6f 72 20 6f  63 63 75 72 73 2e 0a 0a  | error occurs...|
000046f0  61 6c 61 72 6d 2f 69 63  6f 6e 3d 3c 69 64 3e 20  |alarm/icon=<id> |
00004700  3c 63 6f 6d 6d 61 6e 64  3e 0a 20 64 65 66 69 6e  |<command>. defin|
00004710  65 73 20 63 6f 6d 6d 61  6e 64 20 74 6f 20 65 78  |es command to ex|
00004720  65 63 75 74 65 20 77 68  65 6e 20 61 20 66 69 6c  |ecute when a fil|
00004730  65 20 69 73 20 64 72 6f  70 70 65 64 20 6f 6e 74  |e is dropped ont|
00004740  6f 20 69 63 6f 6e 20 77  69 74 68 20 69 64 65 6e  |o icon with iden|
00004750  74 69 66 69 65 72 0a 20  3c 69 64 3e 2e 20 54 68  |tifier. <id>. Th|
00004760  65 20 6e 61 6d 65 20 6f  66 20 74 68 65 20 66 69  |e name of the fi|
00004770  6c 65 20 64 72 6f 70 70  65 64 20 69 73 20 70 75  |le dropped is pu|
00004780  74 20 69 6e 74 6f 20 74  68 65 20 76 61 72 69 61  |t into the varia|
00004790  62 6c 65 20 24 66 69 6c  65 2c 20 61 6e 64 20 69  |ble $file, and i|
000047a0  74 73 0a 20 66 69 6c 65  74 79 70 65 20 28 69 6e  |ts. filetype (in|
000047b0  20 68 65 78 29 20 69 6e  74 6f 20 24 74 79 70 65  | hex) into $type|
000047c0  2e 0a 0a 6d 65 6e 75 20  22 65 6e 74 72 79 3a 63  |...menu "entry:c|
000047d0  6f 6d 6d 61 6e 64 22 20  5b 22 65 6e 74 72 79 3a  |ommand" ["entry:|
000047e0  63 6f 6d 6d 61 6e 64 22  5d 2e 2e 2e 0a 20 64 65  |command"].... de|
000047f0  66 69 6e 65 73 20 61 20  75 73 65 72 20 6d 65 6e  |fines a user men|
00004800  75 20 28 6f 6e 6c 79 20  61 63 74 65 64 20 75 70  |u (only acted up|
00004810  6f 6e 20 64 75 72 69 6e  67 20 61 20 22 77 61 69  |on during a "wai|
00004820  74 20 2f 65 76 65 6e 74  22 29 0a 20 46 6f 72 20  |t /event"). For |
00004830  65 78 61 6d 70 6c 65 3a  0a 20 6d 65 6e 75 20 22  |example:. menu "|
00004840  43 61 6c 6c 20 44 65 6d  6f 6e 3a 63 61 6c 6c 20  |Call Demon:call |
00004850  63 61 6c 6c 64 65 6d 6f  6e 22 20 22 53 65 6e 64  |calldemon" "Send|
00004860  20 4d 61 69 6c 3a 63 61  6c 6c 20 73 65 6e 64 6d  | Mail:call sendm|
00004870  61 69 6c 22 20 22 51 75  69 74 3a 71 75 69 74 22  |ail" "Quit:quit"|
00004880  0a 0a 6d 65 6e 75 2f 69  63 6f 6e 3d 3c 69 64 3e  |..menu/icon=<id>|
00004890  20 22 65 6e 74 72 79 3a  63 6f 6d 6d 61 6e 64 22  | "entry:command"|
000048a0  20 5b 22 65 6e 74 72 79  3a 63 6f 6d 6d 61 6e 64  | ["entry:command|
000048b0  22 5d 2e 2e 2e 0a 20 64  65 66 69 6e 65 73 20 61  |"].... defines a|
000048c0  20 6d 65 6e 75 20 61 73  73 6f 63 69 61 74 65 64  | menu associated|
000048d0  20 77 69 74 68 20 61 6e  20 69 63 6f 6e 62 61 72  | with an iconbar|
000048e0  20 69 63 6f 6e 20 28 61  64 64 65 64 20 62 79 20  | icon (added by |
000048f0  74 68 65 20 27 69 63 6f  6e 27 0a 20 63 6f 6d 6d  |the 'icon'. comm|
00004900  61 6e 64 29 2e 0a 0a 69  63 6f 6e 2f 69 64 3d 3c  |and)...icon/id=<|
00004910  69 64 3e 20 5b 2f 66 69  6c 65 3d 3c 66 69 6c 65  |id> [/file=<file|
00004920  6e 61 6d 65 3e 5d 20 5b  2f 61 63 74 69 6f 6e 3d  |name>] [/action=|
00004930  3c 63 6f 6d 6d 61 6e 64  3e 5d 20 3c 73 70 72 69  |<command>] <spri|
00004940  74 65 6e 61 6d 65 3e 0a  20 61 64 64 73 20 61 6e  |tename>. adds an|
00004950  20 69 63 6f 6e 20 74 6f  20 74 68 65 20 69 63 6f  | icon to the ico|
00004960  6e 20 62 61 72 2e 20 55  70 20 74 6f 20 35 20 65  |n bar. Up to 5 e|
00004970  78 74 72 61 20 69 63 6f  6e 73 20 63 61 6e 20 62  |xtra icons can b|
00004980  65 20 61 64 64 65 64 2c  20 65 61 63 68 20 77 69  |e added, each wi|
00004990  74 68 0a 20 74 68 65 69  72 20 6f 77 6e 20 61 73  |th. their own as|
000049a0  73 6f 63 69 61 74 65 64  20 61 63 74 69 6f 6e 73  |sociated actions|
000049b0  20 61 6e 64 20 6d 65 6e  75 73 2e 0a 20 2f 69 64  | and menus.. /id|
000049c0  3d 3c 69 64 3e 20 69 64  65 6e 74 69 66 69 65 73  |=<id> identifies|
000049d0  20 74 68 65 20 69 63 6f  6e 20 28 65 69 74 68 65  | the icon (eithe|
000049e0  72 20 61 20 6e 65 77 20  69 63 6f 6e 20 6f 72 20  |r a new icon or |
000049f0  72 65 70 6c 61 63 65 6d  65 6e 74 29 0a 20 2f 66  |replacement). /f|
00004a00  69 6c 65 3d 3c 66 69 6c  65 6e 61 6d 65 3e 20 6c  |ile=<filename> l|
00004a10  6f 61 64 73 20 74 68 65  20 6e 61 6d 65 64 20 73  |oads the named s|
00004a20  70 72 69 74 65 20 66 69  6c 65 20 69 6e 74 6f 20  |prite file into |
00004a30  73 6c 69 70 64 69 61 6c  27 73 20 73 70 72 69 74  |slipdial's sprit|
00004a40  65 20 70 6f 6f 6c 0a 20  20 20 20 20 20 20 20 28  |e pool.        (|
00004a50  6e 6f 74 65 2c 20 6c 69  6d 69 74 65 64 20 73 70  |note, limited sp|
00004a60  61 63 65 20 61 76 61 69  6c 61 62 6c 65 21 29 0a  |ace available!).|
00004a70  20 2f 61 63 74 69 6f 6e  3d 3c 63 6f 6d 6d 61 6e  | /action=<comman|
00004a80  64 3e 20 64 65 66 69 6e  65 73 20 73 63 72 69 70  |d> defines scrip|
00004a90  74 20 63 6f 6d 6d 61 6e  64 20 74 6f 20 65 78 65  |t command to exe|
00004aa0  63 75 74 65 20 77 68 65  6e 20 69 63 6f 6e 20 69  |cute when icon i|
00004ab0  73 20 63 6c 69 63 6b 65  64 2e 0a 0a 69 63 6f 6e  |s clicked...icon|
00004ac0  2f 63 61 6e 63 65 6c 3d  3c 69 64 3e 20 64 65 6c  |/cancel=<id> del|
00004ad0  65 74 65 73 20 61 6e 20  69 63 6f 6e 20 66 72 6f  |etes an icon fro|
00004ae0  6d 20 74 68 65 20 69 63  6f 6e 62 61 72 2e 0a 0a  |m the iconbar...|
00004af0  69 63 6f 6e 20 2f 66 72  65 65 20 72 65 74 75 72  |icon /free retur|
00004b00  6e 73 20 74 68 65 20 61  6d 6f 75 6e 74 20 6f 66  |ns the amount of|
00004b10  20 66 72 65 65 20 73 70  61 63 65 20 69 6e 20 74  | free space in t|
00004b20  68 65 20 73 6c 69 70 64  69 61 6c 20 73 70 72 69  |he slipdial spri|
00004b30  74 65 20 61 72 65 61 2e  20 54 68 69 73 0a 20 63  |te area. This. c|
00004b40  61 6e 20 62 65 20 75 73  65 64 20 74 6f 20 63 68  |an be used to ch|
00004b50  65 63 6b 20 77 68 65 74  68 65 72 20 69 74 20 69  |eck whether it i|
00004b60  73 20 70 6f 73 73 69 62  6c 65 20 74 6f 20 6c 6f  |s possible to lo|
00004b70  61 64 20 61 20 73 70 72  69 74 65 20 66 69 6c 65  |ad a sprite file|
00004b80  2e 0a 0a 70 61 75 73 65  20 3c 6e 3e 0a 73 6c 65  |...pause <n>.sle|
00004b90  65 70 20 3c 6e 3e 0a 20  57 61 69 74 73 20 66 6f  |ep <n>. Waits fo|
00004ba0  72 20 3c 6e 3e 20 73 65  63 6f 6e 64 73 20 62 65  |r <n> seconds be|
00004bb0  66 6f 72 65 20 63 6f 6e  74 69 6e 75 69 6e 67 20  |fore continuing |
00004bc0  73 63 72 69 70 74 20 65  78 65 63 75 74 69 6f 6e  |script execution|
00004bd0  2e 0a 20 49 66 20 3c 6e  3e 20 69 73 20 7a 65 72  |.. If <n> is zer|
00004be0  6f 20 6f 72 20 6f 6d 69  74 74 65 64 2c 20 70 75  |o or omitted, pu|
00004bf0  74 73 20 73 63 72 69 70  74 20 69 6e 74 6f 20 70  |ts script into p|
00004c00  61 75 73 65 20 6d 6f 64  65 20 28 72 65 73 74 61  |ause mode (resta|
00004c10  72 74 20 0a 20 62 79 20  63 6c 69 63 6b 69 6e 67  |rt . by clicking|
00004c20  20 6f 6e 20 52 65 73 75  6d 65 29 2e 0a 0a 74 61  | on Resume)...ta|
00004c30  73 6b 20 5b 2f 6e 61 6d  65 3d 3c 6e 61 6d 65 3e  |sk [/name=<name>|
00004c40  5d 20 5b 2f 65 78 69 74  3d 3c 63 6f 6d 6d 61 6e  |] [/exit=<comman|
00004c50  64 3e 5d 20 5b 2f 77 61  69 74 5d 20 3c 66 69 6c  |d>] [/wait] <fil|
00004c60  65 73 70 65 63 3e 0a 20  73 74 61 72 74 73 20 74  |espec>. starts t|
00004c70  68 65 20 73 70 65 63 69  66 69 65 64 20 74 61 73  |he specified tas|
00004c80  6b 2e 20 45 78 61 6d 70  6c 65 3a 0a 20 74 61 73  |k. Example:. tas|
00004c90  6b 20 3c 54 43 50 49 50  24 44 69 72 3e 2e 21 52  |k <TCPIP$Dir>.!R|
00004ca0  75 6e 0a 20 2f 6e 61 6d  65 20 20 73 70 65 63 69  |un. /name  speci|
00004cb0  66 69 65 73 20 61 20 6e  61 6d 65 20 74 6f 20 62  |fies a name to b|
00004cc0  65 20 61 73 73 6f 63 69  61 74 65 64 20 77 69 74  |e associated wit|
00004cd0  68 20 74 68 65 20 63 6f  6d 6d 61 6e 64 20 28 62  |h the command (b|
00004ce0  79 20 77 68 69 63 68 20  69 74 20 6d 61 79 0a 20  |y which it may. |
00004cf0  62 65 20 6b 69 6c 6c 65  64 2c 20 66 6f 72 20 65  |be killed, for e|
00004d00  78 61 6d 70 6c 65 29 2e  0a 20 2f 65 78 69 74 20  |xample).. /exit |
00004d10  20 73 70 65 63 69 66 69  65 73 20 61 20 63 6f 6d  | specifies a com|
00004d20  6d 61 6e 64 20 74 6f 20  62 65 20 65 78 65 63 75  |mand to be execu|
00004d30  74 65 64 20 77 68 65 6e  20 74 68 65 20 74 61 73  |ted when the tas|
00004d40  6b 20 74 65 72 6d 69 6e  61 74 65 73 2e 0a 20 2f  |k terminates.. /|
00004d50  77 61 69 74 20 20 66 6f  72 63 65 73 20 74 68 65  |wait  forces the|
00004d60  20 73 63 72 69 70 74 20  74 6f 20 77 61 69 74 20  | script to wait |
00004d70  66 6f 72 20 74 68 65 20  73 74 61 72 74 65 64 20  |for the started |
00004d80  74 61 73 6b 20 74 6f 20  66 69 6e 69 73 68 2e 20  |task to finish. |
00004d90  4f 74 68 65 72 77 69 73  65 2c 0a 20 20 73 63 72  |Otherwise,.  scr|
00004da0  69 70 74 20 65 78 65 63  75 74 69 6f 6e 20 63 6f  |ipt execution co|
00004db0  6e 74 69 6e 75 65 73 20  61 73 20 73 6f 6f 6e 20  |ntinues as soon |
00004dc0  61 73 20 74 68 65 20 74  61 73 6b 20 73 74 61 72  |as the task star|
00004dd0  74 73 20 28 74 68 65 20  22 2f 65 78 69 74 22 20  |ts (the "/exit" |
00004de0  63 6f 6d 6d 61 6e 64 2c  0a 20 20 69 66 20 61 6e  |command,.  if an|
00004df0  79 2c 20 62 65 69 6e 67  20 61 64 64 65 64 20 74  |y, being added t|
00004e00  6f 20 74 68 65 20 65 76  65 6e 74 20 71 75 65 75  |o the event queu|
00004e10  65 20 77 68 65 6e 20 74  68 65 20 74 61 73 6b 20  |e when the task |
00004e20  66 69 6e 69 73 68 65 73  29 2e 0a 20 49 74 20 69  |finishes).. It i|
00004e30  73 20 70 6f 73 73 69 62  6c 65 20 74 6f 20 63 6f  |s possible to co|
00004e40  6d 62 69 6e 65 20 74 68  65 20 22 2f 77 61 69 74  |mbine the "/wait|
00004e50  22 20 61 6e 64 20 22 2f  65 78 69 74 22 20 71 75  |" and "/exit" qu|
00004e60  61 6c 69 66 69 65 72 73  2c 20 62 75 74 20 61 6c  |alifiers, but al|
00004e70  73 6f 0a 20 70 6f 69 6e  74 6c 65 73 73 21 0a 0a  |so. pointless!..|
00004e80  74 61 73 6b 20 2f 6b 69  6c 6c 5b 3d 3c 74 61 73  |task /kill[=<tas|
00004e90  6b 6e 61 6d 65 3e 5d 0a  20 74 61 73 6b 20 2f 6b  |kname>]. task /k|
00004ea0  69 6c 6c 20 62 79 20 69  74 73 65 6c 66 20 6b 69  |ill by itself ki|
00004eb0  6c 6c 73 20 74 68 65 20  6c 61 73 74 20 74 61 73  |lls the last tas|
00004ec0  6b 20 74 6f 20 62 65 20  73 74 61 72 74 65 64 20  |k to be started |
00004ed0  62 79 20 74 68 65 20 22  74 61 73 6b 22 20 63 6f  |by the "task" co|
00004ee0  6d 6d 61 6e 64 2e 0a 20  74 61 73 6b 20 2f 6b 69  |mmand.. task /ki|
00004ef0  6c 6c 20 3c 74 61 73 6b  6e 61 6d 65 3e 20 6b 69  |ll <taskname> ki|
00004f00  6c 6c 73 20 61 20 74 61  73 6b 20 62 79 20 6e 61  |lls a task by na|
00004f10  6d 65 20 28 6e 61 6d 65  20 61 73 20 6b 6e 6f 77  |me (name as know|
00004f20  6e 20 62 79 20 74 68 65  20 74 61 73 6b 0a 20 20  |n by the task.  |
00004f30  6d 61 6e 61 67 65 72 29  2e 20 4f 6e 6c 79 20 74  |manager). Only t|
00004f40  61 73 6b 73 20 6b 6e 6f  77 6e 20 74 6f 20 53 4c  |asks known to SL|
00004f50  49 50 64 69 61 6c 20 28  73 74 61 72 74 65 64 20  |IPdial (started |
00004f60  62 79 20 74 68 65 20 22  74 61 73 6b 22 20 63 6f  |by the "task" co|
00004f70  6d 6d 61 6e 64 29 20 63  61 6e 0a 20 20 62 65 20  |mmand) can.  be |
00004f80  6b 69 6c 6c 65 64 2e 0a  0a 74 61 73 6b 77 69 6e  |killed...taskwin|
00004f90  64 6f 77 20 5b 2f 6e 61  6d 65 3d 3c 6e 61 6d 65  |dow [/name=<name|
00004fa0  3e 5d 20 5b 2f 73 69 7a  65 3d 3c 6e 4b 3e 5d 20  |>] [/size=<nK>] |
00004fb0  5b 2f 65 78 69 74 3d 3c  63 6f 6d 6d 61 6e 64 3e  |[/exit=<command>|
00004fc0  5d 20 5b 2f 77 61 69 74  5d 20 5b 2f 6b 65 65 70  |] [/wait] [/keep|
00004fd0  5d 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |].              |
00004fe0  20 20 5b 2f 6f 75 74 70  75 74 3d 3c 66 69 6c 65  |  [/output=<file|
00004ff0  6e 61 6d 65 3e 5d 20 22  3c 65 78 74 65 72 6e 61  |name>] "<externa|
00005000  6c 20 63 6f 6d 6d 61 6e  64 3e 22 0a 20 53 74 61  |l command>". Sta|
00005010  72 74 73 20 61 20 74 61  73 6b 77 69 6e 64 6f 77  |rts a taskwindow|
00005020  20 70 72 6f 63 65 73 73  2e 0a 20 2f 6e 61 6d 65  | process.. /name|
00005030  20 20 6e 61 6d 65 20 66  6f 72 20 74 61 73 6b 20  |  name for task |
00005040  6d 61 6e 61 67 65 72 20  28 64 65 66 61 75 6c 74  |manager (default|
00005050  20 69 73 20 22 53 44 74  61 73 6b 6e 22 2c 20 77  | is "SDtaskn", w|
00005060  68 65 72 65 20 6e 20 69  73 20 61 20 6e 75 6d 62  |here n is a numb|
00005070  65 72 29 2e 0a 20 2f 73  69 7a 65 20 20 73 65 74  |er).. /size  set|
00005080  73 20 77 69 6d 70 73 6c  6f 74 20 73 69 7a 65 20  |s wimpslot size |
00005090  66 6f 72 20 74 61 73 6b  20 28 64 65 66 61 75 6c  |for task (defaul|
000050a0  74 20 69 73 20 73 69 7a  65 20 6f 66 20 22 4e 65  |t is size of "Ne|
000050b0  78 74 22 20 73 6c 6f 74  29 2e 0a 20 2f 65 78 69  |xt" slot).. /exi|
000050c0  74 20 20 64 65 66 69 6e  65 73 20 63 6f 6d 6d 61  |t  defines comma|
000050d0  6e 64 20 74 6f 20 65 78  65 63 75 74 65 20 77 68  |nd to execute wh|
000050e0  65 6e 20 74 61 73 6b 20  74 65 72 6d 69 6e 61 74  |en task terminat|
000050f0  65 73 0a 20 2f 6f 75 74  70 75 74 20 20 20 20 73  |es. /output    s|
00005100  65 74 73 20 66 69 6c 65  20 74 6f 20 73 74 6f 72  |ets file to stor|
00005110  65 20 6f 75 74 70 75 74  20 69 6e 20 28 69 66 20  |e output in (if |
00005120  6e 6f 20 66 69 6c 65 20  73 70 65 63 69 66 69 65  |no file specifie|
00005130  64 2c 20 61 6c 6c 20 6f  75 74 70 75 74 0a 20 20  |d, all output.  |
00005140  20 20 20 20 20 20 67 6f  65 73 20 74 6f 20 61 20  |      goes to a |
00005150  62 75 66 66 65 72 20 77  69 6e 64 6f 77 29 2e 0a  |buffer window)..|
00005160  20 2f 6e 6f 6f 75 74 70  75 74 20 20 70 72 65 76  | /nooutput  prev|
00005170  65 6e 74 73 20 61 6e 20  6f 75 74 70 75 74 20 77  |ents an output w|
00005180  69 6e 64 6f 77 20 66 72  6f 6d 20 62 65 69 6e 67  |indow from being|
00005190  20 6f 70 65 6e 65 64 2c  20 74 68 6f 75 67 68 20  | opened, though |
000051a0  74 68 65 20 64 61 74 61  0a 20 20 20 20 20 20 20  |the data.       |
000051b0  20 69 73 20 73 74 69 6c  6c 20 62 75 66 66 65 72  | is still buffer|
000051c0  65 64 20 69 6e 74 65 72  6e 61 6c 6c 79 20 61 73  |ed internally as|
000051d0  20 69 66 20 61 20 77 69  6e 64 6f 77 20 77 65 72  | if a window wer|
000051e0  65 20 70 72 65 73 65 6e  74 2e 0a 20 2f 77 61 69  |e present.. /wai|
000051f0  74 20 20 66 6f 72 63 65  73 20 74 68 65 20 73 63  |t  forces the sc|
00005200  72 69 70 74 20 74 6f 20  77 61 69 74 20 66 6f 72  |ript to wait for|
00005210  20 74 68 65 20 73 74 61  72 74 65 64 20 74 61 73  | the started tas|
00005220  6b 20 74 6f 20 66 69 6e  69 73 68 2e 20 4f 74 68  |k to finish. Oth|
00005230  65 72 77 69 73 65 2c 0a  20 20 20 20 20 20 20 20  |erwise,.        |
00005240  73 63 72 69 70 74 20 65  78 65 63 75 74 69 6f 6e  |script execution|
00005250  20 63 6f 6e 74 69 6e 75  65 73 20 61 73 20 73 6f  | continues as so|
00005260  6f 6e 20 61 73 20 74 68  65 20 74 61 73 6b 20 73  |on as the task s|
00005270  74 61 72 74 73 20 28 74  68 65 20 22 2f 65 78 69  |tarts (the "/exi|
00005280  74 22 0a 20 20 20 20 20  20 20 20 63 6f 6d 6d 61  |t".        comma|
00005290  6e 64 2c 20 69 66 20 61  6e 79 2c 20 62 65 69 6e  |nd, if any, bein|
000052a0  67 20 61 64 64 65 64 20  74 6f 20 74 68 65 20 65  |g added to the e|
000052b0  76 65 6e 74 20 71 75 65  75 65 20 77 68 65 6e 20  |vent queue when |
000052c0  74 68 65 20 74 61 73 6b  0a 20 20 20 20 20 20 20  |the task.       |
000052d0  20 66 69 6e 69 73 68 65  73 29 2e 0a 20 2f 6b 65  | finishes).. /ke|
000052e0  65 70 20 20 63 61 75 73  65 73 20 74 68 65 20 62  |ep  causes the b|
000052f0  75 66 66 65 72 20 77 69  6e 64 6f 77 2c 20 69 66  |uffer window, if|
00005300  20 61 6e 79 2c 20 74 6f  20 62 65 20 6b 65 70 74  | any, to be kept|
00005310  20 6f 6e 73 63 72 65 65  6e 20 61 66 74 65 72 20  | onscreen after |
00005320  74 68 65 0a 20 20 20 20  20 20 20 20 74 61 73 6b  |the.        task|
00005330  20 66 69 6e 69 73 68 65  73 2e 20 4f 74 68 65 72  | finishes. Other|
00005340  77 69 73 65 2c 20 74 68  65 20 77 69 6e 64 6f 77  |wise, the window|
00005350  20 69 73 20 64 65 6c 65  74 65 64 20 61 73 20 74  | is deleted as t|
00005360  68 65 20 74 61 73 6b 20  65 78 69 74 73 2e 0a 20  |he task exits.. |
00005370  20 20 20 20 20 20 20 54  68 65 20 73 6c 69 70 64  |       The slipd|
00005380  69 61 6c 20 74 61 73 6b  77 69 6e 64 6f 77 20 22  |ial taskwindow "|
00005390  73 6c 6f 74 22 20 63 61  6e 6e 6f 74 20 62 65 20  |slot" cannot be |
000053a0  72 65 2d 75 73 65 64 20  75 6e 74 69 6c 20 74 68  |re-used until th|
000053b0  65 20 77 69 6e 64 6f 77  0a 20 20 20 20 20 20 20  |e window.       |
000053c0  20 69 73 20 63 6c 6f 73  65 64 2e 0a 20 49 74 20  | is closed.. It |
000053d0  69 73 20 70 6f 73 73 69  62 6c 65 20 74 6f 20 63  |is possible to c|
000053e0  6f 6d 62 69 6e 65 20 74  68 65 20 22 2f 77 61 69  |ombine the "/wai|
000053f0  74 22 20 61 6e 64 20 22  2f 65 78 69 74 22 20 71  |t" and "/exit" q|
00005400  75 61 6c 69 66 69 65 72  73 2c 20 62 75 74 20 61  |ualifiers, but a|
00005410  6c 73 6f 0a 20 70 6f 69  6e 74 6c 65 73 73 21 0a  |lso. pointless!.|
00005420  0a 74 61 73 6b 77 69 6e  64 6f 77 20 2f 6b 69 6c  |.taskwindow /kil|
00005430  6c 3d 3c 69 64 3e 0a 20  6b 69 6c 6c 73 20 74 68  |l=<id>. kills th|
00005440  65 20 67 69 76 65 6e 20  74 61 73 6b 77 69 6e 64  |e given taskwind|
00005450  6f 77 2e 0a 0a 74 61 73  6b 77 69 6e 64 6f 77 20  |ow...taskwindow |
00005460  2f 73 75 73 70 65 6e 64  3d 3c 69 64 3e 0a 74 61  |/suspend=<id>.ta|
00005470  73 6b 77 69 6e 64 6f 77  20 2f 72 65 73 75 6d 65  |skwindow /resume|
00005480  3d 3c 69 64 3e 0a 20 74  68 65 73 65 20 63 6f 6d  |=<id>. these com|
00005490  6d 61 6e 64 73 20 73 75  73 70 65 6e 64 20 6f 72  |mands suspend or|
000054a0  20 72 65 73 75 6d 65 20  61 20 74 61 73 6b 77 69  | resume a taskwi|
000054b0  6e 64 6f 77 2e 0a 0a 64  61 74 61 6f 70 65 6e 20  |ndow...dataopen |
000054c0  3c 74 61 73 6b 6e 61 6d  65 3e 20 3c 66 69 6c 65  |<taskname> <file|
000054d0  73 70 65 63 3e 0a 20 73  65 6e 64 73 20 61 20 64  |spec>. sends a d|
000054e0  61 74 61 6f 70 65 6e 20  6d 65 73 73 61 67 65 20  |ataopen message |
000054f0  66 6f 72 20 74 68 65 20  73 70 65 63 69 66 69 65  |for the specifie|
00005500  64 20 66 69 6c 65 20 74  6f 20 74 68 65 20 73 70  |d file to the sp|
00005510  65 63 69 66 69 65 64 20  74 61 73 6b 2e 0a 0a 69  |ecified task...i|
00005520  70 67 65 74 20 5b 2f 64  65 6c 61 79 3d 3c 6e 3e  |pget [/delay=<n>|
00005530  5d 20 3c 73 74 72 69 6e  67 3e 0a 20 77 61 69 74  |] <string>. wait|
00005540  73 20 66 6f 72 20 3c 73  74 72 69 6e 67 3e 2c 20  |s for <string>, |
00005550  77 68 69 63 68 20 73 68  6f 75 6c 64 20 6d 61 72  |which should mar|
00005560  6b 20 74 68 65 20 73 74  61 72 74 20 6f 66 20 61  |k the start of a|
00005570  20 64 79 6e 61 6d 69 63  61 6c 6c 79 2d 61 73 73  | dynamically-ass|
00005580  69 67 6e 65 64 0a 20 49  50 20 6e 75 6d 62 65 72  |igned. IP number|
00005590  2e 20 54 68 65 20 72 65  73 74 20 6f 66 20 74 68  |. The rest of th|
000055a0  65 20 6e 75 6d 62 65 72  20 77 69 6c 6c 20 74 68  |e number will th|
000055b0  65 6e 20 62 65 20 63 61  70 74 75 72 65 64 2e 20  |en be captured. |
000055c0  45 78 61 6d 70 6c 65 3a  0a 20 20 20 69 70 67 65  |Example:.   ipge|
000055d0  74 20 31 33 34 2e 0a 20  54 68 65 20 73 74 72 69  |t 134.. The stri|
000055e0  6e 67 3a 0a 20 20 20 59  6f 75 72 20 49 50 20 61  |ng:.   Your IP a|
000055f0  64 64 72 65 73 73 20 69  73 20 31 33 34 2e 38 34  |ddress is 134.84|
00005600  2e 31 30 31 2e 34 32 2e  0a 20 69 73 20 72 65 63  |.101.42.. is rec|
00005610  65 69 76 65 64 2e 20 54  68 65 20 49 50 20 6e 75  |eived. The IP nu|
00005620  6d 62 65 72 20 31 33 34  2e 38 34 2e 31 30 31 2e  |mber 134.84.101.|
00005630  34 32 20 69 73 20 63 61  70 74 75 72 65 64 2c 20  |42 is captured, |
00005640  69 6e 74 6f 20 74 68 65  20 73 63 72 69 70 74 20  |into the script |
00005650  76 61 72 69 61 62 6c 65  20 20 22 69 70 61 64 64  |variable  "ipadd|
00005660  72 65 73 73 22 2c 20 66  6f 72 20 75 73 65 20 62  |ress", for use b|
00005670  79 20 74 68 65 20 22 6d  61 6b 65 22 20 6f 72 20  |y the "make" or |
00005680  6f 74 68 65 72 20 63 6f  6d 6d 61 6e 64 73 2e 20  |other commands. |
00005690  54 68 65 20 76 61 72 69  61 62 6c 65 73 20 69 70  |The variables ip|
000056a0  31 2c 20 69 70 32 2c 0a  20 69 70 33 20 61 6d 64  |1, ip2,. ip3 amd|
000056b0  20 69 70 34 20 61 72 65  20 61 6c 73 6f 20 73 65  | ip4 are also se|
000056c0  74 2c 20 74 6f 20 74 68  65 20 66 6f 75 72 20 63  |t, to the four c|
000056d0  6f 6d 70 6f 6e 65 6e 74  73 20 6f 66 20 74 68 65  |omponents of the|
000056e0  20 49 50 20 61 64 64 72  65 73 73 2e 0a 0a 20 54  | IP address... T|
000056f0  68 65 20 2f 64 65 6c 61  79 20 71 75 61 6c 69 66  |he /delay qualif|
00005700  69 65 72 20 73 65 74 73  20 74 68 65 20 63 6f 6d  |ier sets the com|
00005710  6d 61 6e 64 20 74 69 6d  65 6f 75 74 20 69 6e 20  |mand timeout in |
00005720  73 65 63 6f 6e 64 73 2e  20 49 66 20 6e 6f 74 20  |seconds. If not |
00005730  73 70 65 63 69 66 69 65  64 2c 0a 20 61 20 74 69  |specified,. a ti|
00005740  6d 65 6f 75 74 20 6f 66  20 36 30 20 73 65 63 6f  |meout of 60 seco|
00005750  6e 64 73 20 69 73 20 61  73 73 75 6d 65 64 2e 0a  |nds is assumed..|
00005760  0a 6d 61 6b 65 20 3c 73  6f 75 72 63 65 3e 20 3c  |.make <source> <|
00005770  64 65 73 74 3e 0a 20 4d  61 6b 65 73 20 6f 6e 65  |dest>. Makes one|
00005780  20 66 69 6c 65 20 66 72  6f 6d 20 61 6e 6f 74 68  | file from anoth|
00005790  65 72 2c 20 70 65 72 66  6f 72 6d 69 6e 67 20 76  |er, performing v|
000057a0  61 72 69 61 62 6c 65 20  73 75 62 73 74 69 74 75  |ariable substitu|
000057b0  74 69 6f 6e 73 2e 20 46  6f 72 20 65 78 61 6d 70  |tions. For examp|
000057c0  6c 65 2c 0a 20 74 6f 20  63 72 65 61 74 65 20 61  |le,. to create a|
000057d0  6e 20 41 75 74 6f 65 78  65 63 20 66 69 6c 65 20  |n Autoexec file |
000057e0  66 6f 72 20 21 54 43 50  49 50 2e 20 4f 63 63 75  |for !TCPIP. Occu|
000057f0  72 61 6e 63 65 73 20 6f  66 20 22 25 76 61 72 69  |rances of "%vari|
00005800  61 62 6c 65 22 20 69 6e  20 74 68 65 0a 20 73 6f  |able" in the. so|
00005810  75 72 63 65 20 66 69 6c  65 20 61 72 65 20 72 65  |urce file are re|
00005820  70 6c 61 63 65 64 20 62  79 20 74 68 65 20 76 61  |placed by the va|
00005830  72 69 61 62 6c 65 20 76  61 6c 75 65 20 69 6e 20  |riable value in |
00005840  74 68 65 20 6f 75 74 70  75 74 20 66 69 6c 65 2e  |the output file.|
00005850  20 45 67 3a 0a 20 20 20  20 69 70 20 61 64 64 72  | Eg:.    ip addr|
00005860  65 73 73 20 5b 25 69 70  61 64 64 72 65 73 73 5d  |ess [%ipaddress]|
00005870  0a 20 20 20 20 61 74 74  61 63 68 20 61 73 79 20  |.    attach asy |
00005880  25 70 6f 72 74 20 73 6c  69 70 20 61 78 30 20 34  |%port slip ax0 4|
00005890  30 39 36 20 35 37 36 20  25 73 70 65 65 64 0a 20  |096 576 %speed. |
000058a0  20 20 20 72 6f 75 74 65  20 61 64 64 20 64 65 66  |   route add def|
000058b0  61 75 6c 74 20 61 78 30  20 5b 25 69 70 31 2e 25  |ault ax0 [%ip1.%|
000058c0  69 70 32 2e 25 69 70 33  2e 32 35 34 5d 20 31 0a  |ip2.%ip3.254] 1.|
000058d0  20 62 65 63 6f 6d 65 73  3a 0a 20 20 20 20 69 70  | becomes:.    ip|
000058e0  20 61 64 64 72 65 73 73  20 5b 31 33 34 2e 38 34  | address [134.84|
000058f0  2e 31 30 31 2e 34 32 5d  0a 20 20 20 20 61 74 74  |.101.42].    att|
00005900  61 63 68 20 61 73 79 20  73 70 5f 64 75 61 6c 20  |ach asy sp_dual |
00005910  31 20 73 6c 69 70 20 61  78 30 20 34 30 39 36 20  |1 slip ax0 4096 |
00005920  35 37 36 20 35 37 36 30  30 0a 20 20 20 20 72 6f  |576 57600.    ro|
00005930  75 74 65 20 61 64 64 20  64 65 66 61 75 6c 74 20  |ute add default |
00005940  61 78 30 20 5b 31 33 34  2e 38 34 2e 31 30 31 2e  |ax0 [134.84.101.|
00005950  32 35 34 5d 20 31 0a 0a  20 53 70 65 63 69 66 79  |254] 1.. Specify|
00005960  69 6e 67 20 6f 75 74 70  75 74 20 66 69 6c 65 20  |ing output file |
00005970  63 6f 6e 74 65 6e 74 73  20 77 69 74 68 69 6e 20  |contents within |
00005980  73 63 72 69 70 74 73 3a  0a 20 59 6f 75 20 63 61  |scripts:. You ca|
00005990  6e 20 74 61 6b 65 20 6c  69 6e 65 73 20 66 72 6f  |n take lines fro|
000059a0  6d 20 74 68 65 20 73 63  72 69 70 74 20 61 73 20  |m the script as |
000059b0  77 65 6c 6c 20 61 73 20  66 72 6f 6d 20 61 6e 20  |well as from an |
000059c0  69 6e 70 75 74 20 66 69  6c 65 2e 20 53 63 72 69  |input file. Scri|
000059d0  70 74 0a 20 6c 69 6e 65  73 20 66 6f 6c 6c 6f 77  |pt. lines follow|
000059e0  69 6e 67 20 74 68 65 20  22 6d 61 6b 65 22 20 63  |ing the "make" c|
000059f0  6f 6d 6d 61 6e 64 20 77  68 69 63 68 20 68 61 76  |ommand which hav|
00005a00  65 20 61 20 22 2b 22 20  61 73 20 74 68 65 20 66  |e a "+" as the f|
00005a10  69 72 73 74 20 63 68 61  72 61 63 74 65 72 0a 20  |irst character. |
00005a20  77 69 6c 6c 20 62 65 20  75 73 65 64 20 61 73 20  |will be used as |
00005a30  73 6f 75 72 63 65 20 6c  69 6e 65 73 20 66 6f 72  |source lines for|
00005a40  20 74 68 65 20 6f 75 74  70 75 74 20 66 69 6c 65  | the output file|
00005a50  20 28 74 68 65 20 2b 20  63 68 61 72 61 63 74 65  | (the + characte|
00005a60  72 20 62 65 69 6e 67 0a  20 73 74 72 69 70 70 65  |r being. strippe|
00005a70  64 20 6f 66 66 29 2e 20  53 70 65 63 69 66 79 20  |d off). Specify |
00005a80  61 6e 20 69 6e 70 75 74  20 66 69 6c 65 20 6f 66  |an input file of|
00005a90  20 22 2d 22 20 74 6f 20  75 73 65 20 6f 6e 6c 79  | "-" to use only|
00005aa0  20 74 68 65 73 65 20 73  63 72 69 70 74 20 6c 69  | these script li|
00005ab0  6e 65 73 2e 0a 20 49 66  20 79 6f 75 20 73 70 65  |nes.. If you spe|
00005ac0  63 69 66 79 20 62 6f 74  68 20 61 20 72 65 61 6c  |cify both a real|
00005ad0  20 69 6e 70 75 74 20 66  69 6c 65 20 61 6e 64 20  | input file and |
00005ae0  2b 20 6c 69 6e 65 73 2c  20 74 68 65 20 2b 20 6c  |+ lines, the + l|
00005af0  69 6e 65 73 20 77 69 6c  6c 20 62 65 20 75 73 65  |ines will be use|
00005b00  64 0a 20 61 66 74 65 72  20 74 68 65 20 69 6e 70  |d. after the inp|
00005b10  75 74 20 66 69 6c 65 20  68 61 73 20 62 65 65 6e  |ut file has been|
00005b20  20 70 72 6f 63 65 73 73  65 64 2e 0a 0a 20 43 6f  | processed... Co|
00005b30  6d 6d 65 6e 74 20 6c 69  6e 65 73 20 28 74 68 6f  |mment lines (tho|
00005b40  73 65 20 62 65 67 69 6e  6e 69 6e 67 20 77 69 74  |se beginning wit|
00005b50  68 20 61 20 22 23 22 29  20 69 6e 20 74 68 65 20  |h a "#") in the |
00005b60  73 6f 75 72 63 65 20 66  69 6c 65 20 61 72 65 20  |source file are |
00005b70  6e 6f 74 0a 20 74 72 61  6e 73 66 65 72 72 65 64  |not. transferred|
00005b80  20 74 6f 20 74 68 65 20  6f 75 74 70 75 74 20 66  | to the output f|
00005b90  69 6c 65 2e 0a 0a 6c 69  73 74 20 2f 76 61 72 0a  |ile...list /var.|
00005ba0  6c 69 73 74 20 2f 74 61  73 6b 73 0a 6c 69 73 74  |list /tasks.list|
00005bb0  20 2f 6d 65 6e 75 73 0a  6c 69 73 74 20 2f 73 63  | /menus.list /sc|
00005bc0  72 69 70 74 20 5b 3c 66  69 72 73 74 3e 20 5b 3c  |ript [<first> [<|
00005bd0  6c 61 73 74 3e 5d 5d 0a  6c 69 73 74 20 2f 61 6c  |last>]].list /al|
00005be0  61 72 6d 73 0a 6c 69 73  74 20 2f 66 69 6c 65 73  |arms.list /files|
00005bf0  0a 20 4c 69 73 74 73 20  63 75 72 72 65 6e 74 20  |. Lists current |
00005c00  76 61 72 69 61 62 6c 65  73 2c 20 74 61 73 6b 73  |variables, tasks|
00005c10  2c 20 6d 65 6e 75 73 2c  20 73 63 72 69 70 74 2c  |, menus, script,|
00005c20  20 61 6c 61 72 6d 73 2c  20 6f 72 20 6f 70 65 6e  | alarms, or open|
00005c30  20 75 73 65 72 66 69 6c  65 73 0a 20 74 6f 20 74  | userfiles. to t|
00005c40  68 65 20 64 65 62 75 67  20 77 69 6e 64 6f 77 2e  |he debug window.|
00005c50  0a 0a 3f 66 72 65 65 20  5b 2f 6d 65 6d 5d 20 5b  |..?free [/mem] [|
00005c60  2f 6e 65 78 74 5d 20 5b  2f 66 72 65 65 5d 20 5b  |/next] [/free] [|
00005c70  2f 64 65 76 69 63 65 3d  3c 66 69 6c 65 73 70 65  |/device=<filespe|
00005c80  63 3e 5d 20 5b 2f 69 6e  74 5d 0a 20 72 65 74 75  |c>] [/int]. retu|
00005c90  72 6e 73 20 61 6d 6f 75  6e 74 20 6f 66 20 66 72  |rns amount of fr|
00005ca0  65 65 20 6d 65 6d 6f 72  79 3a 0a 20 2f 6d 65 6d  |ee memory:. /mem|
00005cb0  20 20 20 72 65 74 75 72  6e 73 20 61 6c 6c 20 66  |   returns all f|
00005cc0  72 65 65 20 6d 65 6d 6f  72 79 2c 20 69 65 20 6e  |ree memory, ie n|
00005cd0  65 78 74 2b 66 72 65 65  20 73 6c 6f 74 73 0a 20  |ext+free slots. |
00005ce0  2f 6e 65 78 74 20 20 72  65 74 75 72 6e 73 20 73  |/next  returns s|
00005cf0  69 7a 65 20 6f 66 20 27  6e 65 78 74 27 20 73 6c  |ize of 'next' sl|
00005d00  6f 74 0a 20 2f 66 72 65  65 20 20 72 65 74 75 72  |ot. /free  retur|
00005d10  6e 73 20 73 69 7a 65 20  6f 66 20 27 66 72 65 65  |ns size of 'free|
00005d20  27 20 73 6c 6f 74 0a 20  2f 64 65 76 69 63 65 20  |' slot. /device |
00005d30  20 20 20 72 65 74 75 72  6e 73 20 61 6d 6f 75 6e  |   returns amoun|
00005d40  74 20 6f 66 20 73 70 61  63 65 20 6c 65 66 74 20  |t of space left |
00005d50  6f 6e 20 74 68 65 20 64  65 76 69 63 65 20 68 6f  |on the device ho|
00005d60  6c 64 69 6e 67 20 3c 66  69 6c 65 73 70 65 63 3e  |lding <filespec>|
00005d70  0a 20 2f 69 6e 74 65 72  6e 61 6c 20 20 72 65 74  |. /internal  ret|
00005d80  75 72 6e 73 20 69 6e 74  65 72 6e 61 6c 20 66 72  |urns internal fr|
00005d90  65 65 20 73 70 61 63 65  20 77 69 74 68 69 6e 20  |ee space within |
00005da0  73 6c 69 70 64 69 61 6c  20 61 70 70 6c 69 63 61  |slipdial applica|
00005db0  74 69 6f 6e 0a 0a 69 6e  70 75 74 20 5b 2f 70 72  |tion..input [/pr|
00005dc0  6f 6d 70 74 3d 3c 70 72  6f 6d 70 74 3e 5d 20 3c  |ompt=<prompt>] <|
00005dd0  76 61 72 69 61 62 6c 65  3e 20 5b 5b 2f 70 72 6f  |variable> [[/pro|
00005de0  6d 70 74 3d 3c 70 72 6f  6d 70 74 32 3e 5d 20 3c  |mpt=<prompt2>] <|
00005df0  76 61 72 69 61 62 6c 65  32 3e 20 2e 2e 2e 20 5d  |variable2> ... ]|
00005e00  5d 0a 20 50 72 6f 6d 70  74 73 20 74 68 65 20 75  |]. Prompts the u|
00005e10  73 65 72 20 66 6f 72 20  69 6e 70 75 74 20 69 6e  |ser for input in|
00005e20  20 61 20 77 69 6e 64 6f  77 2c 20 61 6e 64 20 70  | a window, and p|
00005e30  6c 61 63 65 20 74 68 65  20 69 6e 70 75 74 20 69  |lace the input i|
00005e40  6e 20 61 20 73 63 72 69  70 74 0a 20 76 61 72 69  |n a script. vari|
00005e50  61 62 6c 65 2e 20 4d 75  6c 74 69 70 6c 65 20 70  |able. Multiple p|
00005e60  72 6f 6d 70 74 73 2f 69  6e 70 75 74 73 20 63 61  |rompts/inputs ca|
00005e70  6e 20 62 65 20 63 6f 6d  62 69 6e 65 64 20 69 6e  |n be combined in|
00005e80  20 6f 6e 65 20 63 6f 6d  6d 61 6e 64 2e 0a 20 0a  | one command.. .|
00005e90  0a 35 3a 20 46 69 6c 65  20 63 6f 6d 6d 61 6e 64  |.5: File command|
00005ea0  73 0a 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |s.--------------|
00005eb0  2d 2d 0a 0a 6d 6f 76 65  20 3c 66 69 6c 65 31 3e  |--..move <file1>|
00005ec0  20 3c 66 69 6c 65 32 3e  0a 20 6d 6f 76 65 73 20  | <file2>. moves |
00005ed0  61 20 66 69 6c 65 20 66  72 6f 6d 20 6f 6e 65 20  |a file from one |
00005ee0  6c 6f 63 61 74 69 6f 6e  20 74 6f 20 61 6e 6f 74  |location to anot|
00005ef0  68 65 72 2e 0a 20 28 61  20 72 65 6e 61 6d 65 20  |her.. (a rename |
00005f00  69 73 20 74 72 69 65 64  20 66 69 72 73 74 3b 20  |is tried first; |
00005f10  69 66 20 74 68 61 74 20  66 61 69 6c 73 2c 20 61  |if that fails, a|
00005f20  20 63 6f 70 79 20 77 69  74 68 20 73 6f 75 72 63  | copy with sourc|
00005f30  65 20 64 65 6c 65 74 65  20 69 73 20 74 72 69 65  |e delete is trie|
00005f40  64 29 2e 0a 0a 63 6f 70  79 20 5b 2f 68 65 61 64  |d)...copy [/head|
00005f50  3d 3c 6e 3e 20 2f 74 61  69 6c 3d 3c 6e 3e 5d 20  |=<n> /tail=<n>] |
00005f60  3c 66 69 6c 65 31 3e 20  3c 66 69 6c 65 32 3e 0a  |<file1> <file2>.|
00005f70  20 63 6f 70 69 65 73 20  6f 6e 65 20 66 69 6c 65  | copies one file|
00005f80  20 74 6f 20 61 6e 6f 74  68 65 72 2e 0a 20 57 69  | to another.. Wi|
00005f90  74 68 20 65 69 74 68 65  72 20 74 68 65 20 2f 68  |th either the /h|
00005fa0  65 61 64 20 6f 72 20 2f  74 61 69 6c 20 71 75 61  |ead or /tail qua|
00005fb0  6c 69 66 69 65 72 2c 20  63 6f 70 69 65 73 20 6f  |lifier, copies o|
00005fc0  6e 6c 79 20 74 68 65 20  66 69 72 73 74 20 6f 72  |nly the first or|
00005fd0  20 6c 61 73 74 20 3c 6e  3e 0a 20 20 6c 69 6e 65  | last <n>.  line|
00005fe0  73 20 6f 66 20 74 68 65  20 66 69 6c 65 2e 20 49  |s of the file. I|
00005ff0  66 20 3c 6e 3e 20 69 73  20 75 6e 73 70 65 63 69  |f <n> is unspeci|
00006000  66 69 65 64 2c 20 61 20  64 65 66 61 75 6c 74 20  |fied, a default |
00006010  6f 66 20 35 30 20 69 73  20 75 73 65 64 2e 0a 0a  |of 50 is used...|
00006020  46 6f 72 20 62 6f 74 68  20 6d 6f 76 65 20 61 6e  |For both move an|
00006030  64 20 63 6f 70 79 2c 20  61 20 27 2a 27 20 77 69  |d copy, a '*' wi|
00006040  74 68 69 6e 20 74 68 65  20 64 65 73 74 69 6e 61  |thin the destina|
00006050  74 69 6f 6e 20 66 69 6c  65 6e 61 6d 65 20 69 73  |tion filename is|
00006060  20 72 65 70 6c 61 63 65  64 0a 77 69 74 68 20 61  | replaced.with a|
00006070  20 34 2d 64 69 67 69 74  20 72 61 6e 64 6f 6d 20  | 4-digit random |
00006080  6e 75 6d 62 65 72 20 73  75 63 68 20 74 68 61 74  |number such that|
00006090  20 74 68 65 20 64 65 73  74 69 6e 61 74 69 6f 6e  | the destination|
000060a0  20 66 69 6c 65 20 69 73  20 67 75 61 72 61 6e 74  | file is guarant|
000060b0  65 65 64 0a 75 6e 69 71  75 65 2e 20 54 68 65 20  |eed.unique. The |
000060c0  63 72 65 61 74 65 64 20  64 65 73 74 69 6e 61 74  |created destinat|
000060d0  69 6f 6e 20 66 69 6c 65  6e 61 6d 65 20 69 73 20  |ion filename is |
000060e0  61 6c 73 6f 20 73 74 6f  72 65 64 20 69 6e 20 74  |also stored in t|
000060f0  68 65 20 73 63 72 69 70  74 0a 76 61 72 69 61 62  |he script.variab|
00006100  6c 65 20 27 24 64 65 73  74 27 2c 20 66 6f 72 20  |le '$dest', for |
00006110  6c 61 74 65 72 20 72 65  66 65 72 65 6e 63 65 2e  |later reference.|
00006120  0a 0a 61 70 70 65 6e 64  20 3c 66 69 6c 65 31 3e  |..append <file1>|
00006130  20 3c 66 69 6c 65 31 3e  0a 20 61 70 70 65 6e 64  | <file1>. append|
00006140  73 20 66 69 6c 65 31 20  74 6f 20 66 69 6c 65 32  |s file1 to file2|
00006150  20 28 69 66 20 66 69 6c  65 32 20 64 6f 65 73 6e  | (if file2 doesn|
00006160  27 74 20 65 78 69 73 74  2c 20 69 74 20 69 73 20  |'t exist, it is |
00006170  63 72 65 61 74 65 64 29  2e 0a 0a 64 65 6c 65 74  |created)...delet|
00006180  65 20 3c 66 69 6c 65 3e  0a 20 64 65 6c 65 74 65  |e <file>. delete|
00006190  73 20 61 20 66 69 6c 65  2e 0a 0a 3f 66 69 6c 65  |s a file...?file|
000061a0  20 3c 66 69 6c 65 6e 61  6d 65 3e 0a 20 3f 66 69  | <filename>. ?fi|
000061b0  6c 65 20 69 74 73 65 6c  66 20 72 65 74 75 72 6e  |le itself return|
000061c0  73 20 6f 62 6a 65 63 74  20 74 79 70 65 20 6f 66  |s object type of|
000061d0  20 66 69 6c 65 0a 20 20  20 30 20 64 6f 65 73 6e  | file.   0 doesn|
000061e0  27 74 20 65 78 69 73 74  0a 20 20 20 31 20 66 69  |'t exist.   1 fi|
000061f0  6c 65 0a 20 20 20 32 20  64 69 72 65 63 74 6f 72  |le.   2 director|
00006200  79 0a 20 20 20 33 20 69  6d 61 67 65 20 66 69 6c  |y.   3 image fil|
00006210  65 0a 20 4f 74 68 65 72  20 71 75 61 6c 69 66 69  |e. Other qualifi|
00006220  65 72 73 20 61 76 61 69  6c 61 62 6c 65 3a 0a 20  |ers available:. |
00006230  2f 73 69 7a 65 20 20 20  20 72 65 74 75 72 6e 73  |/size    returns|
00006240  20 74 68 65 20 73 69 7a  65 20 28 69 6e 20 62 79  | the size (in by|
00006250  74 65 73 29 20 6f 66 20  74 68 65 20 67 69 76 65  |tes) of the give|
00006260  6e 20 6f 62 6a 65 63 74  2e 0a 20 2f 74 79 70 65  |n object.. /type|
00006270  20 20 20 20 72 65 74 75  72 6e 73 20 74 68 65 20  |    returns the |
00006280  28 68 65 78 29 20 66 69  6c 65 74 79 70 65 2e 0a  |(hex) filetype..|
00006290  20 2f 61 74 74 72 69 62  20 20 72 65 74 75 72 6e  | /attrib  return|
000062a0  73 20 74 68 65 20 66 69  6c 65 20 61 74 74 72 69  |s the file attri|
000062b0  62 75 74 65 73 20 28 62  69 74 20 30 20 3d 20 72  |butes (bit 0 = r|
000062c0  65 61 64 20 61 63 63 65  73 73 2c 20 65 74 63 29  |ead access, etc)|
000062d0  2e 0a 20 2f 65 78 70 61  6e 64 20 20 72 65 74 75  |.. /expand  retu|
000062e0  72 6e 73 20 74 68 65 20  63 61 6e 6f 6e 69 63 61  |rns the canonica|
000062f0  6c 69 73 65 64 20 66 69  6c 65 6e 61 6d 65 2e 0a  |lised filename..|
00006300  20 2f 6c 65 61 66 20 20  20 20 72 65 74 75 72 6e  | /leaf    return|
00006310  73 20 74 68 65 20 6c 65  61 66 6e 61 6d 65 20 6f  |s the leafname o|
00006320  66 20 3c 66 69 6c 65 6e  61 6d 65 3e 2e 0a 20 2f  |f <filename>.. /|
00006330  70 61 74 68 20 20 20 20  72 65 74 75 72 6e 73 20  |path    returns |
00006340  74 68 65 20 70 61 74 68  20 63 6f 6d 70 6f 6e 65  |the path compone|
00006350  6e 74 20 6f 66 20 3c 66  69 6c 65 6e 61 6d 65 3e  |nt of <filename>|
00006360  2e 0a 0a 74 72 61 63 65  20 3c 66 69 6c 65 6e 61  |...trace <filena|
00006370  6d 65 3e 0a 20 6f 70 65  6e 73 20 3c 66 69 6c 65  |me>. opens <file|
00006380  6e 61 6d 65 3e 20 61 73  20 61 20 64 65 62 75 67  |name> as a debug|
00006390  67 69 6e 67 20 6c 6f 67  66 69 6c 65 2e 20 41 6c  |ging logfile. Al|
000063a0  6c 20 6f 75 74 70 75 74  20 77 68 69 63 68 20 61  |l output which a|
000063b0  70 70 65 61 72 73 20 69  6e 20 74 68 65 0a 20 64  |ppears in the. d|
000063c0  65 62 75 67 20 77 69 6e  64 6f 77 20 69 73 20 61  |ebug window is a|
000063d0  6c 73 6f 20 73 65 6e 74  20 68 65 72 65 2e 20 28  |lso sent here. (|
000063e0  63 75 72 72 65 6e 74 6c  79 20 65 78 63 65 70 74  |currently except|
000063f0  69 6e 67 20 74 61 73 6b  77 69 6e 64 6f 77 20 6f  |ing taskwindow o|
00006400  75 74 70 75 74 29 2e 0a  0a 6f 70 65 6e 20 2f 69  |utput)...open /i|
00006410  64 3d 3c 69 64 3e 20 5b  2f 65 72 72 6f 72 3d 3c  |d=<id> [/error=<|
00006420  63 6f 6d 6d 61 6e 64 3e  5d 20 5b 2f 72 65 61 64  |command>] [/read|
00006430  7c 2f 77 72 69 74 65 7c  2f 72 77 5d 20 3c 66 69  ||/write|/rw] <fi|
00006440  6c 65 6e 61 6d 65 3e 0a  20 4f 70 65 6e 73 20 74  |lename>. Opens t|
00006450  68 65 20 6e 61 6d 65 64  20 66 69 6c 65 20 66 6f  |he named file fo|
00006460  72 20 72 65 61 64 2c 20  77 72 69 74 65 20 6f 72  |r read, write or|
00006470  20 72 65 61 64 2d 77 72  69 74 65 20 61 63 63 65  | read-write acce|
00006480  73 73 2c 20 61 73 73 6f  63 69 61 74 69 6e 67 20  |ss, associating |
00006490  74 68 65 0a 20 67 69 76  65 6e 20 69 64 65 6e 74  |the. given ident|
000064a0  69 66 69 65 72 20 77 69  74 68 20 74 68 65 20 66  |ifier with the f|
000064b0  69 6c 65 2e 0a 20 54 68  65 20 2f 65 72 72 6f 72  |ile.. The /error|
000064c0  20 71 75 61 6c 69 66 69  65 72 20 64 65 66 69 6e  | qualifier defin|
000064d0  65 73 20 61 20 63 6f 6d  6d 61 6e 64 20 74 6f 20  |es a command to |
000064e0  65 78 65 63 75 74 65 20  69 66 20 74 68 65 20 66  |execute if the f|
000064f0  69 6c 65 20 6f 70 65 6e  20 66 61 69 6c 73 2e 0a  |ile open fails..|
00006500  0a 63 6c 6f 73 65 20 2f  69 64 3d 3c 69 64 3e 0a  |.close /id=<id>.|
00006510  20 43 6c 6f 73 65 73 20  74 68 65 20 66 69 6c 65  | Closes the file|
00006520  20 77 69 74 68 20 74 68  65 20 67 69 76 65 6e 20  | with the given |
00006530  69 64 65 6e 74 69 66 69  65 72 2e 0a 0a 72 65 61  |identifier...rea|
00006540  64 20 2f 69 64 3d 3c 69  64 3e 20 5b 2f 65 6f 66  |d /id=<id> [/eof|
00006550  3d 3c 63 6f 6d 6d 61 6e  64 3e 5d 20 3c 76 61 72  |=<command>] <var|
00006560  69 61 62 6c 65 3e 20 5b  3c 76 61 72 69 61 62 6c  |iable> [<variabl|
00006570  65 3e 20 2e 2e 2e 20 5d  0a 20 52 65 61 64 73 20  |e> ... ]. Reads |
00006580  6c 69 6e 65 73 20 66 72  6f 6d 20 74 68 65 20 67  |lines from the g|
00006590  69 76 65 6e 20 66 69 6c  65 20 69 6e 74 6f 20 73  |iven file into s|
000065a0  63 72 69 70 74 20 76 61  72 69 61 62 6c 65 73 2e  |cript variables.|
000065b0  0a 20 54 68 65 20 2f 65  6f 66 20 71 75 61 6c 69  |. The /eof quali|
000065c0  66 69 65 72 20 64 65 66  69 6e 65 73 20 61 20 63  |fier defines a c|
000065d0  6f 6d 6d 61 6e 64 20 74  6f 20 65 78 65 63 75 74  |ommand to execut|
000065e0  65 20 69 66 20 65 6e 64  2d 6f 66 2d 66 69 6c 65  |e if end-of-file|
000065f0  0a 20 20 69 73 20 72 65  61 63 68 65 64 20 64 75  |.  is reached du|
00006600  72 69 6e 67 20 74 68 65  20 72 65 61 64 20 6f 65  |ring the read oe|
00006610  72 61 74 69 6f 6e 2e 0a  0a 77 72 69 74 65 20 2f  |ration...write /|
00006620  69 64 3d 3c 69 64 3e 20  3c 64 61 74 61 3e 20 5b  |id=<id> <data> [|
00006630  3c 64 61 74 61 3e 20 2e  2e 2e 20 5d 0a 20 57 72  |<data> ... ]. Wr|
00006640  69 74 65 73 20 74 65 78  74 75 61 6c 20 64 61 74  |ites textual dat|
00006650  61 20 69 6e 74 6f 20 74  68 65 20 67 69 76 65 6e  |a into the given|
00006660  20 66 69 6c 65 2e 0a 0a  70 74 72 20 2f 69 64 3d  | file...ptr /id=|
00006670  3c 69 64 3e 20 5b 2f 73  65 74 3d 3c 6e 3e 5d 20  |<id> [/set=<n>] |
00006680  5b 3c 76 61 72 69 61 62  6c 65 3e 5d 0a 20 52 65  |[<variable>]. Re|
00006690  61 64 73 20 6f 72 20 73  65 74 73 20 74 68 65 20  |ads or sets the |
000066a0  70 6f 69 6e 74 65 72 20  69 6e 74 6f 20 74 68 65  |pointer into the|
000066b0  20 6e 61 6d 65 64 20 66  69 6c 65 2e 0a 20 57 69  | named file.. Wi|
000066c0  74 68 6f 75 74 20 74 68  65 20 22 2f 73 65 74 22  |thout the "/set"|
000066d0  20 71 75 61 6c 69 66 69  65 72 2c 20 72 65 74 75  | qualifier, retu|
000066e0  72 6e 73 20 74 68 65 20  66 69 6c 65 20 70 6f 69  |rns the file poi|
000066f0  6e 74 65 72 20 28 6f 70  74 69 6f 6e 61 6c 6c 79  |nter (optionally|
00006700  20 73 65 74 74 69 6e 67  0a 20 74 68 65 20 6e 61  | setting. the na|
00006710  6d 65 64 20 76 61 72 69  61 62 6c 65 29 2e 0a 20  |med variable).. |
00006720  57 69 74 68 20 74 68 65  20 2f 73 65 74 20 71 75  |With the /set qu|
00006730  61 6c 69 66 69 65 72 2c  20 73 65 74 73 20 74 68  |alifier, sets th|
00006740  65 20 66 69 6c 65 20 70  6f 69 6e 74 65 72 2e 0a  |e file pointer..|
00006750  20 22 2f 73 65 74 3d 65  6f 66 22 20 73 65 74 73  | "/set=eof" sets|
00006760  20 74 68 65 20 70 6f 69  6e 74 65 72 20 74 6f 20  | the pointer to |
00006770  65 6e 64 2d 6f 66 2d 66  69 6c 65 2e 0a 0a 0a 36  |end-of-file....6|
00006780  3a 20 53 63 72 69 70 74  20 56 61 72 69 61 62 6c  |: Script Variabl|
00006790  65 73 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |es.-------------|
000067a0  2d 2d 2d 2d 2d 2d 0a 0a  56 61 72 69 61 62 6c 65  |------..Variable|
000067b0  20 73 75 62 73 74 69 74  75 74 69 6f 6e 20 74 61  | substitution ta|
000067c0  6b 65 73 20 70 6c 61 63  65 20 6f 6e 20 65 61 63  |kes place on eac|
000067d0  68 20 6c 69 6e 65 20 69  6e 20 74 68 65 20 73 63  |h line in the sc|
000067e0  72 69 70 74 20 64 75 72  69 6e 67 0a 65 78 65 63  |ript during.exec|
000067f0  75 74 69 6f 6e 2e 20 41  20 76 61 72 69 61 62 6c  |ution. A variabl|
00006800  65 20 69 73 20 73 70 65  63 69 66 69 65 64 20 62  |e is specified b|
00006810  79 20 74 68 65 20 70 72  65 66 69 78 20 22 25 22  |y the prefix "%"|
00006820  3b 20 66 6f 72 20 65 78  61 6d 70 6c 65 3a 0a 20  |; for example:. |
00006830  73 65 74 20 6c 65 6d 6d  69 6e 67 20 67 6f 74 6f  |set lemming goto|
00006840  20 73 74 61 72 74 0a 20  25 6c 65 6d 6d 69 6e 67  | start. %lemming|
00006850  0a 77 6f 75 6c 64 20 65  78 65 63 75 74 65 20 74  |.would execute t|
00006860  68 65 20 63 6f 6d 6d 61  6e 64 20 22 67 6f 74 6f  |he command "goto|
00006870  20 73 74 61 72 74 22 2e  0a 0a 53 6f 6d 65 20 76  | start"...Some v|
00006880  61 72 69 61 62 6c 65 73  20 61 72 65 20 64 65 66  |ariables are def|
00006890  69 6e 65 64 20 61 75 74  6f 6d 61 74 69 63 61 6c  |ined automatical|
000068a0  6c 79 20 64 75 72 69 6e  67 20 73 63 72 69 70 74  |ly during script|
000068b0  20 65 78 65 63 75 74 69  6f 6e 2e 20 54 68 65 73  | execution. Thes|
000068c0  65 20 61 72 65 3a 0a 0a  24 73 74 61 74 75 73 0a  |e are:..$status.|
000068d0  20 63 6f 6e 74 61 69 6e  73 20 76 61 6c 75 65 73  | contains values|
000068e0  20 72 65 74 75 72 6e 65  64 20 66 72 6f 6d 20 73  | returned from s|
000068f0  63 72 69 70 74 20 63 6f  6d 6d 61 6e 64 73 2c 20  |cript commands, |
00006900  6f 66 74 65 6e 20 69 6e  64 69 63 61 74 69 6e 67  |often indicating|
00006910  20 73 75 63 63 65 73 73  0a 20 6f 72 20 66 61 69  | success. or fai|
00006920  6c 75 72 65 2c 20 62 75  74 20 63 61 6e 20 69 6e  |lure, but can in|
00006930  64 69 63 61 74 65 20 6d  6f 72 65 20 64 65 74 61  |dicate more deta|
00006940  69 6c 65 64 20 72 65 73  75 6c 74 73 2e 0a 0a 70  |iled results...p|
00006950  6f 72 74 0a 20 63 6f 6e  74 61 69 6e 73 20 64 72  |ort. contains dr|
00006960  69 76 65 72 20 61 6e 64  20 70 6f 72 74 20 69 6e  |iver and port in|
00006970  20 75 73 65 20 28 73 65  74 20 62 79 20 22 70 6f  | use (set by "po|
00006980  72 74 22 20 63 6f 6d 6d  61 6e 64 29 0a 0a 73 70  |rt" command)..sp|
00006990  65 65 64 0a 20 63 6f 6e  74 61 69 6e 73 20 62 61  |eed. contains ba|
000069a0  75 64 20 72 61 74 65 20  28 73 65 74 20 62 79 20  |ud rate (set by |
000069b0  22 73 70 65 65 64 22 20  63 6f 6d 6d 61 6e 64 29  |"speed" command)|
000069c0  0a 0a 69 70 61 64 64 72  65 73 73 0a 20 63 6f 6e  |..ipaddress. con|
000069d0  74 61 69 6e 73 20 49 50  20 61 64 64 72 65 73 73  |tains IP address|
000069e0  20 64 65 74 65 63 74 65  64 20 62 79 20 22 69 70  | detected by "ip|
000069f0  67 65 74 22 20 63 6f 6d  6d 61 6e 64 2e 20 53 65  |get" command. Se|
00006a00  74 74 69 6e 67 20 74 68  69 73 20 76 61 72 69 61  |tting this varia|
00006a10  62 6c 65 20 63 61 75 73  65 73 0a 20 61 75 74 6f  |ble causes. auto|
00006a20  6d 61 74 69 63 20 72 65  63 61 6c 63 75 6c 61 74  |matic recalculat|
00006a30  69 6f 6e 20 6f 66 20 74  68 65 20 76 61 72 69 61  |ion of the varia|
00006a40  62 6c 65 73 20 69 70 31  2c 69 70 32 2c 69 70 33  |bles ip1,ip2,ip3|
00006a50  2c 69 70 34 2c 20 61 6e  64 20 75 70 64 61 74 65  |,ip4, and update|
00006a60  73 20 74 68 65 0a 20 22  49 50 22 20 61 64 64 72  |s the. "IP" addr|
00006a70  65 73 73 20 66 69 65 6c  64 20 69 6e 20 74 68 65  |ess field in the|
00006a80  20 73 74 61 74 75 73 20  77 69 6e 64 6f 77 2e 0a  | status window..|
00006a90  0a 69 70 31 2c 69 70 32  2c 69 70 33 2c 69 70 34  |.ip1,ip2,ip3,ip4|
00006aa0  0a 20 63 6f 6e 74 61 69  6e 20 74 68 65 20 66 6f  |. contain the fo|
00006ab0  75 72 20 63 6f 6d 70 6f  6e 65 6e 74 73 20 6f 66  |ur components of|
00006ac0  20 61 20 64 65 74 65 63  74 65 64 20 49 50 20 61  | a detected IP a|
00006ad0  64 64 72 65 73 73 2e 0a  0a 72 6f 75 74 65 0a 20  |ddress...route. |
00006ae0  73 65 74 20 74 6f 20 25  69 70 31 2e 25 69 70 32  |set to %ip1.%ip2|
00006af0  2e 25 69 70 33 2e 32 35  34 20 62 79 20 22 69 70  |.%ip3.254 by "ip|
00006b00  67 65 74 22 2c 20 62 75  74 20 79 6f 75 20 63 61  |get", but you ca|
00006b10  6e 20 6f 66 20 63 6f 75  72 73 65 20 61 6c 74 65  |n of course alte|
00006b20  72 20 69 74 0a 20 79 6f  75 72 73 65 6c 66 2e 0a  |r it. yourself..|
00006b30  0a 70 31 20 70 32 20 70  33 20 28 65 74 63 29 0a  |.p1 p2 p3 (etc).|
00006b40  20 70 61 72 61 6d 65 74  65 72 73 20 70 61 73 73  | parameters pass|
00006b50  65 64 20 74 6f 20 61 20  73 75 62 72 6f 75 74 69  |ed to a subrouti|
00006b60  6e 65 2e 20 4e 6f 74 65  20 74 68 65 73 65 20 61  |ne. Note these a|
00006b70  72 65 20 4e 4f 54 20 70  72 65 73 65 72 76 65 64  |re NOT preserved|
00006b80  20 74 68 72 6f 75 67 68  6f 75 74 0a 20 74 68 65  | throughout. the|
00006b90  20 65 78 65 63 75 74 69  6f 6e 20 6f 66 20 74 68  | execution of th|
00006ba0  65 20 73 75 62 72 6f 75  74 69 6e 65 20 61 6e 64  |e subroutine and|
00006bb0  20 77 69 6c 6c 20 62 65  20 64 65 73 74 72 6f 79  | will be destroy|
00006bc0  65 64 20 62 79 20 66 75  72 74 68 65 72 20 63 61  |ed by further ca|
00006bd0  6c 6c 73 20 74 6f 0a 20  6f 74 68 65 72 20 72 6f  |lls to. other ro|
00006be0  75 74 69 6e 65 73 2e 20  54 72 61 6e 73 66 65 72  |utines. Transfer|
00006bf0  20 76 61 6c 75 65 73 20  74 6f 20 76 61 72 69 61  | values to varia|
00006c00  62 6c 65 73 20 6f 66 20  79 6f 75 72 20 6f 77 6e  |bles of your own|
00006c10  20 69 66 20 79 6f 75 20  77 61 6e 74 20 74 6f 0a  | if you want to.|
00006c20  20 6b 65 65 70 20 74 68  65 6d 20 66 6f 72 20 6c  | keep them for l|
00006c30  61 74 65 72 20 75 73 65  2e 0a 0a 37 3a 20 4e 6f  |ater use...7: No|
00006c40  74 65 73 0a 2d 2d 2d 2d  2d 2d 2d 2d 0a 0a 41 6c  |tes.--------..Al|
00006c50  61 72 6d 20 73 63 68 65  64 75 6c 69 6e 67 20 69  |arm scheduling i|
00006c60  73 20 64 6f 6e 65 20 75  73 69 6e 67 20 4f 53 5f  |s done using OS_|
00006c70  52 65 61 64 4d 6f 6e 6f  74 6f 6e 69 63 54 69 6d  |ReadMonotonicTim|
00006c80  65 2e 20 54 68 69 6e 67  73 20 6d 61 79 20 28 63  |e. Things may (c|
00006c90  65 72 74 61 69 6e 6c 79  0a 77 69 6c 6c 21 29 20  |ertainly.will!) |
00006ca0  62 72 65 61 6b 20 77 68  65 6e 20 74 68 65 20 74  |break when the t|
00006cb0  69 6d 65 72 20 77 72 61  70 73 20 61 72 6f 75 6e  |imer wraps aroun|
00006cc0  64 20 74 6f 20 61 20 6e  65 67 61 74 69 76 65 20  |d to a negative |
00006cd0  76 61 6c 75 65 2e 20 57  69 6c 6c 20 70 6f 73 73  |value. Will poss|
00006ce0  69 62 6c 79 0a 62 65 20  66 69 78 65 64 20 73 6f  |ibly.be fixed so|
00006cf0  6d 65 64 61 79 2c 20 62  75 74 20 6e 6f 74 20 74  |meday, but not t|
00006d00  65 72 72 69 62 6c 79 20  6c 69 6b 65 6c 79 21 0a  |erribly likely!.|
00006d10  0a 53 6f 6d 65 20 66 75  6e 63 74 69 6f 6e 73 20  |.Some functions |
00006d20  6f 70 65 72 61 74 65 20  69 6e 20 73 6c 69 67 68  |operate in sligh|
00006d30  74 6c 79 20 75 6e 65 78  70 65 63 74 65 64 20 77  |tly unexpected w|
00006d40  61 79 73 2e 20 54 68 65  20 63 6f 72 72 65 63 74  |ays. The correct|
00006d50  20 77 61 79 20 74 6f 20  75 73 65 0a 74 68 65 20  | way to use.the |
00006d60  22 6d 65 73 73 61 67 65  2f 63 61 70 74 75 72 65  |"message/capture|
00006d70  22 20 63 6f 6d 6d 61 6e  64 20 69 73 20 6e 6f 74  |" command is not|
00006d80  20 6f 62 76 69 6f 75 73  2c 20 66 6f 72 20 65 78  | obvious, for ex|
00006d90  61 6d 70 6c 65 2e 20 49  74 20 64 6f 65 73 20 6e  |ample. It does n|
00006da0  6f 74 2c 20 69 6e 0a 66  61 63 74 2c 20 65 78 61  |ot, in.fact, exa|
00006db0  6d 69 6e 65 20 74 68 65  20 73 65 72 69 61 6c 20  |mine the serial |
00006dc0  69 6e 70 75 74 20 73 74  72 65 61 6d 20 69 74 73  |input stream its|
00006dd0  65 6c 66 20 61 74 20 61  6c 6c 3b 20 62 75 74 20  |elf at all; but |
00006de0  6d 65 72 65 6c 79 20 69  6e 73 74 61 6c 6c 73 20  |merely installs |
00006df0  61 0a 22 66 69 6c 74 65  72 22 2e 20 46 6f 72 20  |a."filter". For |
00006e00  74 65 78 74 20 74 6f 20  62 65 20 63 61 70 74 75  |text to be captu|
00006e10  72 65 64 2c 20 79 6f 75  20 74 68 65 6e 20 6e 65  |red, you then ne|
00006e20  65 64 20 74 6f 20 75 73  65 20 61 20 63 6f 6d 6d  |ed to use a comm|
00006e30  61 6e 64 20 77 68 69 63  68 20 64 6f 65 73 0a 65  |and which does.e|
00006e40  78 61 6d 69 6e 65 20 74  68 65 20 69 6e 70 75 74  |xamine the input|
00006e50  20 73 74 72 65 61 6d 20  2d 20 65 78 61 6d 70 6c  | stream - exampl|
00006e60  65 73 20 62 65 69 6e 67  20 22 77 61 69 74 22 2c  |es being "wait",|
00006e70  20 22 69 70 67 65 74 22  2c 20 65 74 63 2e 0a 54  | "ipget", etc..T|
00006e80  6f 20 61 76 6f 69 64 20  66 6c 69 63 6b 65 72 2c  |o avoid flicker,|
00006e90  20 74 68 65 20 6d 65 73  73 61 67 65 20 77 69 6e  | the message win|
00006ea0  64 6f 77 20 69 73 20 6e  6f 74 20 75 70 64 61 74  |dow is not updat|
00006eb0  65 64 20 6f 6e 20 65 76  65 72 79 20 63 61 70 74  |ed on every capt|
00006ec0  75 72 65 64 20 6c 69 6e  65 2e 0a 49 6e 73 74 65  |ured line..Inste|
00006ed0  61 64 2c 20 69 74 20 67  65 74 73 20 72 65 66 72  |ad, it gets refr|
00006ee0  65 73 68 65 64 20 77 68  65 6e 65 76 65 72 20 61  |eshed whenever a|
00006ef0  20 62 6c 61 6e 6b 20 6c  69 6e 65 20 69 73 20 72  | blank line is r|
00006f00  65 63 65 69 76 65 64 2e  20 41 20 66 6f 75 72 2d  |eceived. A four-|
00006f10  73 65 63 6f 6e 64 0a 74  69 6d 65 72 20 61 6c 73  |second.timer als|
00006f20  6f 20 63 61 75 73 65 73  20 61 20 72 65 66 72 65  |o causes a refre|
00006f30  73 68 20 69 66 20 74 68  65 20 63 6f 6e 74 65 6e  |sh if the conten|
00006f40  74 73 20 63 68 61 6e 67  65 20 62 75 74 20 74 68  |ts change but th|
00006f50  65 20 77 69 6e 64 6f 77  20 69 73 20 6e 6f 74 0a  |e window is not.|
00006f60  75 70 64 61 74 65 64 20  66 6f 72 20 74 68 61 74  |updated for that|
00006f70  20 6c 6f 6e 67 2e 0a 41  6e 20 75 70 64 61 74 65  | long..An update|
00006f80  20 63 61 6e 20 62 65 20  66 6f 72 63 65 64 20 62  | can be forced b|
00006f90  79 20 61 64 64 69 6e 67  20 61 20 62 6c 61 6e 6b  |y adding a blank|
00006fa0  20 6c 69 6e 65 20 74 6f  20 74 68 65 20 77 69 6e  | line to the win|
00006fb0  64 6f 77 3a 20 22 6d 65  73 73 61 67 65 2f 61 64  |dow: "message/ad|
00006fc0  64 22 2e 0a 42 6c 61 6e  6b 20 6c 69 6e 65 73 20  |d"..Blank lines |
00006fd0  61 72 65 20 6e 6f 74 20  61 64 64 65 64 20 74 6f  |are not added to|
00006fe0  20 74 68 65 20 64 69 73  70 6c 61 79 20 6c 69 73  | the display lis|
00006ff0  74 3b 20 74 68 65 79 20  73 69 6d 70 6c 79 20 63  |t; they simply c|
00007000  61 75 73 65 20 61 20 72  65 66 72 65 73 68 2e 0a  |ause a refresh..|
00007010  0a 22 74 61 73 6b 2f 65  78 69 74 22 20 61 6e 64  |."task/exit" and|
00007020  20 22 74 61 73 6b 77 69  6e 64 6f 77 2f 65 78 69  | "taskwindow/exi|
00007030  74 22 20 61 6c 73 6f 20  6e 65 65 64 20 73 6f 6d  |t" also need som|
00007040  65 20 65 78 70 6c 61 6e  61 74 69 6f 6e 2e 20 54  |e explanation. T|
00007050  68 65 73 65 20 63 6f 6d  6d 61 6e 64 73 0a 65 6e  |hese commands.en|
00007060  61 62 6c 65 20 61 6e 6f  74 68 65 72 20 73 63 72  |able another scr|
00007070  69 70 74 20 63 6f 6d 6d  61 6e 64 20 74 6f 20 62  |ipt command to b|
00007080  65 20 65 78 65 63 75 74  65 64 20 77 68 65 6e 20  |e executed when |
00007090  74 68 65 20 73 74 61 72  74 65 64 20 74 61 73 6b  |the started task|
000070a0  20 66 69 6e 69 73 68 65  73 2e 0a 48 6f 77 20 74  | finishes..How t|
000070b0  68 69 73 20 6f 70 65 72  61 74 65 73 20 69 73 20  |his operates is |
000070c0  74 6f 20 61 64 64 20 74  68 65 20 22 65 78 69 74  |to add the "exit|
000070d0  20 63 6f 6d 6d 61 6e 64  22 20 74 6f 20 74 68 65  | command" to the|
000070e0  20 65 76 65 6e 74 20 71  75 65 75 65 20 77 68 65  | event queue whe|
000070f0  6e 20 74 61 73 6b 0a 74  65 72 6d 69 6e 61 74 69  |n task.terminati|
00007100  6f 6e 20 69 73 20 64 65  74 65 63 74 65 64 2e 20  |on is detected. |
00007110  41 66 74 65 72 20 74 68  65 20 22 74 61 73 6b 2f  |After the "task/|
00007120  65 78 69 74 22 20 63 6f  6d 6d 61 6e 64 2c 20 73  |exit" command, s|
00007130  63 72 69 70 74 20 65 78  65 63 75 74 69 6f 6e 0a  |cript execution.|
00007140  63 6f 6e 74 69 6e 75 65  73 20 69 6d 6d 65 64 69  |continues immedi|
00007150  61 74 65 6c 79 20 61 66  74 65 72 20 74 68 65 20  |ately after the |
00007160  74 61 73 6b 20 73 74 61  72 74 73 3b 20 74 68 65  |task starts; the|
00007170  20 65 78 69 74 20 63 6f  6d 6d 61 6e 64 2c 20 74  | exit command, t|
00007180  68 65 72 65 66 6f 72 65  2c 0a 63 61 6e 20 62 65  |herefore,.can be|
00007190  20 74 72 69 67 67 65 72  65 64 20 61 74 20 61 6e  | triggered at an|
000071a0  79 20 66 75 74 75 72 65  20 70 6f 69 6e 74 20 69  |y future point i|
000071b0  6e 20 74 68 65 20 73 63  72 69 70 74 2e 20 46 6f  |n the script. Fo|
000071c0  72 20 6d 6f 73 74 20 73  69 6d 70 6c 65 0a 63 6f  |r most simple.co|
000071d0  6d 6d 61 6e 64 73 2c 20  6f 72 20 65 76 65 6e 20  |mmands, or even |
000071e0  6d 6f 73 74 20 73 75 62  72 6f 75 74 69 6e 65 20  |most subroutine |
000071f0  63 61 6c 6c 73 2c 20 74  68 69 73 20 70 72 65 73  |calls, this pres|
00007200  65 6e 74 73 20 6e 6f 20  70 72 6f 62 6c 65 6d 2c  |ents no problem,|
00007210  20 62 75 74 0a 6f 62 76  69 6f 75 73 6c 79 20 22  | but.obviously "|
00007220  67 6f 74 6f 22 20 63 6f  6d 6d 61 6e 64 73 20 61  |goto" commands a|
00007230  6e 64 20 73 75 63 68 6c  69 6b 65 20 73 68 6f 75  |nd suchlike shou|
00007240  6c 64 20 70 72 6f 62 61  62 6c 79 20 62 65 20 61  |ld probably be a|
00007250  76 6f 69 64 65 64 2e 20  46 6f 72 0a 70 61 72 74  |voided. For.part|
00007260  69 63 75 6c 61 72 79 20  63 72 69 74 69 63 61 6c  |iculary critical|
00007270  20 72 6f 75 74 69 6e 65  73 2c 20 77 68 65 72 65  | routines, where|
00007280  20 74 68 65 20 65 78 65  63 75 74 69 6f 6e 20 6f  | the execution o|
00007290  66 20 61 20 6c 65 6e 67  74 68 79 0a 65 76 65 6e  |f a lengthy.even|
000072a0  74 2d 63 6f 6d 6d 61 6e  64 20 63 6f 75 6c 64 20  |t-command could |
000072b0  64 69 73 72 75 70 74 20  74 68 69 6e 67 73 20 2d  |disrupt things -|
000072c0  20 66 6f 72 20 65 78 61  6d 70 6c 65 2c 20 64 75  | for example, du|
000072d0  72 69 6e 67 20 61 20 6c  6f 67 69 6e 20 73 65 71  |ring a login seq|
000072e0  75 65 6e 63 65 20 2d 0a  65 76 65 6e 74 20 70 72  |uence -.event pr|
000072f0  6f 63 65 73 73 69 6e 67  20 63 61 6e 20 62 65 20  |ocessing can be |
00007300  64 69 73 61 62 6c 65 64  2c 20 75 73 69 6e 67 20  |disabled, using |
00007310  74 68 65 20 22 65 76 65  6e 74 2f 64 69 73 61 62  |the "event/disab|
00007320  6c 65 5b 3d 3c 74 79 70  65 3e 5d 22 0a 63 6f 6d  |le[=<type>]".com|
00007330  6d 61 6e 64 2e 0a 0a 54  68 65 20 73 63 72 69 70  |mand...The scrip|
00007340  74 20 63 61 6e 20 73 74  61 79 20 69 6e 20 74 68  |t can stay in th|
00007350  65 20 64 69 61 6c 6c 69  6e 67 20 72 6f 75 74 69  |e dialling routi|
00007360  6e 65 20 66 6f 72 20 61  20 72 65 6c 61 74 69 76  |ne for a relativ|
00007370  65 6c 79 20 6c 6f 6e 67  20 74 69 6d 65 2e 0a 44  |ely long time..D|
00007380  75 72 69 6e 67 20 74 68  69 73 20 74 69 6d 65 2c  |uring this time,|
00007390  20 65 76 65 6e 74 73 20  28 61 6c 61 72 6d 73 2c  | events (alarms,|
000073a0  20 6d 65 6e 75 73 2c 20  65 74 63 29 20 61 72 65  | menus, etc) are|
000073b0  20 6e 6f 74 20 61 63 74  65 64 20 75 70 6f 6e 2e  | not acted upon.|
000073c0  0a 0a 43 75 72 72 65 6e  74 6c 79 20 68 61 72 64  |..Currently hard|
000073d0  2d 63 6f 64 65 64 20 6c  69 6d 69 74 73 20 61 72  |-coded limits ar|
000073e0  65 3a 0a 53 63 72 69 70  74 20 6c 69 6e 65 20 6c  |e:.Script line l|
000073f0  69 6d 69 74 20 20 20 20  20 20 20 20 20 20 20 20  |imit            |
00007400  20 20 20 32 30 30 30 20  28 62 75 74 20 6d 65 6d  |   2000 (but mem|
00007410  6f 72 79 20 6d 61 6e 61  67 65 6d 65 6e 74 20 6d  |ory management m|
00007420  61 79 20 6e 6f 74 0a 20  20 20 20 20 20 20 20 20  |ay not.         |
00007430  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007440  20 20 20 20 20 20 20 63  6f 70 65 20 77 69 74 68  |       cope with|
00007450  20 61 20 73 63 72 69 70  74 20 74 68 69 73 20 73  | a script this s|
00007460  69 7a 65 2c 20 61 74 20  70 72 65 73 65 6e 74 21  |ize, at present!|
00007470  29 0a 49 74 65 6d 73 20  70 65 72 20 75 73 65 72  |).Items per user|
00007480  20 6d 65 6e 75 20 20 20  20 20 20 20 20 20 20 20  | menu           |
00007490  20 20 33 30 20 28 32 35  35 20 63 68 61 72 61 63  |  30 (255 charac|
000074a0  74 65 72 20 6c 69 6d 69  74 20 74 6f 74 61 6c 20  |ter limit total |
000074b0  66 6f 72 20 65 61 63 68  0a 20 20 20 20 20 20 20  |for each.       |
000074c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000074d0  20 20 20 20 20 20 20 20  20 20 20 20 20 6f 66 20  |             of |
000074e0  64 65 73 63 72 69 70 74  69 6f 6e 20 26 20 63 6f  |description & co|
000074f0  6d 6d 61 6e 64 20 6c 69  73 74 73 29 0a 54 69 6d  |mmand lists).Tim|
00007500  65 64 20 61 6c 61 72 6d  73 20 20 20 20 20 20 20  |ed alarms       |
00007510  20 20 20 20 20 20 20 20  20 20 20 20 20 31 30 0a  |             10.|
00007520  53 69 6d 75 6c 74 61 6e  65 6f 75 73 20 74 61 73  |Simultaneous tas|
00007530  6b 73 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |ks              |
00007540  38 20 20 20 20 20 20 20  28 27 74 61 73 6b 27 20  |8       ('task' |
00007550  63 6f 6d 6d 61 6e 64 29  0a 53 69 6d 75 6c 74 61  |command).Simulta|
00007560  6e 65 6f 75 73 20 74 61  73 6b 77 69 6e 64 6f 77  |neous taskwindow|
00007570  73 20 20 20 20 20 20 20  20 38 20 20 20 20 20 20  |s        8      |
00007580  20 28 27 74 61 73 6b 77  69 6e 64 6f 77 27 20 63  | ('taskwindow' c|
00007590  6c 69 65 6e 74 73 29 0a  56 61 72 69 61 62 6c 65  |lients).Variable|
000075a0  73 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |s               |
000075b0  20 20 20 20 20 20 20 20  31 30 30 0a 47 6f 74 6f  |        100.Goto|
000075c0  2f 63 61 6c 6c 20 64 65  73 74 69 6e 61 74 69 6f  |/call destinatio|
000075d0  6e 73 20 20 20 20 20 20  20 20 20 20 35 30 0a 53  |ns          50.S|
000075e0  75 62 72 6f 75 74 69 6e  65 20 6c 65 76 65 6c 73  |ubroutine levels|
000075f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 32  |               2|
00007600  30 0a 43 61 73 65 2e 2e  2e 77 68 65 6e 2e 2e 2e  |0.Case...when...|
00007610  65 6e 64 63 61 73 65 20  6c 65 76 65 6c 73 20 20  |endcase levels  |
00007620  20 20 31 30 0a 53 69 6d  75 6c 74 61 6e 65 6f 75  |  10.Simultaneou|
00007630  73 20 27 77 61 69 74 27  20 73 74 72 69 6e 67 73  |s 'wait' strings|
00007640  20 20 20 20 20 34 0a 50  65 6e 64 69 6e 67 20 65  |     4.Pending e|
00007650  76 65 6e 74 73 20 20 20  20 20 20 20 20 20 20 20  |vents           |
00007660  20 20 20 20 20 20 20 31  30 0a 4f 70 65 6e 20 22  |       10.Open "|
00007670  75 73 65 72 22 20 66 69  6c 65 73 20 20 20 20 20  |user" files     |
00007680  20 20 20 20 20 20 20 20  20 20 31 30 0a 55 73 65  |          10.Use|
00007690  72 20 69 63 6f 6e 73 20  20 20 20 20 20 20 20 20  |r icons         |
000076a0  20 20 20 20 20 20 20 20  20 20 20 20 20 38 0a 0a  |             8..|
000076b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000076f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 44 69 73  |------------.Dis|
00007700  63 6c 61 69 6d 65 72 21  0a 2d 2d 2d 2d 2d 2d 2d  |claimer!.-------|
00007710  2d 2d 2d 2d 0a 0a 53 4c  49 50 64 69 61 6c 20 69  |----..SLIPdial i|
00007720  73 20 70 72 6f 62 61 62  6c 79 20 73 74 69 6c 6c  |s probably still|
00007730  20 66 75 6c 6c 20 6f 66  20 62 75 67 73 2e 20 4d  | full of bugs. M|
00007740  6f 73 74 20 74 68 69 6e  67 73 20 73 65 65 6d 20  |ost things seem |
00007750  74 6f 20 77 6f 72 6b 20  6f 6b 61 79 2c 20 62 75  |to work okay, bu|
00007760  74 0a 74 68 65 20 69 6e  63 72 65 61 73 69 6e 67  |t.the increasing|
00007770  20 63 6f 6d 70 6c 65 78  69 74 79 20 6f 66 20 74  | complexity of t|
00007780  68 65 20 73 63 72 69 70  74 20 6c 61 6e 67 75 61  |he script langua|
00007790  67 65 20 6d 61 6b 65 73  20 65 78 68 61 75 73 74  |ge makes exhaust|
000077a0  69 76 65 20 63 68 65 63  6b 69 6e 67 0a 64 69 66  |ive checking.dif|
000077b0  66 69 63 75 6c 74 2e 20  48 6f 77 65 76 65 72 2c  |ficult. However,|
000077c0  20 49 20 73 68 6f 75 6c  64 20 74 68 61 6e 6b 20  | I should thank |
000077d0  73 65 76 65 72 61 6c 20  70 65 6f 70 6c 65 20 66  |several people f|
000077e0  6f 72 20 74 65 73 74 69  6e 67 20 73 6c 69 70 64  |or testing slipd|
000077f0  69 61 6c 0a 64 75 72 69  6e 67 20 74 68 65 20 72  |ial.during the r|
00007800  61 70 69 64 6c 79 2d 63  68 61 6e 67 69 6e 67 20  |apidly-changing |
00007810  76 65 72 73 69 6f 6e 73  20 62 65 74 77 65 65 6e  |versions between|
00007820  20 30 2e 32 33 20 61 6e  64 20 30 2e 33 30 3a 2d  | 0.23 and 0.30:-|
00007830  0a 52 6f 62 65 72 74 20  4f 72 77 69 6e 20 20 20  |.Robert Orwin   |
00007840  20 72 6f 62 40 77 6f 6e  67 2e 64 65 6d 6f 6e 2e  | rob@wong.demon.|
00007850  63 6f 2e 75 6b 0a 49 61  6e 20 53 74 6f 63 6b 73  |co.uk.Ian Stocks|
00007860  20 20 20 20 20 20 69 61  6e 40 66 72 6f 67 73 74  |      ian@frogst|
00007870  61 72 2e 64 65 6d 6f 6e  2e 63 6f 2e 75 6b 0a 41  |ar.demon.co.uk.A|
00007880  6e 64 72 65 77 20 42 6c  61 63 6b 20 20 20 20 61  |ndrew Black    a|
00007890  6e 64 72 65 77 40 62 61  63 68 2e 64 65 6d 6f 6e  |ndrew@bach.demon|
000078a0  2e 63 6f 2e 75 6b 0a 50  61 75 6c 20 41 6c 6c 65  |.co.uk.Paul Alle|
000078b0  6e 20 20 20 20 20 20 70  6c 61 40 73 6b 74 62 2e  |n      pla@sktb.|
000078c0  64 65 6d 6f 6e 2e 63 6f  2e 75 6b 0a 52 69 63 6b  |demon.co.uk.Rick|
000078d0  20 48 65 77 69 74 74 20  20 20 20 20 72 69 63 6b  | Hewitt     rick|
000078e0  40 63 68 6f 63 6b 79 2e  64 65 6d 6f 6e 2e 63 6f  |@chocky.demon.co|
000078f0  2e 75 6b 0a 61 6c 73 6f  20 6d 61 6e 79 20 6f 74  |.uk.also many ot|
00007900  68 65 72 73 20 77 68 6f  20 70 6f 69 6e 74 65 64  |hers who pointed|
00007910  20 6f 75 74 20 62 75 67  73 20 6f 72 20 6d 61 64  | out bugs or mad|
00007920  65 20 73 75 67 67 65 73  74 69 6f 6e 73 2e 0a 0a  |e suggestions...|
00007930  41 6e 79 20 70 72 6f 62  6c 65 6d 73 2c 20 73 75  |Any problems, su|
00007940  67 67 65 73 74 69 6f 6e  73 20 6f 72 20 71 75 65  |ggestions or que|
00007950  73 74 69 6f 6e 73 20 63  61 6e 20 62 65 20 73 65  |stions can be se|
00007960  6e 74 20 74 6f 20 6d 65  20 76 69 61 20 65 6d 61  |nt to me via ema|
00007970  69 6c 20 61 74 3a 0a 0a  61 6c 6c 61 6e 40 6d 6e  |il at:..allan@mn|
00007980  68 65 70 31 2e 68 65 70  2e 75 6d 6e 2e 65 64 75  |hep1.hep.umn.edu|
00007990  2c 20 6f 72 20 61 6c 6c  61 6e 40 6d 6e 68 65 70  |, or allan@mnhep|
000079a0  7a 2e 68 65 70 2e 75 6d  6e 2e 65 64 75 0a        |z.hep.umn.edu.|
000079ae