home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-11-29 | 86.7 KB | 2,102 lines |
- ═════════════════════════════════════════════════════════════════════════════
-
- █▀▀█▀▀█ █▀▀▀▀█▄ ▀█▀▀▀█▄ ▀█▄ ▀█ ▀█▀█▄ ▀█▀▀█▄ █▀▀▀▀█▄
- █ █ █ █ █ █▀█ █ █ ▀█ █ ▀█ █ █
- █ █ █ ▄█▄▄▄█▀ █ ▀█ █ ▀█▀▀▀█ █ █ █ █
- █ █ █ █ ▀█ █ ▀█ █ █ █ █ ▄█ █ █
- ▄█▄ ▀█▄▄▄▄█ ▄█ ▄█ ▄█ ▀██ ▄█ ▄█ ▄█▄▄█▀ ▀█▄▄▄▄█
-
- ─────────────────────────────────────────────────────────────────────────────
-
- Tornado Bulletin Board System
- Copyright (c) 1995-97 Konstantin Klyagin [2:461/22] & Tornado Team.
- Translated by Vadim Vasilenko [2:461/79.44]
-
- ═════════════════════════════════════════════════════════════════════════════
-
- Table of content Feci quod potui, faciant
- ════════════════ meliora potentes.
-
- 1. Development history ......................................... XX
- 2. Program features ............................................ XX
- 3. About this document ......................................... XX
- 4. Hardware and software requirements .......................... XX
- 4.1. Hardware requirements ................................. XX
- 4.2. Software requirements ................................. XX
- 4.3. Additional hardware and software....................... XX
- 5. User interface .............................................. XX
- 5.1. Call waiting mode ..................................... XX
- 5.2. User session .......................................... XX
- 5.3. Colors customizing .................................... XX
- 6. The Tornado workcycle ....................................... XX
- 6.1. Command line parameters ............................... XX
- 6.2. Errorlevel codes ...................................... XX
- 6.3. Flagfiles ............................................. XX
- 7. Customizing ................................................. XX
- 7.1. Text color setting codes .............................. XX
- 7.2. Macros ................................................ XX
- 7.3. Setting time intervals ................................ XX
- 7.4. .A?? filenames ........................................ XX
- 7.5. Access levels and user semaphores ..................... XX
- 7.6. Messages language customizing ......................... XX
- 7.7. User menu customizing ................................. XX
- 7.8. File transfer protocols configuration ................. XX
- 7.9. Running the Tornado under mailer....................... XX
- 7.9.1. Tornado/DOS (DOS version) ......................... XX
- 7.9.2. Tornado/2 (OS/2 version) .......................... XX
- 7.9.3. Tornado/W32 (Win95/98/NT version) ................. XX
- 7.10. Some notes about multiline mode ....................... XX
- 7.11. File areas and message areas .......................... XX
- 7.12. File area and message area groups ..................... XX
- 7.13. Newsservice ........................................... XX
- 8. Built-in script language .................................... XX
- 8.1. Sections .............................................. XX
- 8.2. Variables ............................................. XX
- 8.3. Statements ............................................ XX
- 8.4. Labels ................................................ XX
- 8.5. Procedures ............................................ XX
- 8.6. Reserved names of script files ........................ XX
- 8.7. REXX support (OS/2 version only) ...................... XX
- 9. Advanced features ........................................... XX
- 9.1. Built-in DoorWay ...................................... XX
- 9.2. ManualSend (tm) ....................................... XX
- 9.3. SaveTagList (tm) ...................................... XX
- 9.4. The Tornado Upgrade Manager (tm) ...................... XX
- 9.5. Registration Resume (tm) .............................. XX
- 9.6. Private Uploads (tm) .................................. XX
- 10. Other info .................................................. XX
- 10.1. Acknowledgements ...................................... XX
- 10.2. Distribution and the author's responsibility .......... XX
- 10.3. Support ............................................... XX
- 10.4. The author............................................. XX
- 10.5. Trademarks ............................................ XX
-
-
- 1. Development history
- ══════════════════════
-
- The Tornado is a program to create and arrange BBS (Bulletin Board
- System). There is a lot of such programs, the most popular are Remote-
- Access, Maximus, PCBoard, SuperBBS, etc. But it's always interesting
- to do it by oneself. So dealing with the BBS programs setting and cus-
- tomizing on my own BBS, I noticed some inconveniences. This forced me
- to think about developing my own BBS program. This was happened on 26
- July 1995. That day I've created the TORNADO.PAS file in the Borland
- Pascal 7.0 IDE - really amazing Borland Inc. product. The Tornado is
- my try (it's up on you to judge whether is it succesful ;) to join the
- strengthes of the programs of such class, assembling them with own fe-
- atures (as well as with bugs - there are many of them, surely). I paid
- special attention to comfortable work, number of features increase,
- and thorough debugging. So if you've noticed some inconveniences or
- errors, you ought to contact me for them to be removed.
-
-
- 2. Program features
- ═══════════════════
-
- - Text configuration files;
- - Built-in ANSI, TTY and AVATAR terminals support;
- - Built-in XModem, XModemCRC, XModem1K, XModem1KG, YModem, YModemG
- and ZModem file transfer protocols;
- - Built-in script language being very useful for tuning up any BBS;
- - Customizable messages languages support;
- - Free choice of the I/O device used to interface to COM-port (UART,
- FOSSIL, DigiBoard, Int 14h);
- - Built-in DoorWay-like shell enables remote access to the host sys-
- tem without installing any additional software;
- - File- and mail areas and groups support;
- - IEMSI protocol support;
- - SaveTagList (tm). Saving a list of files tagged as being to be
- downloaded after user's hangup;
- - Registration Resume (tm). Resuming of registration procedure in
- case of carrier loss;
- - Tornado upgrade manager (tm). Automatic increasing of user's ac-
- cess level after predefined amount of calls; the Tornado may be
- told to notify the user by placing a message to a message area;
- - Working under multitasking operating systems;
- - Local work mode;
- - Local UpLoad/DownLoad;
- - Support of *.MSG, Hudson, Squish ¿ JAM messagebase formats;
- - Logging all the events to logfile;
- - Multilevel user menus;
- - Convenient SysOp turbointerface;
- - Multiline work;
- - Tornado Relay Chat: realtime conferencing under multiline working;
- - Viewing archive files by a user;
- - Support of the EXITINFO.BBS and DORINFO.DEF formats;
- - Other features making working with the Tornado pleasant for both
- the SysOp and users.
-
-
- 3. About this document
- ══════════════════════
-
- Creating this documentation, I decided not to follow usual for docu-
- mentation of such kind rules, which are based on thoroughly commented
- configuration files. This documentation covers just major guidelines
- of the Tornado using, as well as possibly unclear matters. All the va-
- riables of the main configuration file are commented so they will just
- be referred to by full variable name and section title.
-
- I strongly recommend to read FAQ which answers a lot of most common
- questions on Tornado.
-
-
- 4. Hardware and software requirements
- ═════════════════════════════════════
-
- 4.1. Hardware requirements
- ──────────────────────────
-
- For the Tornado to work, such hardware configuration is needed:
-
- - IBM PC XT/AT, PS/2 or 100%-compatible computer;
- - Monochrome or color display;
- - /if external modem is used/ Communication (COM) port;
- - Hayes-, Courier-, or Microcom-compatible internal or ext. modem.
-
- NOTE: The OS/2 Tornado version assumes the configuration is conside-
- rable to run OS/2 itself.
-
- 4.2. Software requirements
- ──────────────────────────
-
- For the Tornado to work, such hardware configuration is needed:
-
- ■ DOS version:
- - MS/PC DOS 3.30+ or DR-DOS 3.41+.
-
- ■ OS/2 version:
- - OS/2 2.1+;
- - fossil communication driver (e.g. sio).
-
- 4.3. Additional hardware and software
- ─────────────────────────────────────
-
- The hardware and software mentioned below isn't necessary for the
- Tornado to work, but they will improve work and spread possible area
- the Tornado use:
-
- - EMS/XMS memory (used for swapping program while running external
- applications and commands, as well as for loading TORNADO.OVR
- overlay file);
- - Disk caching programs;
- - Multitasking operating systems and shells (OS/2, MS Windows, Desq-
- View, TopView, VM/386, PC-MOS/386, etc.) which enable running mul-
- tiple Tornado copies to work in multiline mode.
-
- 5. User interface
- ═════════════════
-
- The Tornado has quite easy-to-use interface which has two modes:
- call waiting mode and user session mode.
-
- 5.1. Call waiting mode
- ──────────────────────
-
- Launched without -C and -B switches, the Tornado works in auto mode
- which assumes autonatic calls responding. In this mode, such informa-
- tion is displayed:
-
- - Log Echo window (events list);
-
- - Clock in the upper right corner;
- NOTE: You can disable clock (tornado.ctl->[Miscellaneous]->Clock).
-
- - A window in the lower right corner which displays information abo-
- ut the last 8 BBS users (username, session time, the session up-
- and download size);
-
- - Statistics window (the lower left corner) which displays some bo-
- ard statistics (total calls number, total registered users number,
- number of user messages, number of up- and downloaded files);
-
- - Status line with the help on hotkeys and modem "lights" (CTS -
- clear to send, DSR - data send ready, DR - data ready, RI - ring
- indicator, CD - carrier detected) - at the bottom of the screen.
-
- In this mode are used such hotkeys:
-
- ┌────────┬─────────────────────────────────────────────────────────┐
- │ Hotkey │ Action │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ Alt-A │ Forced call answer │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ Alt-L │ Entering the Tornado in the local mode (similar to the │
- │ │ -L command switch) │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ Esc │ Stopping. In case of call answerring - immediate hangup,│
- │ │ in the call waiting mode - exiting the Tornado │
- └────────┴─────────────────────────────────────────────────────────┘
-
- 5.2. User session
- ─────────────────
-
- While user session all user screen output is copied to SysOp local
- screen (but status line toggled on/off by F10 hotkey). Status line
- displays the user's name, location, access level and time remaining
- for this day, as well as modem "lights", or "Local mode" message if
- local mode is used. Standard clock is displayed in upper right corner
- of the screen. Such hotkeys are available in this mode:
-
- ┌────────┬─────────────────────────────────────────────────────────┐
- │ Hotkey │ Action │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ F1 │ Displays help on the hotkeys │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ F2 │ Current session information │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ F3/F4 │ Increase/decrease user time by 1 min. respectively │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ F10 │ Toggle status line on/off │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ Alt-C │ Chatting with user │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ Alt-E │ User data editing │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ Alt-G │ "Gluck" (makes user think that connection is bad) │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ Alt-H │ Forced session termination and hangup │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ Alt-I │ Displaying a textfile to user │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ Alt-J │ DOS shell (without session break) │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ Alt-L │ Lockout (throwing the user away) - terminating the │
- │ │ current session and making the user disable to reenter │
- │ │ the BBS until increasing his/her zero access level by │
- │ │ the SysOp (using user editor) │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ Alt-S │ Change access level │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ Alt-T │ VIewing list of files tagged by user for download │
- ├────────┼─────────────────────────────────────────────────────────┤
- │ PageUp │ ManualSend (tm) - send previously selected in the File │
- │ │ Manager files to user │
- └────────┴─────────────────────────────────────────────────────────┘
-
- 5.3. Colors customizing
- ───────────────────────
-
- Colors are customized via changing the TORNADO.CTL [Colors] section
- parameters in the apptopriate way. Each parameter sets a color for one
- or several visible screen items. "Blinking" parameter deals with blin-
- king mode. See comments to the parameters in the [Colors] section of
- the sample TORNADO.CTL configuration file for more details.
-
-
- 6. The Tornado workcycle
- ════════════════════════
-
- 6.1. Command line parameters
- ────────────────────────────
-
- -K<filename> - set configuration filename;
- -C<num> - set COM-port number to <num> while running under
- mailer;
- -B<baud> - set connection speed to <baud> while running mai-
- ler;
- -O<filename> [D]- path to and filename of the overlay (in case of
- TORNADO.EXE and TORNADO.OVR files being in dif-
- ferent directories or on different drives);
- NOTE: only valid for DOS version;
- -H<handle> [O]- handle of the communication port;
- NOTE: only valid for OS/2 version;
- -M<command> - specify command to send to port at Tornado start
- -A<command> [W]- specify program to launch before Tornado exit
- -U<user_name> - set name of user entering BBS to <user_name>;
- NOTE: instead of space (" ") must be used under-
- line symbol ("_");
- -L [O][D]- local work mode;
- -R [O][D]- do not release timeslices;
- -E<time> - time <time> until the next event;
- -N<node_number> - set number of node in case of multiline working;
-
- Notes: [D] - valid for DOS version
- [O] - valid for OS/2 version
- [W] - valid for Win95/98/NT version
-
- 6.2. Errorlevel codes
- ─────────────────────
-
- 0 : Normal termination.
- 10 : Work has been stopped at the operator request.
- 200 : Open/read error of the TORNADO.RES file.
- 201 : Open/read error of the main configuration file (TORNADO.CTL).
- 202 : None language descripting file (*.LNG) found in the Tornado
- system directory.
- 203 : Default access level (set in the tornado.ctl->[NewUsers]->Se-
- curity) not found in the LIMITS.CTL file.
- 204 : Opening error of the main menu file (tornado.ctl->[Miscella-
- neous] -> MainMenu).
- 205 : Work directory (tornado.ctl->[System]->Path) not found.
- 206 : Modem initialization error.
- 207 : Open/read error of the users base file (USERS.TOR).
- 208 : Open/read error of the logfile (TORNADO.LOG).
- 209 : Open/read error of the overlay (TORNADO.OVR).
- 210 : Open/read error of the system messages file (TORNADO.MSG).
- 211 : Runtime error. It's desired to inform the author.
- 212 : Not enough memory to run the Tornado.
-
- 6.3. Flagfiles
- ──────────────
-
- While working the Tornado creates so-called flagfiles in the direc-
- tory set in the tornado.ctl->[Files&Dirs]->FlagsDir parameter. They're
- composed from preset filename listed below, and the extension equal to
- line tumber. For example, TOR_FILE.001 flagfile means that line #1
- user has uploaded a file.
-
- Flagfiles filenames:
-
- TOR_RUN - a line with the <extension> number is running;
- TOR_MAIL - user has posted a message to a mail area;
- TOR_FILE - user has uploaded a file to a file area;
- TOR_NCHT - is the SysOp available for chat for now (present flagfile
- means chat is disabled).
-
-
- 7. Customizing
- ══════════════
-
- 7.1. Text color setting codes
- ─────────────────────────────
-
- Color of messages text can be set by using in *.LNG files such commands:
-
- \00 - black;
- \01 - blue;
- \02 - green;
- \03 - cyan;
- \04 - red;
- \05 - magenta;
- \06 - yellow;
- \07 - white;
- \08 - bright black;
- \09 - bright blue;
- \10 - bright green;
- \11 - bright blue;
- \12 - bright red;
- \13 - bright magenta;
- \14 - bright yellow;
- \15 - bright white.
-
- If to replace "\" with "%" the command will impact to the background
- color.
-
- "|" symbol means line break.
-
- The same commands can be used for color customizing for showing file
- descriptions. They should be placed into the FILES.BBS file.
-
- 7.2. Macros
- ───────────
-
- In the text and *.LNG files such macros can be used:
-
- $FILE:<filename> - show .A??-file with <filename> name;
- $EXEC:<filename> - execute the script stored in the <filename> file;
- $PROD - current version of Tornado;
- $USRS - the total amount of the BBS users;
- $NAME - user name;
- $FNAM - user first name;
- $LNAM - user last name;
- $ALAS - user alias;
- $PSWD - user password;
- $DAOB - birthday date;
- $SYSO - SysOp name;
- $BBSN - Board name;
- $NODE - number of the active BBS line;
- $LOCA - user location;
- $ORGZ - organization;
- $HPHN - home phone;
- $BPHN - work phone;
- $ADR1 - net addresses;
- $ADR2 ──┤
- $ADR3 ──┘
- $CMNT - comment;
- $DATE - current date;
- $TIME - current time;
- $SECR - access level;
- $FLGS - flags;
- $FARE - current filearea name;
- $FNUM - current filearea number;
- $FGRP - current filegroup name;
- $FGRN - current filegroup number;
- $MARE - current message area name;
- $MNUM - current message area number;
- $MGRP - current message group name;
- $MGRN - current message area number;
- $ULDS - amount of files uploaded by the user;
- $DNLS - amount of files downloaded by the user;
- $ULKB - total size of files uploaded by the user;
- $DLKB - total size of files downloaded by the user;
- $DLTK - total size of user's day download;
- $MSGP - amount of messages written by user;
- $LFKB - the download limit rest (in kilobytes)
- $TTME - time for the user per day according to his/her access level;
- $ETME - time remaining;
- $OTME - time spent while the current session;
- $CALN - number of call to the BBS;
- $FDTE - the first call date;
- $LDTE - the last call date;
- $LTME - last call time;
- $PROT - name of protocol used for transferring files;
- $LINS - number of lines on screen (taken from user settings);
- $LANG - name of current language of messages;
- $EMUL - name of emulated terminal ("ANSI", "AVATAR", or "TTY");
- $MORE - pause after each screen (yes/no);
- $HKEY - using hotkeys (yes/no);
- $SELK - size of files selected by user;
- $SELN - number of files selected by user;
- $LIMK - daily size limit on downloading files
- $ETTM - prognosed time of transferring all the files;
- $BAUD - connection speed.
-
- If to place some quantity of the "X" symbol after the macro, the macro
- value will be adjusted to the length of <"X" symbols quantity> plus 5
- symbols of the macro itself. This is useful for placing macro's value
- to frames and tables.
-
- 7.3. Setting time intervals
- ───────────────────────────
-
- Some parameters of the configuration files use time intervals. These
- intervals may contain one or more time intervals separated by comma.
- The simplest example is
-
- 23:00-05:30
-
- that means that the interval covers time from 11:00 p.m. to 5:30 a.m.
- daily. One can specify days of week for the command to be executed,
- for example:
- 1.10:00-5.16:00
-
- that means that the interval covers time from 10:00 a.m. to 4:00 p.m.
- for 5 days per week - from Monday to Friday. A number followed by a
- period, that appears before time interval, means day of week number
- (where Sunday is 0, Monday is 1, Tuesday is 2, etc.). Complex
- intervals are allowed, like one below:
-
- 1.22:00-5.06:00,6.00:00-7.24:00
-
- that means 10 p.m. to 6:00 a.m. for Monday to Friday and whole
- Satruday and Sunday; or
-
- 1.09:00-1.17:00,2.09:00-2.15:00,3.12:00-5.18:00,6.21:00-6.23:30
-
- standing for: 9:00 a.m. to 5:00 p.m. on Monday, 9:00 a.m. to 3:00 p.m.
- on Tuesday, 12:00 a.m. to 6:00 p.m. from Wednesday to Friday, 9:00
- p.m. to 11:30 p.m. on Saturday, and no intervals on Sunday.
-
- 7.4. .A?? filenames
- ───────────────────
-
- Some parameters of configuration files require file names to be shown
- as arguments. There are several ways of presenting file names:
-
- 1. Set full path to, name and extension of the file.
- 2. Omit extension. In this case Tornado will complete the name given
- with the terminal emulation protocol dependent extension (.ANS,.AVT,
- and .ASC for ANSI, Avatar and TTY terminals respectively).
- 3. Skip path. Is this case Tornado assumes that the according .LNG-file
- contains list file of name set in the [Files] -> TxtFiles parameter.
-
- A special code (ASCII #1) can be used in .A??-files. It makes Tornado
- wait for pressing Enter.
-
- There exist files with preset names and .ANS/.ASC/.AVT extensions
- (depending on whether the terminal supports the corresponding terminal
- emulation protocol) and located in the directory set in current *.LNG
- file ( [Files]->TxtFiles ) will be displayed in such a way:
-
- WELCOME - before request for scanning message areas and file areas;
- LOGOFF - at the end of user working with the BBS via selecting cor-
- responding menu item;
- LOCKOUT - at user lockout (forced by SysOp termination of user work
- with getting impossible to enter the BBS under the same na-
- me any further). If such a user tries to enter the BBS af-
- ter having been locked out, he/she will be shown this file
- once again and the system will hang off;
- NEWUSER - after positive answer to the question about beginning of
- registration of the new user;
- REGEND - just after ending of the new user registration;
- BADUSER - at entering of the user listed in the bad users list;
- GOODUSR - at entering of the user listed in the good users list;
- TOOSLOW - at entering of the user connected at the speed less than
- minimal one (set in tornado.ctl->[Modem]->Min_Speed);
- NOTAVAL - at request for SysOp in ádmissible time;
- LOGTIME - at user try to login in case the login time mismatches to
- that of user's access level (limits.ctl->[Limit]->Login_Ti-
- me);
- START - just before displaying main menu.
-
- To make several files be shown in the cases above, place into the
- directory, mentioned in <Current_Lng_File.LNG>->[Files]->TxtFiles pa-
- rameter, files with filenames like LOGOFF.ANS, LOGOFF1.ANS, ... , LOG-
- OFF9.ANS. They will be displayed in turn.
-
- 7.5. Access levels and user semaphores
- ──────────────────────────────────────
-
- To separate privileges of different users, there exist so-called ac-
- cess levels (or security levels). They define a possibility for user
- to make an action. If user's access level is less than the one needed
- for the action to be done, the user won't do this action anyway.
-
- Actions to be allowed/forbidden are described in the configuration
- file. Access levels and corresponding limits are set in the LIMITS.CTL
- configuration file. The default access level assigned to a user while
- registration is set by the tornado.ctl->[NewUsers]->Security parameter.
-
- If, suppose, it's necessary to allow/forbid some actions to the
- users of the same access level (and therefore of the same limits), and
- it's undesirable to change limits, one should use flagd which provide
- very comfortable and flexy tool of privileges customizing. Flag is an
- uppercase letter (just flag) or set of those uni-letter flags. User
- info contains specific for the user flag string. If it contains all
- the necessary flags to do an action, this action is allowed, otherwise
- it isn't.
-
- Examples:
-
- User flag string │ Needed flags │ Action status
- ─────────────────┼──────────────┼──────────────
- ABCD │ ABD │ Enabled
- ABCD │ ACF │ Disabled
- ABCDEFGHIJKLMNOP │ AJO │ Enabled
- A │ ABC │ Disabled
-
- The default registration flags are set in the TORNADO.CTL->NewUsers
- ->Security parameter. They must be separated form access level value
- by a space (" "). This is true for all the parameters dealing with ac-
- cess level (e.g., FILEAREA.CTL->List_Security; MSGAREA.CTL->Read_Secu-
- rity; etc.).
-
- 7.6. Messages language customizing
- ──────────────────────────────────
-
- All the Tornado messages to user are customizable. All the messages
- and paths to text and menu files are set using language .LNG-files lo-
- cated in the Tornado system directory. XLAT-tables to convert Tornado
- messages to the desired codepage are also stored there.
- At the very beginning of a user registration, the user is asked to
- choose a language among available to work with the BBS. This menu is
- composed of titles described in the .LNG-files. If there is just one
- .LNG-file, it's automatically assumed as default.
-
- Each .LNG-file contains 3 sections:
-
- [Main]
-
- Name
- Title of messages language;
-
- Ask_XLAT
- Whether to ask user about the desired XLAT-table;
-
- Raw_XLAT_Name
- Name of XLAT-table to disable converting (useful if some "empty" co-
- depage is needed).
-
- [Files]
-
- TxtFiles
- Path to the text files (.ASC/.ANS/.AVT) for the language.
-
- Menus
- Path to the menu files for the language.
-
- News
- Path to the news file for the language (see Chapter 7.13).
-
- [Language_Section]
-
- Section containing messages bodies; see sample .LNG-files supplied
- for more detailed info. I, however, strongly suggest to pay particu-
- lar attention to the following variables: Msg_Keys, YesNo_Keys, Yes-
- NoQuit_Keys, PostKeys, FArea_Menu, which contain the hotkeys list.
- Help info on these hotkeys is stored in MsgString, Yes_No, Post_Me-
- nu, Yes_No_Quit, FAreaLine variables respectively.
-
- [XLAT]
-
- Define XLAT-tables to convert messages to different codepages. Can
- be as many sections as needed. If [Main]->Ask_XLAT parameter is set
- to Yes, then just after a user have chosen a language, he/she will
- be shown menu to choose the desired XLAT-table. Each section con-
- tains 3 parameters:
-
- XLAT_Name
- XLAT-table name.
-
- TransTable_In
- String containing symbols to be replaced with the corresponding ones
- of the TransTable_Out parameter.
-
- TransTable_Out
- String containing symbols to replace the corresponding symbols of
- the TransTable_In parameter.
-
- Example:
-
- TransTable_In "abcd"
- TransTable_Out "efgh"
-
- All the displayed messages will have "a", "b", "c" and "d" symbols re-
- placed with "e", "f", "g" and "h" symbols respectively.
-
-
- 7.7. User menu customizing
- ──────────────────────────
-
- Menus are an important part helping a user to choose an action to do.
- Like all the other Tornado configuration files, menu files are in text
- form. They must be located in the directory specified by the [Files]->
- Menus of the appropriate language file (they have .LNG extension and
- are located in Tornado system directory). Menu files have .MNU exten-
- sion as default and contain 2 sections:
-
- [Header] - contains global settings and is composed of 3 parame-
- ters:
-
- DisplayFile - file to display (.ASC/.ANS/.AVT) depending on the cho-
- sen terminal emulation. If none is set, a list of the
- menu items will be shown.
-
- Prompt - a string to be shown while waiting for the user to
- choose; may contain macros and color sequences.
-
- WriteHotKeys - "Yes" or "No"; defines whether to show hotkeys list
- after having shown all the menu items and before disp-
- laying the string defined by the "Prompt" parameter.
-
- Arrows_Setup - Whether to use cursor keys or rather hotkeys to choose
- menu item; if the parameter is specified, cursor keys
- are assumed; syntax is as follows:
-
- Arrows_Setup Cols:Rows Y:X HighLightColor
-
- where
- Cols and Rows : Number of columns and rows (respecti-
- vely) of the menu;
- Y ¿ X : Coordinates of the menu upper left
- corner
- Color : Color of the backhround for the high-
- lighted (current) menu item; specified
- as the color name.
-
- and
-
- [Menu] - A set of strings defining each choose variant. For
- example:
-
- Gosub_Menu+ "files" ABC 0 "\14(\15F\14) \02öá⌐½δ |" F
- ^^^^^^^^^^^(1) ^^^^^(2) ^^^(3) ^(4) ^^^^^^^^^^^^^^^^^^^^^^^^^^(5) ^(6)
-
- where
- (1) The action to be done on choosing this menu item. "Gosub_Menu"
- in the example means going to another menu file;
-
- NOTE: a plus sign ending the action identifier means this action
- is the "autoexec" one (i.e. it'll be done just after disp-
- laying menu);
-
- (2) Optional data (additional info needed to implement the action;
- in the example they contain menu file name to be gone to in case
- of choosing this menu item);
-
- (3) Flags authorizing access to this menu item;
-
- (4) Minimal access level (zero in the example means this item is
- accessible foe any user of access level greater than zero);
-
- (5) Text to be displayed for this item; the example text contains
- color sequences; see Chapter 7 for more info about them;
-
- (6) Hotkey to activate item (in the example - the "F" key).
-
- Below is the actions list with brief description and optional data:
-
- ──────────────────────────────────────────────────────────────────────
- Action : Display_Text
- Effect : Just display text metioned as optional data
- Optional data : Text to be displayed
- ──────────────────────────────────────────────────────────────────────
- Action : Gosub_Menu
- Effect : Going to another menu
- Optional data : Menu file name
- ──────────────────────────────────────────────────────────────────────
- Action : DownLoad
- Effect : File(s) download. If filename is specified as optional
- data, this file will be downloaded; otherwise a user
- will be prompted to tag file in the current file area.
- Optional data : Filename to download / None
- ──────────────────────────────────────────────────────────────────────
- Action : UpLoad
- Effect : File upload to the directory specified in the optional
- data, or to the directory specified by the ULPath
- parameter of the current file area description.
- Optional data : Directory for upload / None
- ──────────────────────────────────────────────────────────────────────
- Action : UpLoad_Priv
- Effect : Special action for the Private uploads (tm) feature.
- A user is asked for user name the files will be sent
- to, then these files will be uploaded and .LST-file
- will be created. After the adressee having entered the
- BBS he/she will be proposed to download these files.
- Optional data : Receiver user name / None
- ──────────────────────────────────────────────────────────────────────
- Action : Return
- Effect : Return to the previous menu
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : LogOFF
- Effect : Session ending
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Change_FGroup
- Effect : Change file group of the number specified in the opti-
- onal data or chosen from a list if none specified;
- Optional data : File group number / None
- ──────────────────────────────────────────────────────────────────────
- Action : Change_FArea
- Effect : Change file area. If its number is specified in the
- optional data, this area becomes the current one,
- otherwise user is prompted to choose an area from the
- list.
- Optional data : File area number / None
- ──────────────────────────────────────────────────────────────────────
- Action : User_Info
- Effect : Information about user whose name is specified in the
- optional data.
- Optional data : User name
- ──────────────────────────────────────────────────────────────────────
- Action : Msg_Post
- Effect : Compose a message to the mail area with number
- specified in the optional data, or to the current one
- if none number specified.
- optional data.
- Optional data : Mail area
- ──────────────────────────────────────────────────────────────────────
- Action : FileList
- Effect : Shows filelist in the current file area or file area
- with the number specified.
- optional data.
- Optional data : File area number / None
- ──────────────────────────────────────────────────────────────────────
- Action : Show_Raw_Dir
- Effect : Lists files in file area with number mentioned in op-
- tional data (or in current file area, if no number
- specified) without using files.bbs content. Same as
- MSDOS "DIR" command.
- Optional data : File area number / None
- ──────────────────────────────────────────────────────────────────────
- Action : Display_File
- Effect : Display a file with filename specified in the optional
- data and path specified by the [Files] -> TxtFiles
- variable of the current .LNG-file.
- Optional data : Filename
- ──────────────────────────────────────────────────────────────────────
- Action : Page_SysOp
- Effect : Call sysop for chatting on topic specified it the
- optional data. User will be asked for topic if none
- specified.
- Optional data : Chat topic
- ──────────────────────────────────────────────────────────────────────
- Action : Shell
- Effect : Entering built-in DoorWay
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Change_MGroup
- Effect : Change message group to the one with number specified
- in the optional data or chosen from the list if none
- number specified.
- Optional data : Message group number/ None
- ──────────────────────────────────────────────────────────────────────
- Action : Change_Msg_Area
- Effect : Change message area to the one with number specified
- in the optional data or chosen from the list if none
- number specified.
- Optional data : Message area number.
- ──────────────────────────────────────────────────────────────────────
- Action : Msg_Read
- Effect : Reading messages in the message area with number spe-
- cified in the optional data or in the current one if
- none number specified.
- Optional data : Message area number
- ──────────────────────────────────────────────────────────────────────
- Action : Msg_List
- Effect : Listing messages in the message area with number spe-
- cified in the optional data or in the current one if
- none number specified.
- Optional data : Message area number
- ──────────────────────────────────────────────────────────────────────
- Action : System_Info
- Effect : Show system information
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Goto_Menu
- Effect : Going to menu specified in the optional data. Unlike
- GoSub_Menu, return to the previous menu is disable.
- Optional data : Menu file name.
- ──────────────────────────────────────────────────────────────────────
- Action : Exec
- Effect : Launch a program
- Optional data : Program/command name
- NOTE: Such macroses may be used:
- *P - Number of the used communication port;
- *B - Connection speed;
- *H - COM-port handle (for OS/2 version only)
- *G - Using ANSI-graphics (1 - yes, 0 - no)
- *F - The user first name;
- *L - The user last name;
- *T - Time remaining for the user;
- *N - Line number
- For example:
- door.exe /c*P /b*B
- will be expanded into
- door.exe /c1 /b2400
- if COM1 is used and connection speed is 2400 bps
- ──────────────────────────────────────────────────────────────────────
- Action : Scan_NewFiles
- Effect : Scanning all file areas for new files since the last
- user session.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Scan_PrivMail
- Effect : Scanning all the message areas for unread messages to
- the user.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Send_Msg
- Effect : Send a message to a user connected via another line
- while running in multiline mode
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Set_Msg_Off
- Effect : Disables getting messages from users on other lines
- while running in multiline mode
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Set_Msg_On
- Effect : Opposite to Set_Msg_Off
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Line_List
- Effect : List of users on others BBS lines
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Change_Param
- Effect : Changes user parameter, specified in optional data by
- one of such letters:
-
- A - location;
- B - work/education place;
- C - network addressess;
- D - password;
- E - home phone;
- F - work/modem phone;
- G - date of birth;
- H - display lines;
- I - messages language;
- J - transfer protocol;
- K - using ANSI-sequences;
- L - pause after each screen;
- M - using of hotkeys;
- N - using of "framed" input fields;
- O - alias;
- P - using fullscreen message editor.
-
- Optional data : Parameter letter.
- ──────────────────────────────────────────────────────────────────────
- Action : ArcView
- Effect : Viewing an archive file from the current file area or
- the specified archive file.
- Optional data : Path to and name of the archive file/
- ──────────────────────────────────────────────────────────────────────
- Action : Re_Login
- Effect : Re-enter the BBS using another username without dis-
- connect.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Todays_Callers
- Effect : Displays list of today callers.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : News
- Effect : Viewing news.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Conference
- Effect : Enter the Realtime Conference while running in multi-
- line mode.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Next_FileArea
- Effect : Quick going to the next file area.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Prev_FileArea
- Effect : Quick going to the previous file area.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Next_MsgArea
- Effect : Quick going to the next message area.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Prev_MsgArea
- Effect : Quick going to the previous message area.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Next_FileGroup
- Effect : Quick going to the next file group.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Prev_FileGroup
- Effect : Quick going to the previous file group.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Next_MsgGroup
- Effect : Quick going to the next message group.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Prev_MsgGroup
- Effect : Quick going to the previous message group.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : Exec_Script
- Effect : Launch script file (see Chapter 8 for detailed infor-
- mation on the Tornado built-in script language)
- Optional data : Script file name. If no path given, the file is assum-
- ed to be located in the textfiles directory specified
- in the corresponding .LNG-file. If extension is omitt-
- ed, filename is completed with the default .TRS exten-
- sion.
- ──────────────────────────────────────────────────────────────────────
- Action : Exec_Rexx
- Effect : Launch REXX script file (for OS/2 version only)
- Optional data : Script file name. If no path given, the file is assum-
- ed to be located in the textfiles directory specified
- in the corresponding .LNG-file. If extension is omitt-
- ed, filename is completed with the default .TRX exten-
- sion.
- ──────────────────────────────────────────────────────────────────────
- Action : Select_QWK
- Effect : Select active mail areas to scan and pack messages in
- QWK-format.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : DownLoad_QWK
- Effect : Searching, packing and sending QWK-packet with new
- messages to the user.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
- Action : UpLoad_QWK
- Effect : Receiving a REP-packet and unpacking it to the corres-
- ponding mail areas.
- Optional data : None
- ──────────────────────────────────────────────────────────────────────
-
- 7.8. File transfer protocols configuration
- ──────────────────────────────────────────
-
- Protocol configuration filename for both external and internal
- protocols is stored in the TORNADO.CTL's [Files&Dirs]_>Protocol_CTL
- variable. This file contains two sections:
-
- [Internal]
-
- In this section internal protocols available to BBS users are mention-
- ed. Seven preset parameters define availability of the corresponding
- protocols. They can only contain "Yes" or "No" statements, which
- enable or disable the protocol, respectively. The protocol
- configuration file can contain no more than one section named
- "[Internal]".
-
- [External]
-
- These section (may be more than one) describe external protocols. One
- can describe several protocols. For further information on the
- settings please refer to the sample protocol configuration file.
-
-
- 7.9. Running the Tornado under mailer
- ─────────────────────────────────────
-
- As you may already have seen, run without parameters the Tornado is
- switched to auto mode. But it's not comfortable if you're using mai-
- lers which are used in different networks like FIDONet. To eliminate
- this unconvenience, there exist a way to run the Tornado under the
- mailer. The explanation below assumes you're using T-Mail, but even if
- you prefer another one, all is done in the similar way. Because of
- some nuances in implementation of operating systems Tornado is design-
- ed for, the procedure may vary.
-
-
- 7.9.1. Tornado/DOS (DOS version)
- ────────────────────────────────
-
- 1. Put
- -----
- Process BBS exebbs.bat *P *B *T *H
- -----
- line into the t-mail.ctl file. This line means that at request to the
- BBS will be launched exebbs.bat file with *P (port), *B (connection
- speed), *T (line number), *H (time to the nearest event) given as pa-
- rameters.
-
- 2. The exebbs.bat must contain the following lines:
- -----
- cd <path_to_the_Tornado>
- tornado exe -c%1 -b%2 -n%3 -e%4
- -----
- Given a -B or -C parameter, the Tornado assumes itself running under
- mailer and the connect already established. (Refer to Chapter 5 for
- more info about the Tornado command-line parameters.)
-
-
- 7.9.2. Tornado/2 (OS/2 version)
- ───────────────────────────────
-
- Refer to section 7.9.1. with replacing all the .BAT batch files exten-
- sions to .CMD, as it's assumed for OS/2 batch files.
-
-
- 7.9.3. Tornado/W32 (Win95/98/NT version)
- ────────────────────────────────────────
-
- There are two ways of launching Tornado/W32 under mailer. Choose the
- one you like better.
-
- WAY 1
- ─────
-
- 1. Since Windows automatically drops DTR flag at port closing, modem
- has to be forced to keep connection anyway. In order to do this, such
- answer string should be specified:
- -----
- Modem_Answer AT&D1A|
- -----
- The &D1 command of AT-compatible modems tells device to switch to com-
- mand mode rather than break connection at DTR flag drop.
-
- 2. Use such Tornado start command string:
- -----
- Process BBS !start /w C:\TORNADO\tor32.exe -b*B -c*P -e*H -mAT&D2O
- -----
- This starts Tornado, making the mailer task wait for Tornado end with
- further activation of the mailer task and continuing normal work.
-
- WAY 2
- ─────
-
- 1. Create .BAT-file to start mailer (below is example for T-Mail.NT):
-
- === T-MAIL.BAT ===
- cd \t-mail
- t-mailnt.exe
- if errorlevel 99 goto bbs
- goto end
- :bbs
- cd \tornado
- tor32 -c2 -b14400 -aT-MAIL.BAT -mAT&D2O
- :end
- ==================
-
- 2. Tell mailer to generate errorlevel 99 and exit at BBS user logging
- in. In our case, such string must be put into the t-mail.ctl file:
- -----
- Process BBS Exit 99
- -----
-
- 3. Force modem to keep connection at DTR drop:
- -----
- Modem_Answer AT&D1A|
- -----
-
- How does it all work? Well, as user presses the Esc-Esc key combinati-
- on, the mailer exits with errorlevel 99, and the batch file starts
- Tornado/W32 thus finishing its work. Tornado, in turn, sends at start,
- a AT&D2O command into COM-port (using -M parameter) to switch modem
- back from command mode to online mode. As the Tornado exits, it re-
- starts the T-MAIL.BAT in order to re-launch the mailer.
-
-
- 7.10. Some notes about multiline mode
- ─────────────────────────────────────
-
- If You are familiar to features of multiline work of the Sf-Mail or
- T-Mail mailers, you shouldn't get confused with the Tornado multiline
- mode. The Tornado uses just one configuration file for all the lines.
- It's obvious, however, that at least communication ports specifica-
- tions must differ depending on line(s), i.e. each line must possess
- its own port. For this to be done, for ALL the *.CTL files such syntax
- is assumed:
- ----------------
- {N,N1,N2,...,Nx} Parameter Value
- ----------------
- where N,N1,N2,...,Nx - lines numbers,
- Parameter - configuration parameter set to <Value>
-
- for example
- ----------------
- [System]
- {1} BBSName "Pulse BBS line 1"
- {2} BBSName "Pulse BBS line 2"
-
- [Modem]
- {1} Port 1
- {2} Port 2
- ---------------
- Parameters without the "{N}" modifier are considered as similar for
- all the lines. So all seems to be quite simple. You are just to set
- parameters which must differ depending on line(s) and to run the Tor-
- nado in several windows (depending on amount of lines) under any mul-
- titasking environment with command line parameter -N<node_number>,
- where <node_number> is a number of the line to be used.
-
- 7.11. File areas and message areas
- ──────────────────────────────────
-
- File areas and message areas are to separate various information
- available to the BBS users. Names of configuration files of file areas
- and message areas are set in the TORNADO.CTL configuration file:
-
- [Files&Dirs] -> FileAreas_File - for file areas
- [Files&Dirs] -> MsgAreas_File - for message areas
-
- The default are FILEAREA.CTL and MSGAREA.CTL files respectively. The
- Tornado package includes sample configuration files with the default
- filenames. Refer to them for more detailed information on parameters.
-
- 7.12. File area and message area groups
- ───────────────────────────────────────
-
- These are, in opposite to paragraph 7.11., to joining file areas or
- message areas using some attributes. Names of configuration files are
- set in the TORNADO.CTL configuration file:
-
- [Files&Dirs] -> FileGroups_File - for file areas
- [Files&Dirs] -> MsgGroups_File - for message areas
-
- Refer to the sample files for more detailed information on parameters.
-
- 7.13. Newsservice
- ─────────────────
-
- User is shown news each time he/she enters BBS, after him/her having
- been asked about searching for new files and personal mail. Depending
- on the tornado.ctl->[Miscellaneous]->ShowNews variable value, the user
- will be shown all (the variable set to Yes), those added after the
- user's last call (Last), or none (No). Each language can be provided
- with their own newsfile specified by the *.LNG->[Files]->News variab-
- le. The sample newsfile is shown and commented below:
-
- = NEWS.TXT ===============
- 13-10-97 10:25 <────────────────┐
- │
- The news <────────────────────┐ │
- body ... │ │
- │ │
- /***/ <──────────────────┐ │ │
- 14-10-97 │ │ │
- │ │ │
- The │ │ │
- other │ │ │
- news │ │ │
- body ... │ │ │
- │ │ │
- ... etc. │ │ │
- ========================== 3 2 1
-
- where
-
- 1 - The bulletin creation date in format defined in the tornado.ctl->
- [System]->DateMask. Time of the bulletin creating can be optional-
- ly specified to enable.
- 2 - The body of the bulletin.
- 3 - The bulletins separator.
-
- 8. Built-in script language
- ═══════════════════════════
-
- Tornado now contains built-in script language to implement some ad-
- ditional features. The language is lexically based on sections, va-
- riables, statements and labels. Comments are also available and must
- be begun with double slash ("//").
-
- Scripts supply parameters, which can be specified in such way:
- D:\PATH\script.trs param1 param2 param3
- The parameters are accessed to using GetArg statement
-
- 8.1. Sections
- ─────────────
-
- Each script must be a set of sections. There are two section types:
- variables section to declare variables used in the script, and state-
- ments section containing just the statement part of the script. The
- variables section is optional (is only needed if one uses variables in
- the script), while the statements section is obligatory for the script
- to run.
-
- The sections begin with the preset keyword (see below) and end with
- End keyword. Preset keyword to begin a section must be one of the fol-
- lowing:
-
- Variables - variables declaring section
- Program - script statements
- Procedure - procedure description section (see below)
-
- 8.2. Variables
- ──────────────
-
- Rational and meaningful use of variables dramatically increases
- programming efficiency. To introduce variables into the script, they
- must be described in the variables section in such a way:
-
- ---------------------------------------
- Variables
- <variable_name> : <type>
- <variable1>, <variable2> : <type>
- ...
- End
- ---------------------------------------
-
- The <type> may be one of the following:
-
- String - A string of up to 80 symbols. Any ASCII-coded symbols can
- also be used via #<code_number> format. Plain text and ASCII
- codes can be mixed, as in the example below:
- S = #13"String"#10
-
- Logical - Either true or false ("True" or "False" keywords respective-
- ly);
-
- Number - Any integer number between -2147483648 and 2147483647.
-
- The variables are assigned a value using "=" operator. "A=10" string
- means that to variable named "A" is assigned value of 10. Expressions
- may be assigned to variables as well. Expression assigned to the va-
- riables of String type can be symbolic strings put into quotation
- marks, e.g. "A simple symbolic string" as well as "+" operator which
- concatenates strings and string variables. For example: "User
- name: " + $NAME, where $NAME is a reserved variable in which username
- is stored, will be transformed into: "User name: Konstantin Klyagin"
- string, if the $NAME variable contains "Konstantin Klyagin" string.
- Variables of Number type can accept expressions containing simple ari-
- thmetic operations: addition ("+" operator), substraction ("-" opera-
- tor), multiplication ("*" operator), division ("/" or ":" operators),
- power ("^" operator). Variables of Logical type can only be assigned
- values of the preset "True" and "False" range.
-
- Arrays of variables are also supported. Below is the syntax to dec-
- lare an array:
-
- <variable> [, <variable> ...] : <type> Array [<amount_of_elements>]
-
- where <type> is one of the standard language types.
- Array elements are referred to by their numbers that can be specified
- both evidently and as result of the mathematical expression to be cal-
- culated (see examples below).
-
- The full syntax is ArrayName#<number_or_expression>
- for example: Arr#1 or Arr#i*j-5
-
- Variables are divided into internal and user-defined. The first are
- provided by the Tornado script language interpreter and thus are
- available in any script without declating in the variables section.
- The internal variables names are just the same as these of macros (see
- paragraph 7.2. for the list). All names can be used in assigning
- statements without limitations, but those listed below:
-
- $NAME $PROD $SYSO $BBSN $BAUD $FARE
- $FGRP $MARE $MGRP $TTME $FNAM $LNAM
- $LFKB $OTME $DLTK $MSGP $SELK $SELN
-
- These variables are prohibited to be changed from within scripts.
-
- Besides macros-similar, there exist some other groups of internal
- variables. Here they go:
-
- System
- ──────
-
- ArgCount = returns number of parameters of the script
-
- Configuration (store some configuration parameters, indeed)
- ───────────────────────────────────────────────────────────
-
- cfgPath = tornado.ctl->[System]->Path
- cfgPort = tornado.ctl->[Modem]->Port
- cfgLog = tornado.ctl->[Files&Dirs]->LogFile
- cfgChatLog = tornado.ctl->[Files&Dirs]->Chat_Log
- cfgTRCLog = tornado.ctl->[Files&Dirs]->TRC_Log
- cfgTempDir = tornado.ctl->[Files&Dirs]->TempDir
- cfgFlagsDir = tornado.ctl->[Files&Dirs]->FlagsDir
- cfgDoorDir = tornado.ctl->[Files&Dirs]->DoorInfoDir
- cfgLogo = tornado.ctl->[Files&Dirs]->Logo
- cfgSaveTag = tornado.ctl->[Files&Dirs]->Save_Tag_Path
- cfgPrivUL = tornado.ctl->[Files&Dirs]->Priv_Uploads_Dir
- cfgLangDir = tornado.ctl->[Files&Dirs]->LNG_Path
- cfgLangTxtPath = ÆÑ¬πΘ¿⌐ Σá⌐½ .lng->[Files]->TxtFiles
- cfgLangMnuPath = ÆÑ¬πΘ¿⌐ Σá⌐½ .lng->[Files]->Menus
- cfgLangNews = ÆÑ¬πΘ¿⌐ Σá⌐½ .lng->[Files]->News
-
- [ The below variables store the parameters values ]
- [ for the CURRENT file area or message area ]
-
- faDLPath = filearea.ctl->[FileArea]->DLPath
- faULPath = filearea.ctl->[FileArea]->ULPath
- faFileList = filearea.ctl->[FileArea]->FileList
-
- maAddress = msgarea.ctl->[MsgArea]->UseAddress
- maOrigin = msgarea.ctl->[MsgArea]->Origin
- maBase = msgarea.ctl->[MsgArea]->BaseType
- maPath = msgarea.ctl->[MsgArea]->BasePath
- maBoard = msgarea.ctl->[MsgArea]->BoardNum
-
- 8.3. Statements
- ───────────────
-
- All the statements can be divided in three groups:
-
- - conditional;
- - command aliasing;
- - screen input/output;
- - textfiles parsing;
- - fileareas commands;
- - message areas commands;
- - miscellaneous.
-
- All the statements of the script must be placed into the statements
- sections. Each line of the script usually contains one statement. To
- put more than one statement in the line, the ";" separator must be
- used, for example:
-
- ---------------------------------------
- Program
- S = "test" ; WriteLn (S) ; Exit
- End
- ---------------------------------------
-
- Below is statements list grouped into three blocks mentioned above.
-
- CONDITIONALS
- ────────────
-
- IF
-
- Syntax:
- IF <expression> IF <expression>
- <statement1> <statement1>
- ... ...
- <statementN> <statementN>
- ELSE END
- <Estatement1>
- ...
- <EstatementN>
- END
-
- If the <expression> is true, then the <statement1> ... <statementN>
- block will be processed, otherwise the <Estatement1> ... <Estatement2>
- block will be activated. The ELSE block can be omitted (see second va-
- riant of syntax). In both cases the construction must be finished with
- 'End' keyword. <expression> can be logical variable (also inverted):
- 'If B' Or 'If Not B' or a result of the comparison operations. Variab-
- les of String type can be compared using "=" ("equal to") or "<>"
- ("not equal to") operators: 'S = "a"' or 'S <> "a"'. Variables of Num-
- ber type can also be compared using these operators, and some other
- operators are applicable, such as ">" ("greater than"), "<" ("less
- than") and combined ">=" ("greater than or equal to") and "<=" ("less
- than or equal to") operators. All these operators may be used to con-
- struct rather complicated expressions using brackets and logical AND
- and OR operators. Below are some examples of how does the IF statement
- works.
-
- ──────────────────────┬───────────────────────────┬─────────────────────
- IF B Or (S = "aaa") │ IF Not B │ IF N >= 10
- WriteLn ("true") │ WriteLn ("B is false") │ WriteLn ("N >= 10")
- ELSE │ ELSE │ ELSE
- WriteLn ("false") │ WriteLn ("B is true") │ WriteLn ("N < 10")
- END │ END │ END
- ──────────────────────┴───────────────────────────┴─────────────────────
-
-
- COMMAND ALIASING
- ────────────────
-
- This useful feature is of xBase-like program languages origin and
- means that any string variable can be assigned a value being a built-
- -in language statement, and be immediately executed as a "real" sta-
- tement by adding "&" symbol before the variable. For example:
-
- -------------------------------------
- S = "UserInfo " + "("#34"Konst"#34")"
- &S
- -------------------------------------
- This will add 'UserInfo ("Konst")' statement to the script. One can
- use immediate translating of a string expression as a language state-
- ment, for example: &"UserInfo " + "("#34"Konst"#34")"
-
- SCREEN INPUT/OUTPUT
- ───────────────────
-
- Clear
- Clears the screen. No parameters.
-
- Write (parameter)
- Displays the <parameter>. The <parameter> can be both value and ex-
- pression, it can contain macros and color sequences.
- Example: Write ("User Name: " + $NAME)
-
- WriteLn (parameter)
- The same as Write, but CR/LF are added.
-
- ReadVar (VarName, VarLength)
- Asks for entering a string of number from the keyboard. The value is
- assigned to <VarName> and can't be longer than <VarLength>.
- Example: ReadVar (S,20)
-
- KeyPressed (Condit)
- Checks whether or not the user has pressed any key and sets the
- <Condit> parameter of Logical type to True or False respectively.
- Example: KeyPressed(B)
-
- ReadKey (StringVar)
- Waits for pressing any key and stores its code to the <StringVar> of
- String type. Example: ReadKey (S)
-
- KeyMacro (Parameter)
- Puts the <Parameter> string into the input buffer. For example, if
- "DIR" statement has to be executed after the DoorWay start, such
- pack of statements may be used:
- ---
- KeyMacro ("DIR" + #13)
- DoorWay
- ---
- which issue the DoorWay built-in "DIR" command after the DoorWay
- start.
-
- SetCursorCoord (Row, Col)
- Places cursor into the <col> column of the <row> line of the screen.
-
- GetCursorCoord (X, Y)
- Returns current cursor position coordinates to be stored into the
- two parameters.
-
- SetColor (BgCol, FgCol)
- Sets color of the text to be displayed by Write/WriteLn statements.
- The <BgCol> parameter sets the background color, while the <FgCol>
- parameter sets the foreground color. Possible color values are:
-
- 0 - black 8 - bright black
- 1 - blue 9 - bright blue
- 2 - green 10 - bright green
- 3 - cyan 11 - bright cyan
- 4 - red 12 - bright red
- 5 - magenta 13 - bright magenta
- 6 - yellow 14 - bright yellow
- 7 - white 15 - bright white
-
- Example: SetColor (0, 15)
-
- YesNo (LogicalVar)
- Waits for user to press "Y" or "N" key and sets the variable of Lo-
- gical type given as parameter to True or False, respectively.
- Example: YesNo (B), where B is a variable of logical type.
-
- NoYes (LogicalVar)
- Same as YesNo statement, but with default set to "No" ([y/N]),
- rather than to "Yes".
-
- Message (MesgStr)
- Displays a message string of String type given as <MesgStr> parame-
- ter, and waits for the user to press Enter.
-
-
- TEXTFILES PARSING
- ─────────────────
-
- It should be mentioned that any file to be processed by the script
- is assigned some unique number. This number can be assigned via put-
- ting it as the first parameter of the file open statement (see below).
- Any file must be referred to by its number to be treated. For example,
- the statements below
-
- ---------------------------------------
- FileOpen (1, "C:\autoexec.bat")
- FileReadString (1, S)
- FileClose (1)
- ---------------------------------------
-
- open the C:\AUTOEXEC.BAT file and assign number 1 to it, read a string
- from this file to the S variable and close the file. Note that all fi-
- le operations mentioned after file opening use file number rather than
- file name.
-
- FileCreate (fileID, "filename")
- Creates file named as <"filename"> and assigns <fileID> number to it.
- Example: FileCreate (1, "file.tst").
-
- FileAppend (fileID, "filename")
- Opens the <"filename"> file to append strings to the end of it. If
- the file doesn't exist, it is created.
- Example: FileAppend (1, "file.tst").
-
- FileOpen (fileID, "filename")
- Opens <"filename"> file to read from and assigns <fileID> number to
- it. Example: FileOpen(1,"file.tst").
-
- FileWriteString (fileID, "string")
- Writes the <"string"> string to file opened/created by FileCreate or
- FileAppend statements. Example: FileWriteString (1, "test string").
-
- FileReadString (fileID, StrVar)
- Reads string from the file opened by the FileOpen statement to the
- <StrVar> variable. Example: FileReadString(1, S).
-
- FileGetEOF (fileID, BoolVar)
- Checks EOF of the <fileID>-numbered file to be reached and sets the
- Logical-type <BoolVar> parameter to True or False.
- Example: FileGetEOF (1, B).
-
- FileClose (fileID)
- Closes file with <fileID> number.
-
- FileDelete ("fname")
- Deletes the <"fname"> file. Example: FileDelete ("c:\autoexec.bat")
-
- FileExists (FName, BoolVar)
- Checks the existence of the file mentioned in the <FName> variable
- and sets the Logical-type <BoolVar> variable to True or False
-
- FileSize (FName, NumVar)
- Returns the size of the file mentioned in the <FName> variable in
- the numeric-type <NumVar> variable
-
- FileDisplay (<filename>)
- Displays an .A?? file of <filename> name. Note that all the .A??-fi-
- lenames creation rules are applicable here as well.
- Example: FileDisplay ("TXTFILE\logo")
-
-
- FILEAREAS COMMANDS
- ──────────────────
-
- AddToDownLoadList ("filename")
- Adds the <"filename"> file to the list of files to be downloaded.
- Example: AddToDownLoadList("C:\CONFIG.SYS")
-
- DownLoad ("filename")
- Similar to the corresponding menu command. Gets filename to download
- as parameter. The parameter may be omitted.
-
- UpLoad ("UpLoadDir")
- Similar to the corresponding menu command. Gets name of directory
- files will be uploaded to as parameter. The parameter may be omitted.
-
- UpLoadPriv ("Receiver")
- Similar to the corresponding menu command. The obligatory parameter
- specifies the receiving user name.
-
- ChangeFileArea
- Change file area. No parameters.
-
- ChangeFileGroup
- Change file group. No parameters.
-
- FileList
- Lists the filearea contain. No parameters.
-
- ShowRawDir
- Shows the list of file stored in the current file area without using
- the FILES.BBS information. Similar as DIR command executed in the
- directory where the current file area's files are stored.
-
- GetFirstTagged (StrVar)
- Returns the name of the first file tagged by the user to download.
- The filename is stored in the string-type <StrVar> parameter.
-
- GetNextTagged (StrVar)
- Returns the name of the next tagged file. GetFirstTagged statement
- must be used prior to GetNextTagged to begin the list processing.
- The filename is stored in the string-type <StrVar> parameter. If
- the end of the list is reached, the parameter is set to empty
- string.
-
- GlobalSearch (wildcard)
- Same function as that of Global_Search menu item. The only parameter
- (can be omitted) specifies the wildcard of files to be searched for.
- If not specified or is empty, the user is asked for it.
-
- NewFilesSince (date)
- Searches for files which came to BBS after the <date> date. The <da-
- te> parameter format must follow the pattern specified in the torna-
- do.ctl->[System]->Date_Mask variable. If the parameter is omitted,
- the user is asked for it.
-
- NewFilesSinceLast
- Looks up files which came to BBS after the user last visit. Supplies
- no parameters.
-
-
- MESSAGE AREAS COMMANDS
- ──────────────────────
-
- ChangeMsgArea
- Change message area. No parameters.
-
- ChangeMsgGroup
- Change message group. No parameters.
-
- FilePost (FileName, From, To, Subj)
- Post the specified file to the current message area as a standard
- message. Parameters: filename, <from> field, <to> field> <subj> fi-
- eld. Example: FilePos ("C:\somefile.txt", "Konst", "All", "Tornado")
-
- WriteMsg (MsgAreaNum)
- Lets user write a message to the message area. The area number is
- mentioned in the <MsgAreaNum> parameter. If no number specified,
- current message area is assumed.
-
-
- MISCELLANEOUS
- ─────────────
-
- GetArg (Str, Num)
- Returns to the String-type <Str> parameter value of the <Num> num-
- bered parameter of the script. The total number of the script para-
- meters is store in ArgCount variable.
-
- GetStringLength (Str, Num)
- Stores in the <Num> parameter of the Number type the String-type
- <Str> parameter's length.
-
- SubString (StrIn, FromPos, Count, StrOut)
- Returns a substring selected from String-type <StrIn> parameter, in
- the <StrOut> String-type parameter. Substring is of <Count> symbols
- length, started with <FromPos>-numbered symbol of <StrIn> parameter.
-
- StrPos (Sub, Str, Pos)
- Returns the position of the <Sub> substring in the <Str> string to
- the number-type <Pos> parameter.
-
- Val (Str, Num)
- Converts String-type <Str> parameter into the Numeric-type <Num>
- one. Returns <Num> value as a result.
-
- Val (Str, Num)
- Puts ASCII code of the <Str> symbol into the <Num> parameter.
-
- Delay (n)
- Delays a script execution for n millisecons
-
- Random (Range, Out)
- Generates a random number within 0 to <Range> diapason and stores it
- in the number-type <Out> parameter.
-
- UserInfo ("UserName")
- Displays information about an user of "UserName" name.
-
- PageSysOp (Topic)
- Pages the Sysop to talk on the <Topic> problem. If no topic specifi-
- ed, user is asked for it.
-
- DoorWay
- Starts the built-in Doorway
-
- Call (script.TRS)
- Calls a .TRS script file from the script being executed.
-
- Log (String)
- Appends the <String> string to the logfile.
-
- News
- Invokes news system. No parameters supplied.
-
- GoTo Label
- Unconditional jump to the <label>. See also "Labels".
-
- HangUp
- Forces user to end session by breaking connect.
-
- Exec ("program [command-line]", N)
- Executes program, command-line parameters OK. Macros similar to the
- 'Exec' menu command are allowed. After executing the errorlevel will
- be stored to the Number-variable <N> which is optional.
- Example: Exec("vsys *P *B"")
-
- Exit
- Ends script.
-
-
- 8.4. Labels
- ───────────
-
- Labels are intended to pass execution to some other part of script.
- The Tornado built-in script language assumes as label a string follow-
- ed by semicolon:
-
- Label1:
-
- The GoTo statement with label name is used to pass execution to the
- statements preceded by the label of that name (see above about the
- GoTo statement syntax).
-
- 8.5. Procedures
- ───────────────
-
- The built-in script language supports procedures. They are extremely
- useful if some statements sequence has to be re-used several times.
- Procedures are to be described before the [Program] section of the
- script. The descriptions must look like the one below:
-
- Procedure <procedure_name>
- <statement1>
- <statement2>
- ...
- <statementN>
- End
-
- To call the procedure one just has to use the procedure's name as a
- standard statement, for example:
-
- Program
- < ... >
- <Procedure_Name>
- < ... >
- End
-
- 8.6. Reserved names of script files
- ───────────────────────────────────
-
- Below is list of files with .TRS (ToRnado Script) extensions) placed
- in the directory mentioned in the [Files]->TxtFiles variable of the
- current .LNG-file. Case of its execution is also mentioned.
-
- ──────────┬───────────────────────────────────────────────────────────
- Filename │ Execution case
- ──────────┼───────────────────────────────────────────────────────────
- LOGO │ Before displaying BBS logo
- WELCOME │ Before asking for scanning mail and file areas
- START │ Just before displaying the start menu
- LOGOFF │ At the end of user session via choosing the corresponding
- │ menu option
- NEWUSER │ If ask for beginning of the new user registration is
- │ answered positively
- REGEND │ Just after ending of the new user registration
- BADUSER │ At the enter of the badlisted user
- GOODUSR │ At the enter of the goodlisted user
- UPLOAD │ Just after uploading file(s) and description(s)
- DOWNLOAD │ Just after downloading file(s)
- ──────────┴───────────────────────────────────────────────────────────
-
- 8.7. REXX support (OS/2 version only)
- ─────────────────────────────────────
-
- Tornado/2 makes it possible to create scripts using REXX language.
- Such functions are supported at the moment for these scripts: Clear,
- Hangup, ChangeFileArea, ChangeFileGroup, ChangeMsgArea, ChangeMsgGro-
- up, FileList, DoorWay, FileDisplay, Write, WriteLn, AddToDownLoadList,
- DownLoad, Upload, Message, UpLoadPriv, ShowRawDir, FilePost, WriteMsg,
- UserInfo, PageSysOp, ReadVar, KeyPressed, ReadKey, SetCursorCoord,
- SetColor and YesNo. The parameters for these functions are in most
- cases similar to those of the corresponding statements of the built-in
- script language (see chapter 8.3 for further information). Functions
- return '0' in case of succesful termination, or '-1' otherwise, except
- of KeyPressed, ReadKey and YesNo functions which return the real re-
- sult of their execution, rather than some pre-set one.
-
- WARNING: if the functions need a variable to store the execution re-
- sult, the variable must be used as the function's parameter and be en-
- closed in REXX-style single quote marks.
-
- To set and get macros values, such two functions are supported:
-
- SetMacro( <macro_name>, <value> );
- Sets value of the <macro_name> macro to the <value>, if changing of
- the macro value is not prohibited; otherwise returns '-1'.
-
- GetMacro( <macro_name> );
- Returns value of the <macro_name> macro, or '-1' if no <macro_name>
- macro is defined.
-
- The reserved names of the REXX prgrams are similar to the standard
- .TRS filenames (see Chapter 8.6 for more information). The REXX prog-
- rams with the reserved filenames must have .TRX extension and be loca-
- ted in the directory specified in .LNG->[Files]->TxtFiles.
-
-
- 9. Advanced features
- ════════════════════
-
- The Tornado has a plenty of advanced (service) features which make
- work with it more comfortable and easy.
-
- 9.1. Built-in DoorWay
- ─────────────────────
-
- The Tornado implements remote access of a user to the host computer
- file system. Entering the DoorWay is done via selecting "DoorWay" menu
- item. In order to provide secutity, there used thorough ranking of
- commands availability according to users' access level. The DoorWay
- configuration file, DOORWAY.CTL, is commented in detail, so you can
- refer to it for further information. You can get a list of commands
- with brief description by entering HELP command. To get available pa-
- rameters of a command, once just need to follow it by "/?" switch.
-
- 9.2. ManualSend (tm)
- ────────────────────
-
- I often faced to unconvenience of sending to a user a file located
- not in any file area. So I decided to ease this task up. Well, if the
- SysOp was asked for a file and a user would get it immediately, SysOp
- doesn't need anymore to place the file into a file area and do the
- other not-so-funny things making the user wait. The only thing needed
- is to press PgUp, to select a directory containing files to send, then
- to select files to send (INS key) and to press Enter. All is done!
-
- 9.3. SaveTagList (tm)
- ─────────────────────
-
- Have you ever seen tortures of a poor user who have disconnected be-
- cause of noised line after having selected files to download, and af-
- ter re-connection had to re-select all the needed files? It's obvious
- that it'd be very comfortable to save taglist so that the user won't
- need to re-select files at re-entering, thus freeing the session time.
- Taglist saving mode (SaveTagList) is activated by the tornado.ctl->
- [Miscellaneous]->Save_Tag_List parameter. Catalog to store list files
- for each user is set by the tornado.ctl->[Files&Dirs]->Save_Tag_Path
- parameter. Name of these files is username's CRC32 in hexadecimal for-
- mat, the preset extension is .LST.
-
- 9.4. The Tornado Upgrade Manager (tm)
- ─────────────────────────────────────
-
- The Tornado Upgrade Manager changes users' access level on some no-
- table events (10th or 100th call, someone's birthday, etc). The SysOp
- can define conditions for change access level to take effect (to pre-
- vent "increase" from 10th level, manually assigned to the user, to the
- default 2nd level, or other misunderstandings likewise). The user may
- be informed about the change either by message from the SysOp or by
- displaying the appropriate .ANS/.ASC/AVT file. The change will be ac-
- tual either while the change day or till other changes. For further
- info on customizing the Tornado Upgrade Manager please refer to com-
- mented sample configuration file UPGRADER.CTL
-
- 9.5. Registration Resume (tm)
- ─────────────────────────────
-
- If the registration process has been terminated because of discon-
- nect, user don't need to restart it from the very beginning anymore.
- Since the registration process is rather long and boring, while phone
- lines often are noised, the re-registration process may get almost
- everlasting and very annoying. That's why the Registration Resume is
- of great use. The Registration Resume is activated by the TORNA-
- DO.CTL=>[NewUsers]->Reg_Resume parameter.
-
- 9.6. Private Uploads (tm)
- ─────────────────────────
-
- This feature enables users to exchange with files using the BBS as a
- temporary storage. There exist special catalog for such operations.
- It's specified by the tornado.ctl->[Files&Dirs]->Priv_Uploads_Dir pa-
- rameter. The files to some user will only be downloaded by the addres-
- see user and then will be deleted. Filelists are stored in the .LST
- files located in the directory specified in the tornado.ctl->[Files&
- Dirs]->Save_Tag_Path parameter. See also menu action Upload_Priv.
-
-
- 10. Other info
- ══════════════
-
- 10.1. Acknowledgements
- ──────────────────────
-
- The author would express a great gratitude to the all who helped de-
- veloping and testing the Tornado, noticed and informed the author abo-
- ut errors. Special thanks to:
-
- ■ Alex Radzishevskiy (2:461/113@fidonet.org) - one of my best friends
- and the Tornado Team programmer. He has created the Tornado window
- interface, the DoorWay, and other useful stuff. He was one of the
- founding fathers of the Tornado project, issued a lot of useful no-
- tices. [Tornado Team].
-
- ■ Vlad Bakaev (2:461/76@fidonet.org, dandy@guru.cit-ua.net) - yet ano-
- ther my friend and programmer of the Tornado Team. He is author of
- the modules interfacing with the FILES.BBS file, parsing text confi-
- guration files, etc. [Tornado Team].
-
- ■ Maxim Lyashenko (2:461/585@fidonet.org) - the author of the macro
- treating module and some other string-related stuff. Active tester.
- [Tornado Team].
-
- ■ Maarten Bekers (2:285/233.5@fidonet.org, elevator@wxs.nl). Autor of
- the EleBBS program. Issued a lot of useful recommendations as to
- Win95/98/NT version of Tornado.
-
- ■ Boris Loboda (2:461/256@fidonet.org, barry@audit.kharkov.com). Helped
- very much in creating Win95/98/NT version of Tornado by advices,
- pieces of source code, etc.
-
- ■ Jack Lensky (2:461/686@fidonet.org). Active tester. [Tornado Team].
-
- ■ Dima Orlov (2:461/27@fidonet.org, do@free.kpi.kharkov.ua) - he has
- been taking active part in developing the project from the very be-
- ginning till now; besides, almost all the source code has been typed
- using really perfect DOS-shell CONNECT (The IBM HandShaker), Dima
- being one of its authors.
-
- ■ Alex Shakhajlo (2:461/700@fidonet.org) - active testing since the
- first versions, useful notes and advices.
-
- ■ Alexey Solomonov (2:5030/142@fidonet.org) - kindly offered source
- code and perfect mailer Sf-Mail, the Tornado interface being a pla-
- giate of the Sf-Mail one ;). [Santa Fox Team].
-
- ■ Anton the Deinow (2:5030/143@fidonet.org) - kindly offered source
- code of his libraries, active testing and useful advices. [Santa Fox
- Team].
-
- ■ Vladimir Lazarenko (2:461/106@fidonet.org,vlad@sline.gtm.kharkov.ua)
- - testing, translation of commentaries in the configuration files
- into English.
-
- ■ Oleg Deribas (2:461/13@fidonet.org) - active testing and creative
- thoughts about new features of the Tornado, helping the author to
- implement them; creating useful utilities.
-
- ■ Peter Suchkow (2:5030/51@fidonet.org) - the Tornado distribution wi-
- thin the frameworks of the GSS project; he has taken active part in
- promoting the Tornado abroad exUSSR.
-
- ■ Vadim Vasilenko (2:461/79.44@fidonet.org) - translation of the docu-
- mentation into English; active user-side ;) testing.
-
- ■ Roman Rupp (2:246/6010, rrupp@karlsruhe.netsurf.de) - translation of
- the .LNG and .A?? files into German; active testing and useful advi-
- ces.
-
- ■ TurboPower SoftWare, Async stuff;
-
- ■ Mark May & Vadim Rumyantsev, library of messagebases treating;
-
- ■ Special great gratitude to the Borland International Inc for excel-
- lent development tool Borland Pascel 7.0 and also superb, even
- though too slow on my computer, Delphi compiler;
-
- ■ Special great thanks to ex-compatriot Vitaly Miryanov for perfect
- Virtual Pascal compiler which has been used to assemble the OS/2
- version of the Tornado;
-
- ■ Now, thanks to me :)
-
- 10.2. Distribution and the author's responsibility
- ──────────────────────────────────────────────────
-
- This version of the Tornado is an unlimited shareware. See the major
- guidelines in the license file (LICENSE.DOC)
- The Tornado is distributet in the "AS IS" form, accordingly to the
- common international AS IS principle. This means that the author isn't
- responsible in any way for any damage or loss caused by using the Tor-
- nado. You are using it at your own risk.
-
- 10.3. Support
- ─────────────
-
- The Tornado program is distributed within frameworks of the
-
- ─────────────────────────────────────■■■■■─────■■■■■────■■■■■──
- ──General───────────────────────────■─────────■────────■───────
- ──────────Software─────────────────■──■■■──────■■■──────■■■────
- ───────────────────Support────────■────■─────────■────────■────
- ──────────────────────────────────■■■■■─────■■■■■────■■■■■─────
-
- project.
-
- The most recent versions are available immediately at the author's bo-
- ard (main Tornado support board) Pulse BBS:
-
- Phone : [0572] 47-4765
- Work Time : 23:00-07:00
- BBS : present
- Freqs : allowed
- FIDO : 2:461/22
-
- NOTE: Work Time means Kiev time (UTC +3 in summer and +2 in winter).
-
- If You are FIDONet member, you can FReq the most recent beta-version
- using TORNADO (DOS version) or TORNADO2 (OS/2 version) alias, as well
- as alpha-version - using ALPHA or ALPHA2 aliases respectively.
-
- Besides, there is TORNADO fileecho used to distribure recent versions
- of the Tornado and various utilities for it.
-
- The Tornado is also supported within the TORNADO.SUPPORT echoconferen-
- ce of the FIDONet.
-
- If you are provided with the Internet connectivity, you can FTP the
- most recent Tornado version at these FTP servers:
-
- ftp://quake.vostok.net/pub/tornado/
- ftp://rcat.com/bbs_software/tornado/
-
- or WWW-page:
-
- http://adel.telecom.nov.ru/konst/tornado.htm
-
- If You feel irresistible desire to thank the author for his work, just
- contact me, and I will appreciate it in any form with pleasure.
-
- 10.4. The author
- ────────────────
-
- If You have any ideas, suggestions or business propositions concerning
- the Tornado, you can contact me is such ways:
-
- - call me by voice phone (380-572-474765) at a reasonable time (this
- is home phone) and ask Konstantin;
-
- - if You are kharkovite or plan to visit Kharkov, you can visit so-
- called "prooliovka" - weekly party of the Kharkov FIDOnet members,
- that takes place at Tuesdays 18:00 in the Gogol' St. (just in front
- of catholic church);
-
- - ICQ #17502151
-
- - mail me to such net addressess:
-
- 2:461/22@fidonet.org
- 81:461/22@os2net
-
- konst@quake.vostok.net
- konst@adel.telecom.nov.ru
- Konstantin.Klyagin%p0.f22.n461.z2@fidonet.org
-
- - mail to:
-
- Konstantin Klyagin,
- flat 11, Frunze 11,
- Kharkov, Ukraine
-
- 10.5. Trademarks
- ────────────────
-
- Registered and unregistered trademarks:
- ─────────────────────┬───────────────────────────────────────────
- Tornado │ Konstantin Klyagin & Tornado Team
- Upgrade manager │ Konstantin Klyagin & Tornado Team
- SaveTagList │ Konstantin Klyagin & Tornado Team
- ManualSend │ Konstantin Klyagin & Tornado Team
- Registration Resume │ Konstantin Klyagin & Tornado Team
- RemoteAccess │ Andrew Milner & Wantree Development Corp.
- Maximus │ Scott Dudley
- Borland Pascal 7.0 │ Borland International, Inc.
- Sf-Mail │ SantaFox Team
- T-Mail │ Andy Elkin
- Fido, FidoNet │ Tom Jennings and Fido Software
- OS/2 │ International Business Machines Corp.
- MS-DOS │ MicroSoft Corp.
- ─────────────────────┴───────────────────────────────────────────