This is the command seyon that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
Seyon - X11 Telecommunications Package.
SYNOPSIS
seyon [-option ...] [-toolkit_option ...] [-- -emulator_option ...]
DESCRIPTION
Seyon is a complete full-featured telecommunications package for the X Window System. Some
of its features are:
* Dialing directory that supports an unlimited number of entries. The directory is
fully mouse-driven and features call progress monitoring, dial timeout, automatic
redial, multi-number dialing, and circular redial queue. Each item in the dialing
directory can be configured with its own baud rate, bit mask, and script file. The
dialing directory uses a plain-text phone book that can be edited from withen
Seyon. Seyon also supports manual dialing.
* Terminal emulation window supporting DEC VT02, Tektronix 4014, and ANSI. Seyon
delegates its terminal emulation to xterm, so all the familiar xterm functions such
as the scroll-back buffer, cut-and-paste utility, and visual bell are availabe
through Seyon's terminal emulation window. Using xterm also means that Seyon has a
more complete emulation of VT102 than other any Unix or DOS telecommunications
program. Other terminal emulation programs can also be used with Seyon to suit the
user's need; for example, color xterm can be used to provide emulation for color
ANSI (popular on many BBS systems), and xvt can be used if memory is a bit tight.
* Script language to automate tedious tasks such as logging into remote hosts.
Seyon's script interpreter uses plain-text files and has a syntax similar to that
of sh, with a few extra addtions. It supports many familiar statements such as
conditional branching by if-else and looping by goto. Scripts may be assigned to
items in the dialing directory for automatic execution after a connection is made.
* Unlimited number of slots for external file transfer protocols. Protocols are
activated from a mouse-driven transfer console that uses a plain-text file,
editable from withen Seyon, for protocol configuration. Seyon prompts the user for
filenames only if the chosen protocol requires filenames or if the transfer
operation is an upload, for which Seyon also accepts wildcards. Multiple download
directories can be specified for the different transfer slots.
* Support for Zmodem auto-download. Seyon detects incoming Zmodem signature and
automatically activates a user-specified zmodem protocol to receive incoming files.
Zmodem transfers can thus be completely automatic and require no user intervention.
* Translation modes. Seyon can perfrom useful trasnlations on the user's input.
From example, Seyon can translate backspace to delete (useful on may Unix systems),
newline to carriage return (useful on many BBS hosts), and my favorite, meta key
tranlation: to send keys pressed while the meta (ALT) key is held down as an escape
(ESC) followed by the key press. The latter mode simulates the meta key on hosts
that do not support 8-bit-clean connections and makes possible the use of the meta
key in programs like Emacs on such hosts.
* Other features: interactive setting of program parameters, on-line help, software
(XONN/XOFF) and hardware (RTS/CTS) flow control, session capture to a file, and
temporary running of a local shell in the terminal emulation window.
Seyon is intended to be both simple and extensively configurable. Almost every aspect of
Seyon can be configured via the resources to suit the user's taste.
OPTIONS
Besides the toolkit options, Seyon recognizes the following command-line switches:
-modems <device-list>
Overrides the resource modems. Refer to the description of that resource below.
Unlike the resource, however, the list here has to be quoted if it consists of more
than one entry.
-emulator <terminal-emulation-program>
Instructs Seyon to use the specified program as the terminal emulator. If Seyon
fails to execute that program, it will fall back to xterm. If this option is not
given, Seyon will try to use seyon-emu, which should be a link to your favorite
terminal emulation program. Seyon will fall back to xterm in this case as well if
it fails to execute seyon-emu.
-- This switch instructs Seyon to pass the rest of the command-line to the terminal
emulation program. All options following this switch will be passed blindly to the
emulator. This switch cannot be combined with -noemulator.
-nodefargs
Seyon usually invokes the terminal emulation program with some options to set the
application name and window and icon titles (those are -name Seyon -T "Seyon
Terminal Emulator" -n Terminal). If this switch is given, Seyon will not pass those
options to the emulator. This is to accommodate terminal emulation programs that
use a different command-line syntax than xterm -- like xvt, cmdtool, shelltool,
..etc. You can use the '--' switch to pass your own options to the emulator.
-noemulator
This option is valid only if Seyon is invoked from withen a terminal emulation
program in the foreground of an interactive shell session. If given, Seyon will
not launch a new terminal emulator, but will use the existing one instead. You
cannot use the '--' switch if this option is given.
-script <script-file>
Causes Seyon to automatically executes the specified script after the startup
script is run. The specified script file will be looked for according to the rule
mentioned under the description of the resource scriptDirectory below.
-entries <entries-list>
Overrides the resource defaultPhoneEntries. Refer to the description of that
resource below. Unlike the resource, however, the list here has to be quoted if it
consists of more than one entry.
-dial, -nodial
Overrides the resource dialAutoStart and sets it to 'on' and If both -dial and
-nodial are specified on the command-line, the override value will be set according
to the last of the two on the command-line.
RESOURCES
Besides the toolkit resources, Seyon defines the following proprietry resources:
autoZmodem (boolean)
Specifies whether Seyon is to look for Zmodem auto-download signature. If enabled,
Seyon will detect incoming Zmodem signature and execute the action given by the
resource autoZmodemAction (typically to start a local rz). Otherwise, Zmodem
signature will be ignored. Default value: on
autoZmodemAction (string)
Specifies a simple or compound action that will be executed when Zmodem auto-
download signature is detected. This action will be executed only if the resource
autoZmodem is enabled (see above). Refer to the section entitled SeQuickKeys for a
description of available actions. Default value: ShellCommand($rz);
backspaceTranslation (boolean)
Whether to translate user's backspace to delete. When the remote host is a Unix
system, it's better to set this to on, since many Unix systems are not happy with
backspace. Default value: off
captureFile (string)
The name of capture file. Seyon will write session captures to this file when
capture is enabled. This file will be placed in Seyon's default directory. The
capture file will not be overwritten by successive capture sessions. Seyon will
merely apped new capture to its end. Default value: capture
connectString (string)
The modem connect string. This the string response the modem gives when a
connection is made after dialing. Default value: CONNECT
defaultBits (int)
The default number of bits (character size). Seyon will set the number of bits to
this value on startup and will use it for items in the dialing directory for which
no such parameter is given. Valid values are 5, 6, 7, and 8. Default value: 8
defaultBPS (string)
The default baud rate. Seyon will set the baud rate to this value on startup and
will use it for items in the dialing directory for which no baud rate is given.
Default value: 9600
defaultDirectory (string)
Seyon's default directory. When looking for its files, Seyon will first try this
default directory, then the current directory. Seyon will also put the capture file
in this directory. Default value: ~/.seyon
defaultParity (int)
The default parity. Seyon will set the parity to this value on startup and will use
it for items in the dialing directory for which no such parameter is given. Valid
values are 0 (no parity), 1 (odd parity), and 2 (even parity). Default value: 0
defaultPhoneEntries (int array)
This resource specifies a list of numbers corresponding to the order the entries in
the dialing directory appear at. Seyon will highlight (select) those entries on
startup and whenever you click ``Default'' from the dialing directory. This is
useful if there is a set of entries that you most frequesntly dial that want to be
highlghted automatically instead of doing that every time by hand. You can override
this resource by the -entries command-line switch. Unlike the command-line switch,
however, the list here should not be quoted. Phonebook entries numbering starts at
one. No default value.
defaultStopBits (int)
The default number of stop bits. Seyon will set the number of stop bits to this
value on startup and will use it for items in the dialing directory for which no
such parameter is given. Valid values are 1 and 2. Default value: 1
dialAutoStart (boolean)
This resource specifies that Seyon should start dialing the entries specified by
the resource defaultPhoneEntries (or its override command-line switch) on startup.
Seyon will commence dialing those entries after executing the startup script and
any script specified at the command line. A more convenient way of automatic
dialing on startup is to use the override command-line switch -dial, which
overrides this resource and enables. If the resource is enabled, it can be disabled
at the command line by the override switch -nodial. Refer to the description of
these switches above. Default value: off
dialCancelString (string)
The string Seyon sends to the modem to cancel dialing while in progress. Default
value: ^M
dialDelay (int)
How long in seconds Seyon should wait after no connection is made withen
dialTimeOut before ciculating to the next number. Default value: 10
dialDirFormat (string)
This is a format string that specifies the layout of the dialing direcotry. The
default is '%-15s %-15s %6s %1c%1c%1c %1c%1c %s' (no quotes). Briefly: the fields
represent the host name, number, the baud rate, bits, parity, stop bits, whether
there is a custom prefix, suffix, and the script name. You can understand more what
each field refers to by comparing with dialing directory, fields that use the
current setting (via the keyword CURRENT) are designated by a question mark. Notice
that you cannot change the order the items in the dialing directory appear at, only
the format. For example, if the numbers you call are all 7-digits, your host names
are short, you never use baud rates above 9600, and you like dashes between the
baud rate, bits, parity, and stop bits fields, then you may prefer to use the
format string '%-10s %-8s %5s-%1c-%1c-%1c %1c%1c %s', which would be narrower than
the default format. Default value: %-15s %-15s %6s %1c%1c%1c %1c%1c %s
dialPrefix (string)
The string Seyon sends to the modem before the phone number. To use pulse dialing,
set this resource to .IR ATDP . Default value: ATDT
dialRepeat (int)
How many times Seyon should try dialing a number. Seyon will give up on dialing a
number if no connection is made after this many tries. Default value: 5
dialSuffix (string)
The string Seyon sends to the modem after the phone number. This string has to
contain a carraige return or the number will never get sent to the mode. Default
value: ^M
dialTimeOut (int)
How long in seconds Seyon should wait for a connection to made after dialing is
complete. Seyon will cancel the dialing if no connection is made withen this
period. Default value: 45
exitConfirm (boolean)
Whether Seyon should prompt for hanguping up before exiting. If off-line and the
resource ignoreModemDCD is set to 'off', Seyon will not prompt for hanging up upon
exiting even if this resource is set to Default value: on
funMessages (string array)
The fun messages to be displayed when Seyon has no other important information to
show. This should be a list of double-quoted [funny] sentences. Default value:
varies, version-dependent
funMessagesInterval (int)
The temporal interval in seconds between successive fun messages. Default value:
15
idleGuard (boolean)
If set to on, Seyon will send a string to the remote host whenever the terminal
session is idle (no keyboard input) for a given amount of time. The resources
idleGuardInterval and idleGuardString specify the above time interval and the
string to be sent to the remote host when idle. It is useful to enable this
features to keep the session alive when one is away from the computer for a while
(e.g. to prevent auto-logout). Default value: off
idleGuardInterval (int)
The amount of time in seconds Seyon is to consider the session idle when there is
no keyboard activity at the terminal for that long. Seyon will send a string to
the remote host every such interval as long as the session is idle. Default value:
300
idleGuardString (string)
The string to be sent to the remote host when the session is idle. This string
will be sent at a regular interval as long as the sesiion remains idle. Note that
the current translations will be used in sending this string; for example, if
backspaceTranslation is enabled, then the default string <Space><BS> will be sent
as <Space><DEL>. Default value: \s^H (space then backspace)
ignoreModemDCD (boolean)
If this resource is set to 'on', the modem DCD (Data Carrier Detect) status will be
ignored. Some of the consequences of setting this to ´on´ is that Seyon will always
prompt for hangup (if the resource exitConfirm is set to 'on') even if the modem
DCD status indicates that it is off-line, and dialing will be attempted even if the
modem DCD status indicates that it is on-line. It is highly recommended that you
keep this set to 'off' unless your modem does not honor the DCD line. Consult your
modem's manual for more details. Default value: off
hangupBeforeDial (boolean)
When set to on, Seyon will hangup the line (if connected) before dialing the phone
number. Otherwise, the number will be dialed without hanging up, and it is the
user's responsibility to ensure that the line is clear (no connection) when
dialing. Default value: on
hangupConfirm (boolean)
Whether Seyon should ask for confirmation before hanging up the phone Default
value: on
hangupViaDTR (boolean)
When enabled, Seyon will hangup up the modem by dropping DTR. This is much quicker
than hanging up by sending a Hayes-like hangup string to the modem and waiting to
allow for escape guard time. However, some modems and serial drivers choke on
dropping DTR and others just don't hangup when DTR is dropped, so in these cases it
should be disabled. If disabled, Seyon will hangup the modem by sending the string
specified by the resource modemAttentionString, followed by that specified by the
resource modemHangupString. Default value: off
metaKeyTranslation (boolean)
Whether to transmit keys pressed while the meta (ALT) key is held down as an escape
(ESC) followed by the key press. Most hosts do not support 8-bit sessions, and
hence do not recognize the meta key. Therefore, this translation mode has to be
enabled when connected to such hosts to take advantage of the meta key in programs
that make use of it like Emacs. Default value: on
modemAttentionString (string)
The string to send to the modem to get its attention (switch to command mode). This
string will be sent to the modem before the hangup string when hangupViaDTR is
disabled. Default value: +++
modemHangupString (string)
The hangup string to send to the modem when hangupViaDTR is disabled. Default
value: ATH^M
modems (string)
A list of modem devies to use. Seyon will try modems in this list one after the
other until it finds an available modem or the list is exhausted. No default
value.
modemStatusInterval (int)
This resource controls the amount of time (in seconds) between updates to the modem
status toggles (including the clock). The default is five seconds, but you can set
it to one second (or any other number) if you want the toggles to be updated more
frequently. Even if you set this to a large number, Seyon is intellegent enough to
update the toggles after each connect or hangup. Default value: 5
modemVMin (int)
This resource specifies the minimum number of characters that should be in the
buffer before the read process is satified. The read process will wait until that
number of incoming characters is in the buffer or 0.1 second has elapsed between
the receiption of two characters before displaying the data in the buffer. This
results in the data being displayed in chunks and speeds up the terminal display.
The speedup would be most noticeable on slow machnes with fast modems.
Leave this resource at its default (1) or set it at a low value (6) if you have a
slow modem (e.g. 2400bps). Otherwise you might set it to the maximum value, which
is platform-dependent but generally 255. If you set it to any number greater than
the maximum value, it will be truncated to the maximum value. Default value: 1
newlineTranslation (string)
When the Enter key is pressed, newline character (\n) is generated. This resource
determines what to translate this character to. Three modes are possible: no
translation (newline), carriage return (\r), and carriage return / line feed. Unix
systems usually expect newline or carrage return, DOS systems expect carraige
return or carriage return / line feed. The three keywords corresponding to the
above modes are nl, cr, and cr/lf. Default value: cr
noConnectStringX [X = 1-4] (string)
The response strings given by the modem when connection fails. Default values: NO
CARRIER, NO DIALTONE, BUSY, VOICE (respectively)
phonelistFile (string)
The name of the phone list (dialing directory) file. See the included example to
learn how this file should be formatted. Default value: phonelist
postConnectAction (string)
Specifies a simple or compound action that will be executed after a connection to a
remote host is made. This action will be executed before running any script
attached to that host in the dialing directory. All actions here have to be
synchronous. Refer to the section entitled SeQuickKeys below for a description of
available actions. Default value: Beep();
protocolsFile (string)
The name of the protocols file. This file tells Seyon what file transfer protocols
are available. The user will be promted with a list based on this file when file
transfer is to be initiated. Default value: protocols
quickKey?
Refer to the section entitled SeQuickKeys below.
rtsctsFlowControl (boolean)
Whether Seyon should turn on RTS/CTS hardware flow control. Make sure the modem is
set to use this as well. Default value: off
scriptDirectory (string)
Seyon's script directory. When looking for scripts, Seyon will first try this
script directory, then the current directory. Default value: defaultDirectory
showFunMessages (boolean)
Whether to display funny messages when Seyon has no other important information to
show. Seyon will display those messages at an interval specified by the
funMessagesInterval resource when there is no other important information to convey
to the user. To disable the display of fun messages, this resource has be set to
off. Default value: on
startupAction (string)
Specifies a simple or compound action that will be executed on startup. This action
is executed prior to running any script (in case the -script switch is given) or
dialing any entry of the dialing directory (in case the -dial switch is given or
the resource dialAutoStart is enabled). You can make Seyon open the dialing
directory automatically on startup by using the simple action ``OpenWidnow(Dial);''
as a constituent of this complex action stack. Note that running the startup
script is just a special case of this resource. Refer to the section entitled
SeQuickKeys for a description of available actions. Default value:
RunScript(startup);
startupFile (string)
Seyon's startup file. Seyon will execute all commands in this file upon startup.
This file can have any commands acceptable as script commands. The most useful
command to put here is the set command, to set the various communications
parameters. Default value: startup
stripHighBit (boolean)
Whether to strip the high (eights) bit from incoming characters. If set to on, the
high bit of all incoming characters will be stripped, which will make an 8-N-1
setting behave like 7-N-1, even though eight bits are used for each character.
Default value: off
xonxoffFlowControl (boolean)
Whether Seyon should turn on XON/XOFF software flow control. Default value: off
SEQUICKKEYS
Seyon allows the user to have custom buttons, called SeQuickKeys (z quickies), to which
actions can be attached. SeQuickKeys provide a convenient way via which the user can
invoke frequently-used operations by a singe mouse click. SeQuickKeys are specified
through the resources quickKeyX, where X is an integer corresponding to the order at which
that SeQuickKey is to appear on the command center. Relevant subparts of that resource
are visible, action, and label. Here is an example:
Seyon*quickKey3.visible: on
Seyon*quickKey3.action: FileTransfer(1,file); Beep();
Seyon*quickKey3.label: Upload
The first line specifies that SeQuickKey3 should be visible. The second line specifies the
action bound to the SeQuickKey (in this case, a compound action), and the third line
specifies the label for that SeQuickKey's button. Other subparts can also be specified in
a similar fashion (e.g. background, foreground, ..etc.)
Actions can be either simple or compound. A compound action consists of a stack of simple
actions and can be used as simple mini-script. Examples:
· Set(idleGuard,on); DialEntries(Default);
· Echo("Uploading files..."); Transmit(rz);
FieTransfer(1,"*.ico $HOME/acct.wks"); Echo(Done);
· OpenWindow(Dial); DialEntries("2 5 6");
· Echo("Goodbye.."); Hangup(); Quit();
· Set(baud,9600); ManualDial("555-5555");
· Echo("Will upload..."); ShellCommand("$sz *.wks");
· Set(parity,0); RunScript(login.scr); Echo(Finished);
The following is a list of actions Seyon currently supports. Asterisks designate
asynchronoous actions. Brackets designate optional arguments.
Beep ();
Rings the bell making a short beep.
CloseWindow(window [,...]);
Closes (dismisses) the given windows. Currenly the only valid argument to this
action is Dial, which corresponds to the dialing idrectory window. Example:
CloseWindow(Dial);
DialEntries(entries-list);*
Dials entries in the dialing directory corresponding by order to the given list.
Entries will be dialed as if the user had selected them on the dialing directory.
Entries will be dialed without opening the dialing directory. You can use the
action ``OpenWindow(Dial);'' and stack the two actions in a compound action if you
want the dialing directory to be opened.
The list must be quoted if it consists of more than one entry, and entries should
be separated by white space, not commas. If the list consists of just the word
``Default'', then the entries given by the resource defaultPhoneEntries will be
dialed, refer to the description of that resource for more details.
The most common use of this action is attach frequesntly-dialed hosts to
SeQuickKeys, making dialing those hosts a one-click operation. If this action is
not the last in a compound action stack, actions specified by the resource
postConnectAction may not work properly. Examples: DialEntries(2); DialEntries("2
4 5"); DialEntries(Default);
DivertFile([file]);*
Sends the given file to the remote host as a text upload. If the optional argument
``file'' is not specified, Seyon will pop up a dialog box asking for the file name.
In the latter case this action is similar to clicking Divert from the Misc window.
Examples: DivertFile("/tmp/acct.wks"); DivertFile();
Echo([string]);
Echos the given string to the terminal. Does not send it to the modem (use Transmit
for that). If the string consists of more than one word, it must be quoted. Note
that unlike the shell command of the same name, this command does not accepts the
switch -n but always appends newline to the string. If the argument is omitted, an
empty line will be echoed. Examples: Echo(Hello); Echo("Hello there"); Echo();
FileTransfer(entry, [file-list]);*
Executes the transfer protocol corresponding by order in the trasfer console
(protocols file) to ``entry''. If that protocol requires a file name and file-list
is omitted, Seyon will pop up a dialog box asking for the file. Otherwise file-list
will be passed to that protocol. The list must be quotes if it consists of more
than one word and items in it should be separated by white space. It can contain
wild cards and shell variables. Examples: FileTransfer(1);
FileTransfer(2,acct.wks); FileTransfer(2,"*.wks $HOME/acct.wks");
Hangup();
Disconnects the line. Does not pop up a confirmation box.
IconifyWindow(window [,...]);
Iconifies the given windows. Valid arguments to this action are Main, Dial, and
Term, corresponding respectively to the command center, dialing directory, and
terminal emulator windows. When the argument is Term, this action will work only if
the terminal emulator sets the envirenment variable WINDOWID, like xterm does.
Examples: IconifyWindow(Main,Dial,Term); IconifyWindow(Dial);
ManualDial([number]);*
Dials a number as if the Manual button had been clicked from the dialing directory.
If ``number'' is specified, it will be dialed directly and no dialog box will be
popped up asking for the number. Examples: ManualDial(555-5555); ManualDial();
Message([string]);
Echos the given string to the message box of Seyon's command center (main window).
If the string consists of more than one word, it must be quoted. If the argument is
omitted, an empty line will be echoed. Examples: Message(Hello); Message("Hello
there"); Message();
OpenWindow(window [,...]);
Opens each of the given windows by popping it if closed or de-iconifying it if in
an iconic state. Valid arguments to this action are Main, Dial, and Term,
corresponding respectively to the command center, dialing directory, and terminal
emulator windows. When the argument is Term, this action will work only if the
terminal emulator sets the envirenment variable WINDOWID, like xterm does.
Examples: OpenWindow(Main,Dial,Term); OpenWindow(Dial);
Quit();
Exits Seyon completely and returns to the shell. Does not pop up a confirmation
box.
RunScript([script-name]);*
Executes the script given by the file script-name. The script will be executed as
if the user had selected it via the Script button. If script-name is omitted, a
dialog box will be popped up asking for the script name. This is a very versatile
action, as many remote and local commands or series of commands can be performed by
attaching appropriate scripts to SeQuickKeys. Examples: RunScript(login.scr);
RunScript();
Set(parameter, value);
Sets the specified parameter to the given value. Can be used to set the various
communications parameters. Available parameters are listed under the script command
``set''. Examples: Set(baud,9600); Set(parity,0); Set(idleGuard,off).
ShellCommand(shell-command);*
Executes the given shell command via the user's shell pointed to by the SHELL
environment variable, or /bin/sh if that environment variable is not set. Note that
the command must be quoted if it consists of more than one word. If the first non-
space letter of the command is the character ``$'', then standard input and
standard output will be redirected to to the modem. This action can be used to
execute any external program from withen Seyon. Example: ShellCommand(ls);
ShellCommand("$cd $HOME; sz -vv *.wks");
Transmit(string);
Transmits the given string to the remote host. The string must be quoted if it
consists of more than one word. The string is transmitted as is (no case
conversions are performed). No newline character or carriage return is appended to
the string, use the prefix characters for that (e.g. ^M, ^J). See the discripttion
of the script command ``transmit'' for more details. Example: Transmit(ls^M);
Transmit("ls -CF^M");
SCRIPT LANGUAGE
Script files can automate some tedious tasks such as logging into a system. A script file
is an ascii text file and may be entered or edited using any standard text editor.
The script file is read line by line. Empty lines (consisting of white space only) are
ignored. Comments are lines whose first non-space character is a pound sign (#).
The script processor reads each script line, ignoring leading white space, into words. A
word is defined as either:
· a sequence of characters delimited by white space, or
· a sequence of characters enclosed in single or double quotes.
The first word of a script file is considered the command word. If the last character of
the command word is a colon (:), the line is considered to be a label (the object of a
goto statement). Otherwise, it is assumed to be a script command and is interpreted as
such. Command words are case insensative.
Some commands take one or more arguments. Each argument is parsed as a single word as
defined above. If blanks are required in an argument, the argument must be quoted using
single or double quotes.
Script Command List
Below is the description of all commands that may be used in the Seyon script language:
capture on|off (currently may not work)
The command capture on will enable capture. All characters received during waitfor
processing will be appended to the capture file. The command capture off will close
the capture file. This setting does not currently extend to terminal mode. This
may be offered in a later release.
debug on|off
If the argument is on, all subsequent command lines processed will be displayed on
the local screen. The exception to this is lines containing a transmit command.
These lines will just print TRANSMIT..., so that passwords, etc. can be protected.
If the argument is off, scripts will execute quietly (this is the default setting).
dial <number>
Dial the specified number. Seyon supports generic "Hayes" compatible modems for
dialing. Note that this command requires an actual phone number. The phonebook is
not used for this function.
echo <string>
Echos the given string to the terminal. Does not send it to the modem (use transmit
for that). If the string contains spaces, it must be quoted. Note that unlike the
shell command of the same name, this command does not accepts the switch -n but
always appends newline to the string.
exit Terminates the script file prior to the end of file. Returns to terminal mode.
flush Flushes the modem, i.e. discards data written to the modem but not transmitted and
data received but not read.
goto <label>
Goes to the specified label in the script file and continues execution from that
point. The label may either precede or follow the actual goto statement. A label is
any command word whose last character is a colon (:).
hanup Hangups up the line and disconnects from the remote host.
if, else, endif
Syntax:
if <condition>
<statements>
[else
<statements>]
endif
Conditionally executes statements based on specified condition. Seyon supports the
following conditions:
waitfor: true if the last waitfor command was successful.
linked: true if this script was executed from the dialing directory.
Conditions may be negated using the prefix not or the character !:
!waitfor: true If the last waitfor command timed out.
not waitfor: same as !waitfor above
The else and endif keywords must appear on their own lines. If statements may not
be nested.
pause <time>
Suspends execution of the script for the specified number of seconds. This is
usually used for timing considerations; for example, waiting a couple of seconds
after receiving the connect message and typing ^C to CompuServe.
purge Reads and discards all data coming from the modem for the duration of one second.
quit Terminates the script and exits the whole program (returns to the shell).
redial Redials the last number dialed using the dial command.
send_break
Sends a BREAK signal to te remote host.
set <parameter> <value>
Sets the specified parameter to the given value. Can be used to set the various
communications parameters for each host. The follwoing is a list of the set
keywords that Seyon recognizes. Keywords marked with an asterisk set the current
parameter only, not the default one. Refer to the corresponig resource (in
parentheses below) for details of the function of each keyword.
baud* (defaultBPS)
bits* (defaultBits)
parity* (defaultParity)
stopBits* (defaultStopBits)
stripHighBit (stripHighBit)
newlineTranslation (newlineTranslation)
del (backspaceTranslation)
meta_tr (metaKeyTranslation)
xoff (xonxoffFlowControl)
rtscts (rtsctsFlowControl)
autozm (zmodemAutoDownload)
idleGuard (idleGuard)
Boolean keywords accept on or off as their argument, other keywords accept the same
arguments as the corresponding resources.
shell <shell-command>
Executes the given shell command via the user's shell pointed to by the SHELL
environment variable, or /bin/sh if the environment variable SHELL is not set. Note
that the command must be quoted if it consists of more than one word. If the first
non-space letter of the command is the character '$', then standard input and
standard output will be redirected to to the modem. This command can be used to
execute any external program from withen Seyon. Example: shell "cd /usr/dl; rz
-vv".
transmit <text>
Transmits the specified text to the remote host. The text argument should be quoted
(using single or double quotes) if there are spaces to be transmitted. The text is
transmitted as is (no case conversions are performed).
Prefix characters:
^ is the Control character prefix: the next character is made into a control
character. For example, ^M is carriage return (0x0D) and ^J is newline (0x0A).
\ is quote prefix: the next character is transmitted verbatim. For example, \^
would transmit a literal ^.
tty on|off
This command specifies whether or not characters received from the modem will be
displayed on the local terminal. Since the only time that the script processor
looks at the receive queue is during waitfor processing, the displays may look a
bit erratic. Use the tty off command to disable local display of received
characters during script processing.
waitfor <text> [timeout]
Waits for the specified text to appear from the modem. The text argument should be
quoted (using single or double quotes) if there are spaces to be transmitted.
Special characters are interpreted the same as for transmit. If the timeout
argument is specified, Seyon will wait that number of seconds for the string to
appear. If no timeout is given, Seyon defaults to 30 seconds.
During waitfor processing, characters received (up to and including the last
character found in the text or in the timeout) can be captured to a disk file (if
capture on is specified), and/or displayed to the screen (if tty on is specified).
when [<string-to-expect> <string-to-send>]
Sends string-to-send whenever it encounters string-to-expect while waiting in a
waitfor command, whatever the number if times string-to-expect is encountered.
This is is useful if the order of prompts expected is not known before hand. For
example, some BBS systems (notably PCBoard) change the prompts depeding on the time
of call, and a complete script for such boards cannot be written using waitfor
only.
As many number of when commands as desired can be specified. A when command with no
arguments clears all outstanding when commands. waitfor commands take precedence
over when commands if they expect the same string.
A typical use of this command would be:
when "Continue?" "y^M"
when "More?" "n^M"
waitfor "BBS Command?"
when
The above script keeps sending "y^M" to every Continue?" prompt and "n^M" to every
"More?" prompt until the the string "BBS Command?" is encountered. The lasy when
clears all outstanding when commands.
Use seyon online using onworks.net services