MS-DOS V9KERMIT HELP FOR VICTOR 9000 and SIRIUS 1 MS-DOS COMPUTERS [Modified from the MS-DOS Kermit Help File for IBM PC Family, Compatibles, and Other MS-DOS computers, by R.N. Folsom, October 1993] Version 3.13, July 1993 Last IBM version update: Thursday 8 July 20:15:13 1993 This file briefly summarizes the commands and features of MS-DOS Kermit 3.13. For detailed information, consult the book USING MS-DOS KERMIT, second edition, by Christine M. Gianone, published by Digital Press, Bedford, MA (1992), order number EY-H893E-DP, Digital Press ISBN 1-55558-082-3, Prentice Hall ISBN 0-13-952276-X, International Edition ISBN 0-1395304306. To order, call (USA, toll free) 1-800-344-4825, or 1-212-854-3703. A German-language edition, MS-DOS KERMIT -- DAS UNIVERSELLE KOMMUNIKATIONSPROGRAMM, translated by Gisbert W. Selke, is published by Verlag Heinz Heise GmbH & Co KG, Hannover, Germany, ISBN 3-88229-006-4. Verlag Heinz Heise GmbH & Co. KG, Helstorfer Strasse 7, D-3000 Hannover. Tel. +49 (05 11) 53 52-0, Fax. +49 (05 11) 53 53-1 29. A French-language edition, Christine M. Gianone, KERMIT MS-DOS MODE D'EMPLOI, translated by Jean Dutertre, is published by Heinz Schiefer & Cie., Versailles (1993). ISBN 2-901143-20-2. Heinz Schiefer & Cie., 45 rue Henri de Regnier, F-78000 Versailles, France. Tel. +33 13 021 55 05, Fax. +33 13 902 3971. TCP/IP users: Read the section at the end of this file and the TCP/IP section in the "beware file" (V9KERMIT.BWR) for information that was not available at press time for the book USING MS-DOS KERMIT. TERMS AND CONDITIONS Copyright (C) 1985, 1993, Trustees of Columbia University in the City of New York. The MS-DOS Kermit software may be reproduced and shared without restriction as long as this copyright notice is retained, except that it may not be licensed or sold for profit as a software product itself, and it may not be included in or distributed with commercial products or otherwise distributed by commercial concerns to their clients or customers without written permission of the Office of Kermit Development and Distribution, Columbia University. MS-DOS Kermit is a product of Kermit Distribution, Columbia University Academic Information Systems. The principal author of the program is Professor Joe R. Doupnik of Utah State University, with help from other volunteer programmers all over the world. Kermit software is written by volunteer programmers as a public service, and is furnished without warranty of any kind. Neither Columbia University, nor the individual authors, nor Digital Equipment Corporation, nor Digital Press, nor any institution or individual that has contributed to the development and documentation warrant the software in any way. CONTACT INFORMATION Technical support: (USA) 212-854-5126, or use the e-mail addresses below. Kermit programs are available for hundreds of different kinds of computers on a variety of magnetic media. For MS-DOS Kermit, there are also sets of diskettes containing source code, related utilities, collections of key settings files, technical documentation, etc. For a catalog of Kermit software and publications, write to: Kermit Distribution, Dept INFO Columbia University Academic Information Systems 612 West 115th Street New York, NY 10025 USA Or call (212) 854-3703, or Fax (212) 662-6442, or send e-mail to: kermit@columbia.edu (Internet) or KERMIT@CUVMA (BITNET/EARN). UPDATES MS-DOS Kermit 3.11 was released September, 1991, and is fully described in the book USING MS-DOS KERMIT, second edition. MS-DOS Kermit 3.12 and 3.13 have several features not described in the book, but which are included in this file, and described fully in the file V9KERMIT.UPD. PROGRAM INSTALLATION Easy. For diskette-only systems, make a backup copy of the Kermit diskette, using DISKCOPY, and run Kermit from the backup copy. For hard-disk systems, make a \KERMIT directory on your hard disk, and COPY [V9Kermit.exe and other] Kermit diskette files to it [as explained in the file V9Install.doc]. Then add the hard disk \KERMIT directory to your DOS PATH (modify the PATH= command in your AUTOEXEC.BAT file). NOTE: If you have a modem other than a Hayes 1200 or 2400 [or compatible], you will need to copy the appropriate dialing script file from the MODEMS [archive or] subdirectory into the main KERMIT directory. The same might apply to various other drivers or files. Be sure to read the V9INSTAL.TXT file on the MS-DOS Kermit distribution diskette. In version 3.13 and later, you do not have to add the KERMIT directory to your DOS PATH. Alternatively, you can add a PATH item to your "KERMIT=" DOS environment variable, for example: SET KERMIT=ROLLBACK 50;PATH C:\KERMIT;COM4 \x2e8 5 Of course, you have to put V9KERMIT.EXE itself in a directory that is in your DOS PATH, or else create a KERMIT.BAT file in such a directory to run V9KERMIT.EXE out of its own directory. In both cases, however, you still have to edit your AUTOEXEC.BAT file: either to change the PATH or to add or change the KERMIT environment variable. The reason you need to have Kermit's directory in the DOS PATH (or in the KERMIT PATH) is so Kermit can find its initialization file, modem dialing scripts, and other command files and scripts (the TAKE command looks in the PATH). [The only absolutely essential file is V9KERMIT.EXE, although most users will want to include also variants of MSKERMIT.INI and of DIALUPS.TXT, HAYES.SCR, and the patch file MSR313.PCH if applicable (not currently used for Victor Kermit).] Please don't edit the standard initialization file, MSKERMIT.IN_. Make all desired communications and network setups and other customizations in your individual MSCUSTOM.INI file. A sample is provided. MSCUSTOM.INI is executed automatically by MSKERMIT.IN_ [provided you first change its extension from .IN_ to .INI, after first renaming the simple MSKermit.ini file to something else. Alternatively, run MSCUSTOM.INI directly, as explained in V9Install.doc, lines 70-92.] To use Kermit in Microsoft Windows, also perform the following steps: [not applicable to Victor, and therefore omitted by RNF]. Read the book USING MS-DOS KERMIT for more detailed installation instructions, as well as for complete instructions on using MS-DOS Kermit. Read the V9KERMIT.BWR file for problem-solving hints as well as technical details [including networks]. APPLYING PATCHES TO MS-DOS KERMIT Sometimes errors are discovered in MS-DOS Kermit programs after they are released. Rather than issue a new release to correct these problems, we "patch" them at runtime. The patches are contained in a small file called MSR313.PCH. This file contains checking information -- the MS-DOS Kermit version number and internal checksum must agree -- plus patches that Kermit should apply to itself when it starts up. The MSR313.PCH file should go in the same directory as your MSKERMIT.INI file. When the simple instructions below are followed Kermit will read the file MSR313.PCH and make changes to the copy of itself which is currently running in memory. The executable Kermit program file on your disk is not modified. CAUTION: [These patches should be applied ONLY to an executable version of MS-DOS Kermit obtained by mail from Kermit Distribution at Columbia (including the IBM version of MS-KERMIT.EXE from the disk in the book USING MS-DOS KERMIT), or over a computer network [Internet, Bitnet, or some other, using File Transfer Protocol (ftp)] from Kermit.Columbia.edu (for the IBM, either MSVIBM.EXE or a translation from MSVIBM.BOO; for the Victor, either MSVV90.EXE or a translation from MSVV90.BOO. These patches should NOT be applied to a Kermit version you built yourself from the source code using a possibly different assembler and linker! At present, Victor Kermit has no patch file; a patch file for an IBM Kermit should NOT be used on V9Kermit.] Patch instructions: 1. Make sure you have the version of Kermit for which these patches are intended. Run Kermit and type the VERSION command. 2. Obtain a copy of the the appropriate patch file from Kermit Distribution at Columbia University. Don't trust copies of this file that came from anywhere else! [Those connected to Columbia through a computer network can transfer a patch file in text mode to a local computer host, and then use Kermit in text mode to transfer it to their PCs. [The patch file for IBM MS-DOS Kermit version 3.13 is MSR313.PCH. Patch files for later IBM Kermit versions will be named analogously]. 3. If you got your copy of [a patch file such as] MSR313.PCH on paper from Columbia University, you must type the file in to your PC using a text editor or word processor. Be sure to use the "ASCII" or "TEXT-ONLY" option of your word processor and be very careful not to make any typographical errors. Double check your typing. 4. Copy or move the MSR313.PCH file to the same disk and directory where you keep your MSKERMIT.INI file. NOTE: [At startup, MS-DOS KERMIT versions 3.13 and later look for a patch file named either MSKERMIT.PCH or MSRnnn.PCH, where nnn is the threedigit program version number, e.g. MSR313.PCH. Earlier MS-DOS Kermit versions, e.g. 3.11 and 3.12, could not use a MSRnnn.PCH patch file, but used only a MSKERMIT.PCH patch file, created by copying the relevant MSRnnn.PCH file. But in MS-DOS Kermit 3.13 and later, you don't need to copy the MSRnnn.PCH file, because Kermit can use it directly.] 5. [To make patches,] the MSKERMIT.INI file includes PATCH as its first command. This is what installs the patches. If the patch file is not found, or if it disagrees in any way with the version of Kermit you are running, an error message is printed and the patches are ignored. 6. Now CD to your normal working directory, and type "kermit" to start the Kermit program. The startup banner and the VERSION command display the patch level. If the patching process succeeds then no messages are issued. See the patch file itself (it's a text file) for a description of each patch, and also be sure to read V9KERMIT.BWR for further information. SUMMARY OF MS-DOS KERMIT COMMANDS The commands listed are for the IBM PC, PS/2, and compatibles. Other versions of MS-DOS Kermit (NEC PC9801, DEC Rainbow, Victor 9000, Zenith Z100, etc) may lack certain commands and features described here, primarily those having to do with networking, terminal emulation, and character-set translation. Kermit commands consist of a sequence of "words" (verbs, nouns, numbers, filenames) separated by spaces and terminated by carriage return (Enter). Command descriptions use this notation: <parameter> - Replace this with an actual number, or filename, etc. <number> - Replace with an actual decimal number <filename> - A file specification, which may include disk & directory <hh:mm:ss> - Time of day in 24-hour notation, less than 12 hours from now [<parameter>] - An optional field, which may be omitted {A,B,C} - Choose one of the items listed [{A,B,C}] - Optionally choose one of the items listed = <value> - Shows default value for a field The following characters perform special functions in MS-DOS Kermit commands: Space Separates command words ("fields"). TAB (Ctrl-I) Like space ESC (Ctrl-[) Completes a keyword if possible. Enter (Ctrl-M, Carriage Return) Enters a command. Formfeed (Ctrl-L) Like Enter, but clears the screen first. Linefeed (Ctrl-J) Like Enter. Backspace (Ctrl-H, Del) Deletes rightmost character from the command. Ctrl-W Deletes rightmost word from the command. Ctrl-U Deletes the entire command. Ctrl-C Cancels the current command, even if you have already entered it. ? (Question Mark) Requests a menu for the current command field. ; (Semicolon) Introduces a trailing command (in command files only). \ (Backslash) Introduces a "backslash code". , (Comma) Separates commands in a macro definition. { } (Braces) used for grouping characters or words together. Backslash codes are used for many purposes, such as to enter special characters into Kermit commands. For example, if you want to use the OUTPUT command to send a Ctrl-C to the host, you can't put the Ctrl-C literally in the command, because typing Ctrl-C would cancel the command. Instead, put a backslash followed by digits to denote the ASCII value of the Ctrl-C character (3): "output \3". Similarly for Carriage Return: "output login myname\13". \123 (up to 3 decimal digits) - A decimal number or character value \d123 (up to 3 decimal digits) - Same as 123 \o123 (up to 3 octal digits) - An octal (base 8) number or character value \x123 (2 hexadecimal digits) - A hexadecimal (base 16) number or character \{ } For grouping, e.g. \{12}6 = Ctrl-L 6, not ASCII 126 = tilde (~) \; Include a semicolon in a TAKE-file command or macro definition. Other backslash codes: \% Introduce a Kermit variable, \%1, \%2, ..., \%a, \%b, ... \%z \K (or \k) Introduce a Kermit connect-mode verb like \Kexit {\Kxxx} A user-defined macro called xxx assigned to a key \B (or \b) Send a BREAK signal, 275 milliseconds (OUTPUT command only) \L (or \l) send a Long BREAK, 1.5 seconds (OUTPUT only) \255 Shorthand for CRLF or LFCR (INPUT command only) \v(name) A built-in variable like \v(date) \m(name) A user-defined named variable \$(name) A DOS environment variable * PROGRAM MANAGEMENT COMMANDS EXIT or QUIT Exit from MS-DOS Kermit. Close all logs and files. Leave serial port and modem connections open. Close most kinds of network connections. Execute ON_EXIT macro if one is defined. STAY On the MS-DOS Kermit command-line only, causes MS-DOS Kermit to issue its prompt after executing any other commands that were found on the command line, rather than EXITing as it normally does when given command-line arguments. PATCH [ <path> ] Apply patches (corrections) to the running memory image from the appropriate MSRnnn.PCH (or MSKERMIT.PCH) file. TAKE <filename> Execute Kermit commands from the specified file instead of the keyboard. PUSH Go to the DOS prompt. Return to Kermit prompt by typing the DOS EXIT command. Preserves connections, settings, etc. RUN <DOS-command> [ <arguments> ] Run a DOS program or execute a DOS command, e.g. RUN EDLIN AUTOEXEC.BAT. ECHO [ <text> ] For issuing messages from TAKE files or macros. Display the <text> on the screen, automatically supplying carriage return and linefeed at the end. The <text> can contain backslash codes, variables, etc. Leading and trailing spaces are removed unless the <text> is surrounded by curly braces: ECHO ; Prints a blank line ECHO This is a message ; Prints "This is a message" ECHO { This is a message } ; Prints " This is a message " SET PROMPT <text> Change MS-DOS Kermit's interactive command prompt from MS-Kermit> to the specified text, which can contain backslash codes, variables, etc. Curly braces can be used as in the ECHO command. COMMENT <text> For adding full-line comments to a TAKE file. <command> ; text Commands in TAKE files can have trailing comments preceded by semicolon (;). <text><text> Commands in TAKE files or macro definitions can be continued with hyphens, but not in a trailing comment. * DOS ACCESS COMMANDS CD [<path>] Change Directory. included. Like DOS CD, but a disk drive letter can be CLS Clear the PC's screen. DELETE <filespec> Delete specified file(s). DIRECTORY [<filespec>] Like DOS DIR command. RUN <command> RUN the given DOS command or program. TYPE <filename> Like DOS TYPE command. SPACE [<disk-letter>] Show free space on current or specified disk. SHOW MEMORY Show free memory. Others, such as MORE, COPY, RENAME, etc, are defined as macros in MSKERMIT.IN_. * COMMANDS FOR GETTING INFORMATION HELP Display a brief help message about MS-DOS Kermit. SHOW <category> Display current settings, definitions, statistics selectively (type SHOW ? for a list of categories that can be shown). VERSION Display the program version number. * COMMANDS FOR SETTING COMMUNICATION PARAMETERS SET COM1 <address> [ <irq> ] Tell Kermit the hardware address of COM1, which must be an NSC 8250, 16550A, or compatible UART, and, optionally, that its interrupt request (IRQ) line number is <irq>. Also SET COM2, SET COM3, SET COM4. this command BEFORE the corresponding SET PORT command. Give SET PORT {COM1, COM2, COM3, COM4} = COM1 Select a communication device (SET PORT ? for list of available devices, see below for local area nets). You can also say SET PORT 1, SET PORT 2, etc. Port must be real 8250 or 16550A UART, or device that perfectly emulates them. If not, Kermit will use BIOS rather than direct hardware control. SET PORT {BIOS1, BIOS2, BIOS3, BIOS4} Use BIOS-level driver for COM1, COM2, COM3, or COM4, etc, rather than Kermit's own built-in hardware driver. Allows Kermit to be used with BIOS itself, BIOS Int 14H interceptors (on LANs, for example), nonstandard devices, etc. SET PORT <other> - See section on Local Area Networks. SET SPEED <number> Communications port line speed: 1200, 2400, 9600, etc. SET SPEED ? for list. 75/1200 is "split speed" (75 out, 1200 in). Applies to currently selected serial port (COM1-COM4), or to EBIOS connections. Ignored for other SET PORT options. SET PARITY {EVEN, ODD, MARK, SPACE, NONE} = NONE Character parity to use during communication. SET DISPLAY { 7, 8 } = 7 Synonym for SET TERMINAL BYTESIZE { 7, 8 } SET DUPLEX {FULL, HALF} = FULL Select full or half duplex communication. FULL = remote echo. HALF = local echo plus RTS/CTS hardware handshake. SET HANDSHAKE {NONE, XON, CR, LF, CODE <ascii-value>} = NONE Half-duplex line turnaround character (XON is most common). only file transfer. SET FLOW-CONTROL {XON/XOFF, RTS/CTS, NONE} = XON/XOFF Select a full-duplex bidirectional flow-control method. In addition XON/XOFF can be enabled in one direction only: SET FLOW {INCOMING-XON/XOFF, OUTGOING-XON/XOFF} * COMMANDS FOR CONNECTING TO A REMOTE HOST Affects CONNECT Make a terminal connection to a device or another computer on the currently selected port using the current communication settings. Use Alt-x to return ("escape back") to the MS-Kermit> prompt (hold down the Alt key and press x) or Ctrl-] followed by C. You can abbreviate CONNECT as C. HANGUP Hang up a serial connection by lowering DTR until the next time the port is accessed (by CONNECT, OUTPUT, INPUT, DIAL, PAUSE, or similar command). If the current connection is a network connection, close it. SET DEBUG SESSION Turn off the terminal emulator, display received characters literally for debugging: ^X = Ctrl-X, ~X = X with 8th bit on. SET DEBUG OFF Turn off session debugging, restore normal terminal emulation. * COMMANDS FOR CONTROLLING TERMINAL EMULATION SET TERMINAL [ TYPE ] { VT320, VT220, VT100, VT102, VT52, HEATH-19, HONEYWELL, PT200, TEK4010, D463, D470, NONE } = VT320 Select type of terminal to emulate. Other types may be available, type SET TERMINAL TYPE ? for a list. SET ROLLBACK <number> Number of text screens to be kept in the rollback buffer. Each 24x80 screen occupies about 4K; bigger screens need more space. Also see SET TERMINAL EXPANDED-MEMORY. SET TERMINAL ANSWERBACK { ON, OFF } Whether Kermit should respond with string "MS-DOS KERMIT" if, during terminal emulation, it receives Ctrl-E (ENQ) from host. Default is OFF, no reply. SET TERMINAL APC { ON, OFF, UNCHECKED } Enable, disable, or fully open up the Application Program Command feature of the VT220/320 emulator, which allows the host to send commands to MSDOS Kermit embedded in escape sequences. Default is ON, in which nondangerous commands are enabled. OFF means all such commands are ignored, UNCHECKED means all commands are executed without first checking whether they might be dangerous. SET TERMINAL ARROW-KEYS { APPLICATION, CURSOR } Put the arrow keys in the specified mode. SET TERMINAL BELL { AUDIBLE, VISUAL, NONE } = AUDIBLE. What to do with arriving BEL (beep, Ctrl-G) characters. SET TERMINAL BYTESIZE { 7, 8 } = 7 Use 7 for stripping off parity bit, e.g. with UNIX systems, during terminal emulation. Use 8 for 8-bit international character sets, and for properly receiving 8-bit control characters, such as sent by VAX/VMS. SET TERMINAL CHARACTER-SET { LATIN1, DEC-MCS, GERMAN, FRENCH, etc } = LATIN1 Character set used by the host computer during terminal emulation. Optional trailing parameters G0, G1, G2, and G3 can be used to designate the character set to the given Gn tables. Example: SET TERM CHAR LATIN1 G1. Type SET TERMINAL CHARACTER-SET ? to see a complete list. SET TERMINAL CLEAR-SCREEN Clear the terminal screen. SET TERMINAL CODE-PAGE CPnnn Tells MS-DOS Kermit what code page is presently active on your PC. Used because DOS does not always correctly report the current code page. Kermit's TERMINAL CODE-PAGE is combined with your TERMINAL CHARACTERSET to pick the appropriate translation when you enter CONNECT mode. Translation of Cyrillic (CP866) and Japanese Kanji (Shift-JIS) is not supported during terminal emulation. SET TERMINAL COLOR <number> [, <number> [, <number> ] ] Set fore- and background color for text terminal emulation. The numbers are 0 (normal foreground), 1 (high-intensity foreground), 10 (fast screen update on IBM EGA), 3x (foreground color), 4x (background color), where x is the sum of any of 1 (Red), 2 (Green), and 4 (Blue). SET TERMINAL COMPRESSED-TEXT { GRAPHICS, TEXT-132 } Compressed text is how more characters are shown across the same screen. Some video adapters support compressed text in regular text mode. Others, like the EGA and VGA, do not. Use the GRAPHICS option to display compressed text on the EGA or VGA, or else use horizontal scrolling (see \Kverbs). SET TERMINAL CONTROLS {7-BIT, 8-BIT} Tell VT220/320 emulator whether to send 7-bit or 8-bit control sequences when DEC function, arrow, editing, or keypad keys are pressed. SET TERMINAL CURSOR-STYLE {BLOCK, UNDERLINE} Select the cursor style for terminal emulation. underline. The default is SET TERMINAL DIRECTION {LEFT-TO-RIGHT, RIGHT-TO-LEFT} Direction of screen writing during terminal emulation. SET TERMINAL DISPLAY Synonym for SET TERMINAL BYTESIZE. SET TERMINAL EXPANDED-MEMORY { ON, OFF } Whether to use expanded memory for retention of graphics screens and for text terminal-emulation rollback screens. The default is OFF, to use conventional memory. ON leaves extra room in conventional memory for running other programs, does not rely on your video adapter's memory for storing graphics images, and allows more rollback screens, limited only by the size of your PC's available physical memory. ON requires that an expanded memory manager, such as EMM386 or QEMM, be correctly installed. Also see SET ROLLBACK. SET TERMINAL GRAPHICS <name> Specify the type of graphics adapter in your PC: CGA, EGA, VGA, others (SET TERM GRAPH ? for complete list). MS-DOS Kermit automatically tries to figure out what kind of adapter you have. Use this command if it guesses wrong. Applies to Tektronix emulation only. SET TERMINAL GRAPHICS CHARACTER-WRITING {OPAQUE, TRANSPARENT} Tell whether text characters written on graphics screens should let graphics show through. SET TERMINAL GRAPHICS COLOR <number> [, <number> [, <number> ] ] Fore- and background colors for graphics screens. Numbers same as for SET TERMINAL COLOR. SET TERMINAL GRAPHICS CURSOR {ON, OFF} Tell whether there should be a text cursor during graphics terminal emulation. Default is ON. SET TERMINAL HORIZONTAL-SCROLL { AUTOMATIC, MANUAL } When Kermit's TERMINAL WIDTH is wider than the physical screen, you can view characters off the physical screen by horizontal scrolling, which can be manual (you push keys) or automatic (Kermit scrolls the screen automatically as characters arrive to keep the cursor on the screen). MANUAL is the default for VT terminal emulation, AUTOMATIC for DG terminal emulation. SET TERMINAL KEYCLICK {ON, OFF} Turn keyclick on or off on keyboards that support this. SET TERMINAL KEYPAD {APPLICATION, NUMERIC} Put the numeric keypad into the specified mode. SET TERMINAL MARGIN-BELL {ON, OFF} Whether to ring the bell when the cursor nears the end of a screen line. SET TERMINAL NEWLINE {ON, OFF} ON means to send both a carriage return and a linefeed when you press Enter. OFF means send only carriage return. SET TERMINAL OUTPUT-SHIFT {NONE, AUTOMATIC, SI/SO, SS2, SS3} Select the table-shifting commands surrounding a character sent to the host when, and only when, parity is other than NONE and the character has its high bit set. NONE, the default, says do nothing about the matter and thus the character's high bit is lost and replaced by a parity bit. SI/SO, SS2, and SS3 shift the character into G1, G2, or G3, respectively, using ISO 2022 rules. AUTO selects a method based on the current GL value. SET TERMINAL REPLAY Synonym for REPLAY. SET TERMINAL ROLLBACK {ON, OFF} ON means to restore rolled-back screens to the end when new characters arrive. OFF means to display new characters at the current cursor position. SET TERMINAL SCREEN-BACKGROUND {NORMAL, REVERSE} REVERSE exchanges the fore- and background screen colors. SET TERMINAL TABSTOPS {AT <n>, CLEAR AT <n>, CLEAR ALL} Sets or clears screen tab stops at the specified positions. <n> can be a single number, a list of numbers, or <position>:<interval> to set tabs beginning at the specified <position>, every <interval> spaces, e.g. SET TAB AT 1:10. By default, tabs are set every eight spaces. If your tabstops get messed up, restore them to normal with "set term tab at 1:8". SET TERMINAL TEK4010 {ENABLE, DISABLE} Whether Kermit should automatically enter Tektronix graphics mode upon receipt of special escape sequences from the host. ENABLEd by default. SET TERMINAL UPSS {DEC-MCS, LATIN1} Select which character set to designate as your VT220/VT320 User Preferred Supplemental Set. SET TERMINAL VIDEO-WRITING {DIRECT, BIOS} Tells whether screen updates during emulation should be performed by going DIRECT to the video adapter, or should proceed through the system's video BIOS. DIRECT is the default because it is faster. Select BIOS if you you have trouble with DIRECT or if you have a BIOS-level screen interceptor such as a speech device. Applies to text mode only. SET TERMINAL WIDTH {80, 132} Put the video adapter into 80- or 132-column mode. If Kermit can do this itself, it will. Otherwise it will attempt to run the DOS batch program COLS80.BAT or COLS132.BAT to do the job. You must supply these files. They should contain whatever external DOS commands you have at your disposal to change the screen width, for example a MODE or VMODE command. SET TERMINAL WRAP {ON, OFF} Whether to break overlong screen lines into multiple lines. SET PRINTER <name> Redirect any printing that is done during terminal emulation to a device or file. Default is PRN (the DOS printer device). * LOCAL AREA NETWORKS The SET PORT command tells Kermit which type of network connection you want to use, and in some cases also the network host you want to communicate with. SET PORT TCP/IP [ <Internet-name or Internet-address> [ <tcp-port-number> ] ] Connect to a TCP/IP host using Kermit's built-in TCP/IP support. If the host is omitted, the one used in the most recent SET PORT TCP/IP or SET TCP/IP HOST command is used, if any (this allows you to switch to another type of connection and then back to your TCP/IP connection). During a TCP/IP session, Kermit uses TELNET protocol to communicate with the TELNET server on the remote host. The default <tcp-port-number> is 23 (TELNET); you can optionally specify any other port except 25. SET PORT TCP/IP <digit> Resumes session <digit>, where <digit> is 1 through 6. SET PORT TCP/IP * [ <tcp-port-number> ] Sets MS-DOS Kermit up as a TCP/IP server, awaiting a connection from a TCP client. After giving this command, use the SERVER to make the Kermit server available on the network, or CONNECT to wait for an incoming "chat" connection. SET PORT BWTCP <ip-address> Make a TCP/IP connection via Beame & Whiteside TCP/IP, which must be loaded on your PC. An IP address (not hostname) is required. SET PORT NETBIOS Kermit awaits NETBIOS connections from other PCs on the net. with AT&T StarLAN/StarGROUP. Also used SET PORT NETBIOS <name> Tell Kermit to connect to another PC on the NETBIOS network. Also for AT&T StarLAN/StarGroup. SET NETBIOS-NAME <name> Tell Kermit to set your PC's Netbios node name to <name>. Kermit appends ".K" to the end of the name if you don't include it yourself. SET PORT NOVELL For using Novell network asynchronous communication servers (NASI/NACS). SET PORT DECNET [<node> [<password>]] For PATHWORKS LAT or CTERM connections. LAT password if required. Specify node to connect to, SET PORT UB-NET1 For Ungermann-Bass Net/One. SET PORT OPENNET [<node>] For Intel OpenNET, similar to NETBIOS. SET PORT 3COM For using 3COM BAPI asynchronous communication server, BRIDGE PCS or 3+OPEN TCP versions. SET PORT EBIOS { 1, 2, 3, 4 } [ name-of-server-port ] Use Extended BIOS for communication with EBIOS-based asynchronous communication servers like IBM's LANACS. SET PORT TELAPI <Internet-address> Connect to an Internet TCP/IP host through Novell LAN Workplace for DOS. SET PORT TES <hostname> Connect to a VAX/VMS system that is running Netware/VMS. SET PORT { BIOS1, BIOS2, BIOS3, BIOS4 } For using any network that operates through a BIOS Int 14h COM port driver. HANGUP Close network connection, terminate network session. * CONNECT-MODE ESCAPE-LEVEL COMMANDS During terminal emulation, you may type Ctrl-] (hold down Ctrl and press the rightbracket key) followed by any of the following characters (on German keyboards, hold down Strg and press +): ? 0 B C F file H L M P Q R S ^] Help -- prints the available escape-level commands (the digit zero) Transmit a NUL (ASCII 0) (also Alt-B) Transmit a BREAK signal (also Alt-X) Return to Kermit prompt level, keep connection open (also Ctrl-End) File the current text screen in the screen dump Hangup the phone or network connection Transmit a Long Break (1.8 seconds) Toggle the mode line, i.e. turn it off if it is on & vice versa Push to DOS; get back to CONNECT by typing EXIT at the DOS prompt Temporarily quit logging the remote session Resume logging the remote session (also Alt-S) Show the status of the connection (or whatever you have set the escape character to be) Typing the escape character twice sends one copy of it to the host * SET TRANSLATE INPUT COMMAND SET TRANSLATE ON SET TRANSLATE INPUT <code1> <code2> Specify that when a character that would normally be translated to <code1> arrives at the communication port during terminal emulation, it should be translated into <code2> before display on the screen. Overrides current terminal character set translation for that character. Translations set up in this way take effect only after you give the command SET TRANSLATE INPUT ON. * SET KEY COMMAND SET KEY <scancode> <value> Assign <value> to the key whose scan code is given. When you press the key or key combination that corresponds to the scan code during terminal emulation, the <value> is transmitted out the communication port. If you don't know the scan code, type SET KEY alone on a line, then press the desired key or key combination when prompted, then enter the definition. The <value> can be a single character, a text string (which may contain backslash codes), or one or more Kermit verbs. * COMMONLY USED KERMIT KEYBOARD VERBS The default key assignment is in parentheses. \Kexit Exit from connect mode (Alt-X, Ctrl-]C) \Kbreak Send a BREAK signal (Alt-B, Ctrl-]B) \Kcompose Introduce a Compose-Key sequence \Kdos Push to DOS (Ctrl-]P) \Kdump Dump current screen to file (Ctrl-End on numeric keypad) \Khangup Hangup communication port connection (Ctrl-]H) \Kignore Ignore this key \Klfone Scroll left one column \Klfpage Scroll left one "page" \Klogoff Stop session logging (Ctrl-]Q) \Klogon Resume session logging (Ctrl-]R) \Knethold Enter (non-TCP/IP) network shell (Alt-z) \Knextsession Toggle to next TCP/IP session, if any (Alt-n) \Kmodeline Toggle mode line off/on++ (keypad minus) \Kprtscn Print current screen (Print Screen) \Kreset Reset terminal emulator (Alt-=) \Krtone Scroll right one column \Krtpage Scroll right one "page" \Ktermtype Switch between text and graphics screens (Alt-minus) \Kupscn Roll back screen (PgUp) \Kupone Roll back screen one line (Ctrl-PgUp) \Kdnscn Roll screen forward (PgDn) \Kdnscn Roll screen forward one line (Ctrl-PgDn) \Knextsession Toggle to next session {\Kxxxx} Execute macro named xxxx (xxxx can be any name) Use SET KEY to assign or reassign these verbs to the keys of your choice. Example: "SET KEY \315 \Kexit" puts \Kexit on the F1 key. SET SET SET SET KEY KEY KEY KEY CLEAR: Restore all Kermit's default key assignments. ON: Use BIOS to read keystrokes (scan codes). OFF: Use DOS rather than BIOS to read keystrokes. LK: Use external DEC LK250 keyboard driver (if loaded). * PRINTER CONTROL During terminal emulation, Kermit controls the printer according to escape sequences received from the host, including the following for VT102/220/320 emulation: ESC ESC ESC ESC [ [ [ [ 5 4 ? ? i i 5 i 4 i Begin transparent print (send port characters to printer) End transparent print Begin autoprint (send screen lines to printer) End autoprint Kermit also lets you use Ctrl-Print Screen to turn the printer on and off during terminal emulation. The following command affects all these operations: SET PRINTER <filename, PRN, or NUL> Sends Connect mode printer material to the indicated file instead of to the standard DOS printer name PRN; this is a "print to disk" option. SHOW LOG displays the current filename (defaults to PRN). If you press Print Screen (no Ctrl), DOS gets the request itself, Kermit never sees it so the SET PRINTER command does not affect Print Screen. * COMMANDS FOR TRANSFERRING FILES Start a Kermit program on the remote computer, give it a "send", "receive", or "server" command, escape back to MS-DOS Kermit, and give it one of the following commands: SEND <filename> [<alternate-name>] Send files to remote Kermit receiver or server. Can abbreviate as S. RECEIVE [<filename>] Wait for a file to arrive from the other Kermit program, which must be given a SEND command. Can abbreviate as R. GET <remote-filename> Ask a Kermit server to send the specified file(s). Use GET <Enter> to be prompted for remote and local names separately. MAIL <filespec> <address> Send the file as electronic mail to the address (if the remote Kermit supports this feature). * GETTING INFORMATION ABOUT FILE TRANSFER STATISTICS Display efficiency and other statistics about file transfers. SHOW PROTOCOL Display file transfer protocol-related parameter settings. SHOW CONTROL List file-transfer control-character prefixing. SHOW FILE Display file-related parameter settings * COMMANDS FOR TALKING TO A SERVER BYE Shut down a remote Kermit server and log out its job FINISH Shut down a remote Kermit server, put it back at command level GET <remote-filename> Ask a Kermit server to send the specified file(s) SEND <filename> [<alternate-name>] Send files to remote Kermit receiver or server REMOTE CD [<directory> [<password>]] Tell remote server to change to named directory. REMOTE DELETE <filespec> Tell remote server to delete the specified files. REMOTE DIRECTORY [<filespec>] Tell remote server to send directory listing for specified files. REMOTE HELP Ask the server to list the services it provides REMOTE HOST command Command for remote host in its own command language REMOTE KERMIT command Send a command to remote Kermit server in its own command language REMOTE LOGIN user Login to a remote Kermit server, separate prompts for password, etc. REMOTE MESSAGE text Send a one-line message to the remote Kermit server REMOTE PRINT <filespec> [ <options> ] Send the file to a remote server and ask the server to print it with the specified options, if any. REMOTE SET <parameter> <value> Tell remote server to set the specified parameter to the specified value. REMOTE SPACE [directory] Show disk space on remote host REMOTE TYPE filespec Display remote file(s) REMOTE WHO Display users logged on remote system * COMMANDS FOR ACTING AS A SERVER DISABLE <parameter> Disable various capabilities of the server (DISABLE ? for list) ENABLE <parameter> Enable various capabilities of the server (ENABLE ? for list) SET SERVER TIMEOUT <num> How often the server should send NAK packets while waiting for a command, 0 = never (default). SET SERVER LOGIN <name> <password> Set up a name and password which must be sent to the server (by REMOTE LOGIN) before it will accept any other commands. SHOW SERVER Examine server-related parameters. SERVER [{<seconds>, <hh:mm:ss>}] Act as a Kermit server, optionally for or until the given time. Default time is forever (until BYE or FINISH received, or interrupted with Ctrl-C). The MS-DOS Kermit server honors the following requests: SEND GET FINISH BYE LOGOUT REMOTE CWD REMOTE PRINT REMOTE DELETE REMOTE MESSAGE REMOTE DIRECTORY REMOTE SPACE REMOTE HOST REMOTE TYPE REMOTE KERMIT REMOTE SET * INTERRUPTION COMMANDS WHILE A FILE TRANSFER IS IN PROGRESS X or Ctrl-X: if any. Z or Ctrl-Z: E or Ctrl-E: C or Ctrl-C: Q or Ctrl-Q: Enter key: Stop sending the current file and go on to the next one, Stop sending this file, and don't send any further files. Send Error packet to the remote Kermit. Return to Kermit command level immediately. Send a Ctrl-Q (Xon). Try to wake up a stuck file transfer. * CHANGING FILE TRANSFER PARAMETERS SET ATTRIBUTES { ON, OFF } = ON Enable/Disable processing of file attribute packets. SET ATTRIBUTES { DATE, LENGTH, TYPE, CHARACTER-SET } { ON, OFF } = ON Enable/Disable processing of specific file attributes. SET BLOCK-CHECK { 1, 2, 3 } = 1 Level of error checking, 1 by default, 3 is strongest. SET BLOCK-CHECK BLANK-FREE-TWO Like SET BLOCK-CHECK 2, but formats the block check characters such that they never include blanks. SET CONTROL-CHARACTER UNPREFIXED { <code>..., ALL } Says you think it is safe to include the control character represented by <code> without prefixing in packets that Kermit sends. The <code> is the numeric ASCII code for a control character, 0-31, 127-159, or 255. SET CONTROL-CHARACTER PREFIXED { <code>..., ALL } Says that the given control character(s) must be prefixed in outbound Kermit packets. By default, all control characters, 0-31, 127-159, and 255, are prefixed. SET DEBUG PACKETS Display packets on screen during file transfer. SET DEBUG OFF Turn off display of packets. SET DESTINATION { DISK, PRINTER, SCREEN } = DISK Direct incoming files to the specified device. SET FILE DISPLAY { SERIAL, REGULAR, QUIET } = REGULAR Format of Kermit's file transfer display. Use SERIAL for hardcopy terminals, Braille devices, speaking devices, etc. QUIET means no display at all (used automatically in remote mode). Synonym: SET DISPLAY. SET EOF { CTRL-Z, NOCTRL-Z } = NOCTRL-Z Whether Ctrl-Z marks the end of a PC DOS text file. SET FILE TYPE { TEXT, BINARY } = TEXT TEXT implies record format conversion and character set translation. Use BINARY to send or receive files with no conversion at all. SET FILE COLLISION { DISCARD, OVERWRITE, RENAME } What to do when a file arrives that has the same name as an existing file: RENAME = Automatically give the arriving file a unique name (default). OVERWRITE = Overwrite the existing file with the new file. DISCARD = Reject any file that has the same name as an existing file. SET FILE CHARACTER-SET { CP437, CP850, CP852, CP860, CP861, CP862, CP863, CP865, CP866, SHIFT-JIS } Tell Kermit which IBM PC code page to use when sending or receiving a text file. Default is your current PC code page as DOS reports it to Kermit (but watch out, DOS tends not to report code pages correctly). Kermit translates between the current file character set and the transfer character set. SHIFT-JIS is Code Page 932 for Japanese Kanji. SET TRANSFER CHARACTER-SET { TRANSPARENT, LATIN1, LATIN2, CYRILLIC, HEBREW, JAPANESE-EUC } Tell Kermit the character set used in Kermit packets. TRANSPARENT, the default, means no translation. LATIN1 is ISO Latin Alphabet 1, useful for transferring text in West European languages containing accented Roman letters with other Kermit programs that support this feature. LATIN2 is ISO Latin Alphabet 2, for Eastern European languages and can be used only with file character-set CP852. CYRILLIC is ISO 8859-5 Latin/Cyrillic, and can be used only with file character-set CP866. HEBREW is ISO 8859-8 Latin/Hebrew. JAPANESE-EUC is for Japanese Kanji and can be used only with FILE CHARACTER-SET SHIFT-JIS. Synonym: SET XFER CHARACTER-SET. SET TRANSFER LOCKING-SHIFT { OFF, ON, FORCED } = ON If PARITY is other than NONE, Kermit automatically uses a locking-shift technique for transferring 8-bit more efficiently over the 7-bit connection. To turn off this feature, use OFF. To force the use of this feature even when parity is NONE, use FORCED. Locking shift protocol is negotiated automatically with the other Kermit. Synonym: SET XFER LOCKING-SHIFT. SET TRANSFER TRANSLATION { READABLE, INVERTIBLE } = READABLE The default is READABLE, which optimizes character-set conversion for "readability", rather than invertibility. INVERTIBLE gives a unique translation for each character between the FILE CHARACTER-SET and the TRANSFER CHARACTER-SET. Synonym: SET XFER ... SET UNKNOWN-CHARACTER-SET { DISCARD, KEEP } = KEEP What to do when a file arrives that has an unknown character set. SET FILE WARNING { ON, OFF, NO-SUPERSEDE } = ON Obsolete synomym for SET FILE COLLISION. SET INCOMPLETE { KEEP, DISCARD } = DISCARD What to do with a file that does not arrive completely. SET RETRY <number> = 5 How many times to retry a particular packet before giving up on the file. SET TIMER { ON, OFF } = ON Enable/Disable timeouts and retransmissions during file transfer. SET WINDOW <num> = 1 Number of sliding window packet slots. Sizes greater than 1 can be used only with other Kermit programs that supports sliding windows. Improves transmission efficiency on long-delay or noisy connections. SET SEND (or RECEIVE) <parameter> <value> START-OF-PACKET <num> = 1 packet begin character, normally Ctrl-A END-OF-PACKET <num> = 13 packet end character, normally carriage return PACKET-LENGTH <num> = 94 packet length; 9024 max; > 94 for "long packets" PAUSE <num> = 0 Interpacket pause, milliseconds TIMEOUT <num> = 5 seconds PADDING <num> = 0 packet PADCHAR <num> = 0 DOUBLE-CHAR <num> IGNORE-CHAR <num> Timeout interval waiting for a packet, How many padding characters before each Padding character to use Double packet character <char> when sending. Discard <char> from packets when receiving. Use SHOW FILE, SHOW PROTOCOL to examine current file transfer settings. * COMMANDS FOR FILE TRANSFER WITHOUT ERROR CHECKING Kermit can also transfer files or other information with remote computers, services, or devices that do not support the Kermit file transfer protocol. These methods provide no error detection or correction. Use with caution. TRANSMIT <filename> Send a text file to the host as if you were typing it at the keyboard a line at a time. Waits for linefeed (\10) to echo before sending next line. Uses all current communication settings (parity, flow, etc). Doesn't translate character sets. CRLF is sent as CR only unless SET TRANSMIT LINE-FEEDS ON. Empty lines are sent as pairs of CRs (or CRLFS) unless SET TRANSMIT FILL is used. SET TRANSMIT <parameter> <value> Various parameters used to control TRANSMIT command. FILL-EMPTY-LINE { NONE, SPACE, <char> } LINE-FEEDS-SENT { ON, OFF } PAUSE <number> - pause <number> milliseconds after sending each line. PROMPT <char> - character to wait for before sending next line (= \10) LOG SESSION <filename> Capture a remote file, which you must TYPE, into the named file (SESSION.LOG by default). Use \Klogoff and \Klogon keyboard verbs to stop and restart logging (Ctrl-]Q, Ctrl-]R). CLOSE SESSION Stop capturing and close the session log file. * COMMANDS FOR RECORDING THINGS LOG TRANSACTION [<filename>] = TRANSACT.LOG Log file transfer names, times, etc, in given file. LOG SESSION [<filename>] = SESSION.LOG Record terminal session in given file. Use REPLAY <filespec> to view the log. LOG PACKETS [<filename>] = PACKET.LOG Record file transfer packets in given file. WRITE {FILE, PACKET, SESSION, TRANSACTION, Write the text to the specified log file contain backslash codes, variables, etc. Kermit terminators so include \13\10 at the end of the text CRLF. SCREEN} [<text>] or to the screen. Text may does not supply line if you want the text to end in CLOSE {PACKET, SESSION, TRANSACTION, READ, WRITE, ALL} Close the specified log file and stop logging. SHOW LOG Display names and status of logging and log files. Ctrl-]F (while in Connect mode) Dump current text screen into a file (even if graphics screen is showing). Ctrl-End (while in Connect mode) Dump the current screen (text or graphics) into a file. SET DUMP <name> Specify name of screen dump file for text screens (KERMIT.SCN by default). Graphics screens are saved to TEKPLTnn.TIF. * MACROS DEFINE <macro-or-variable-name> [<text>] Defines a macro or variable called "<name>" to have the given value. If <text> is omitted, undefines the named macro or variable. When defining command macros, <text> should be a list of MS-DOS Kermit commands, separated by commas. This command can also be used to define a variable like \%1, \%a, etc. The definition is copied literally (backslash codes not interpreted). [DO] <macro-name> [<parameter1> [<parameter2> [<parameter3> [...]]]] Executes the macro called "<name>", and assigns the parameters, if any, to the variables \%1, \%2, \%3, etc, and sets the variable ARGC to the number of parameters plus one (1 = no parameters, 2 = 1 parameter, etc). The variable \%0 is assigned the name of the macro. These variables are available only within the macro. ASSIGN <macro-or-variable-name> [<text>] Like DEFINE, copies the current value of <text> into the macro or variable, but (unlike DEFINE) all variables in the <text> are evaluated first. SHOW MACRO [<name>] Shows the definition of the specified macro or variable. IF DEFINED <name> <command> Executes the <command> if the macro or variable name is defined. IF = ARGC <num> <command> Executes <command> if ARGC is equal to <num> (numeric constant or variable) IF < ARGC <num> <command> Executes <command> if ARGC is less than <num> IF > ARGC <num> <command> Executes <command> if ARGC greater than <num> IF NOT > ARGC <num> <command> Executes <command> if ARGC less than or equal to <num> IF =, <, > Can also be used with any numeric variables or constants, not just ARGC, including the other predefined numeric variables, VERSION, COUNT, and ERRORLEVEL, the built-in numeric variables like \v(ndate), \v(status), etc, or any other variable (\%1, \%a) that has a numeric value. Use IF EQUAL to compare character strings (see below). * VARIABLES \%0 is the name of the currently executing macro (if any). \%1 thru \%9 are its parameters (arguments), created when the macro is invoked and destroyed when it terminates. If a macro invokes another macro, a new set of arguments is created and the old set is preserved. (This is a change from 3.01 and earlier, in which macro arguments were global.) \%a through \%z are global variables that can be modified or accessed in any context. Created by DEFINE, ASSIGN, ASK, ASKQ, or READ. The following commands can be used for arithmetic on variables that have numeric values: INCREMENT <variable-name> [ <number> ] Adds <number>, if given, to the value of the named variable. If no <number> is given, adds 1. DECREMENT <variable-name> [ <number> ] Subtracts <number>, if given, to the value of the named variable. no <number> is given, subtracts 1. If Macro definitions can be used as variables too. DEFINE or ASSIGN the macro in the normal way, but refer to it using \m(name), for example: define phone-number 7654321 if not defined phone-number echo Phone number is is not defined! echo The phone number is \m(phone-number). dial \m(phone-number) \v(xxx) is a built-in variable, where xxx is its name: \v(argc) macro argument count \v(count) current value of loop counter (SET COUNT / IF COUNT) \v(date) current date in country format, e.g. dd-mm-yyyy 08-02-1991 \v(dosversion) Version of DOS under which Kermit is running \v(ndate) numeric date yyyymmdd, e.g. 19910208 \v(directory) current disk and directory, e.g. C:\LETTERS\ \v(errorlevel) current value of ERRORLEVEL variable (SET ERRORLEVEL) \v(keyboard) IBM PC keyboard type: 88, 101, or (for LK250) 250. \v(line) Same as \v(port) \v(ntime) Seconds since midnight \v(platform) PC type, e.g. IBM-PC, DEC-RAINBOW \v(port) Current SET PORT value \v(program) Program name, MS-DOS_KERMIT \v(speed) Current transmission speed (only for COM1..4, EBIOS) \v(status) 0 if previous command succeeded, nonzero if it failed. \v(system) MS-DOS \v(terminal) Current terminal emulation type, e.g. VT320 \v(time) Current time of day, hh:mm:ss, e.g. 12:30:01 \v(version) Numeric program version, e.g. 311 for version 3.11. \$(xxx) is a DOS environment variable, e.g. \$(COMSPEC). * SCRIPT COMMANDS These commands are used (in conjunction with other Kermit commands) for carrying out an automated dialog with a remote computer. ASK <variable> <prompt> Print the <prompt> on the screen, assign what user types to the <variable>. ASKQ <variable> <prompt> Like ASK, but do not echo what user types. GETOK <prompt> Like ASK, but asks a Yes or No question. Succeeds if answer is Yes, fails if answer is No, otherwise reprompts. OUTPUT <string> Send the <string> out the communications port. May include backslash codes, variables, etc, plus the special items \B to send a BREAK and \L to send a Long BREAK. SET OUTPUT PACING <msec> How many milliseconds (thousands of a second) to pause between each character in the OUTPUT string. INPUT [<timeout>] <string> Wait up to <timeout> secs for <string> to arrive at communications port. If it arrives, set SUCCESS. If not, time out and set FAILURE. String may contain backslash codes. SET INPUT CASE { IGNORE, OBSERVE } = IGNORE Say whether alphabet case should matter in searching for INPUT string. SET INPUT DEFAULT-TIMEOUT <secs> = 1 Timeout interval to use if none given in INPUT command. SET INPUT ECHO { ON, OFF } = ON Whether to display characters read by INPUT command on the screen. SET INPUT TIMEOUT-ACTION { PROCEED, QUIT } = PROCEED PROCEED means set SUCCESS or FAILURE and go on to next statement in macro definition or TAKE file. QUIT means to quit from current macro or TAKE file immediately upon timeout (i.e. upon failure). IF SUCCESS <command> Execute the <command> if the preceding INPUT command succeeded. works with file transfer commands like SEND, RECEIVE, GET, BYE, etc. Also IF FAILURE <command> Execute the <command> if the preceding INPUT or file transfer command failed. PAUSE <secs> Do nothing for specified number of seconds, or until any character is typed at the keyboard. MPAUSE <msecs> Like PAUSE, but number is milliseconds rather than seconds. WAIT [<timeout>] [CD] [CTS] [DSR] [RI] Wait <timeout> (seconds or until time hh:mm:ss) for specified modem signals. CLEAR [ { INPUT-BUFFER, DEVICE-BUFFER, BOTH } ] CLEAR INPUT clears the INPUT/REINPUT command buffer (characters that have already been read by Kermit's INPUT command). CLEAR DEVICE clears the communication device buffer (characters that have not yet been read by by Kermit), CLEAR BOTH (the default) clears both of these buffers. STOP Return immediately from the current macro or TAKE file to the MSKermit> prompt. STOP [ <number> ] [ <text> ] Return immdediately from the current macro or TAKE file to the MSKermit> prompt, using the <number>, if specified, as the SUCCESS / FAILURE code, and setting the value of \v(status) to that number. If the <number> is omitted, the SUCCESS / FAILURE status of the previous command is retained and \v(status) is not changed. If the optional <text> is given, it is printed on the screen. Leading and trailing spaces are removed unless the text is enclosed in curly braces, in which case only the curly braces are removed. Examples: STOP STOP STOP STOP STOP STOP STOP ; No message, status is not changed 0 ; No message, status is 0 (SUCCESS) 1 ; No message, status is 1 (FAILURE) This is a message ; Status not changed, message is printed { Indented text} ; Ditto, leading spaces are preserved 0 This is a message ; Status set to 0, message is printed 1 { This is a message} ; Status set to 1, message is printed END Return from current macro or TAKE file to the macro or TAKE file which invoked it, or if none, to the MS-Kermit> prompt. Synonym: POP. END [ number ] [ text ] Return from current macro or TAKE file to the macro or TAKE file which invoked it, or if none, to the MS-Kermit> prompt. Otherwise, identical to STOP. Synonym: POP. GOTO <label> Instead of executing the next statement in the current macro definition or TAKE-file, go to the specified label and begin executing there. The label must be a word that begins with a colon (:) in the left margin in a macro definition or TAKE file. If it is not found, Kermit "POPs" one level and looks there, and so on through all active macros and command files. :LOOP The previous line shows a label called "loop". it. GOTO LOOP would find REINPUT <timeout> <string> Like INPUT, but instead of waiting for <string> to arrive at communications port, REINPUT rescans the text that has already arrived. SET COUNT <number> Sets the loop counter to <number>. IF COUNT <command> Subtract one from count. If result is greater than 0, execute <command>. Use with GOTO to construct counted loops. SET ALARM <time> Set an alarm <time> seconds from now, or at time hh:mm:ss. IF ALARM <command> If the alarm time has passed, execute the <command>. SET ERRORLEVEL <number> Set errorlevel to be returned to DOS by Kermit upon exit. IF ERRORLEVEL <number> <command> If the ERRORLEVEL value is greater than or equal to the <number>, execute the <command>. Equivalent to: IF NOT < \v(errorlevel) <number> <command> IF EXIST <filename> <command> If the named file exists, execute the <command>. IF INPATH <filename> <command> If the named file can be found in your DOS PATH, or in the current directory, execute the <commmand>. IF EQUAL <word1> <word2> <command> Execute the command if the two words are the same. text or variables. IF LGT <word1> <word2> <command> IF LLT <word1> <word2> <command> The words may be Execute the command if <word1> is lexically greater than (LGT) or lexically less than (LLT) <word2>. EQUAL, LGT, and LLT are alphabetical comparisons. Case is treated according to SET INPUT CASE. To compare text items that contain spaces, use { brackets } for grouping: IF LLT {\%a} {more than one word} <command> OPEN {READ, WRITE, APPEND} <filename> Open a DOS file in the given mode. READ <variable-name> Read a line from the current OPEN READ file into the given variable, discarding line terminators. Sets FAILURE flag at end of file. WRITE FILE <text> Write the text into the current OPEN WRITE or OPEN APPEND file; <text> can contain any mixture of ordinary characters, backslash codes, variable names. CLOSE {READ, WRITE} Close the current READ or WRITE (including APPEND) file. * TCP/IP NETWORK SETUP This section assumes knowledge of TCP/IP. See the book USING MS-DOS KERMIT for additional explanatory material, or Douglas Comer's book "Internetworking with TCP/IP" (Prentice-Hall), or show this material to your network manager. Also consult the networks section of V9KERMIT.BWR for additional detail. To use Kermit's built-in TCP/IP support, you need a network adapter, an Ethernet-class packet driver (not device driver) for the adapter, a SLIPclass packet driver, or a Novell ODI driver for Ethernet, Token Ring, Arcnet, or PCnet, and a connection to a TCP/IP network, or a "shim" that simulates one of these. For example, NDIS drivers can be used by using protocol shim program DIS_PKT on the top of NDIS to form a Packet Driver; the latest version is named DIS_PKT9 from Joe Doupnik at Utah State University. Install either an Ethernet-style packet driver or an ODI driver for your PC's network interface, or a SLIP (Serial Line IP) packet driver for your PC's serial port. For Token Rings, install the IBMTOKEN.COM driver on top of the Token Ring board drivers or use ODI. For NDIS (LAN Manager) environments, install the DIS_PKT "shim" on top of the NDIS drivers. IBMTOKEN and DIS_PKT are available from Columbia as part of the packet driver collection (see below). To use Kermit's TCP/IP support under Windows 3.x, [remainder of discussion not applicable to Victor, and omitted by RNF]. If your network interface vendor did not supply you with a packet driver, they are available via anonymous FTP from Columbia University, host watsun.cc.columbia.edu [128.59.39.2], cd packet-drivers, get the READ.ME file, read it, and take it from there. These files, now called the Crynwr packet driver collection, are available also from Columbia University via mail order. Before Kermit can use the TCP/IP network, you must use SET TCP/IP commands to supply Kermit with the necessary details about it. Check with your network manager to find out the correct values for these commands, and then put them in your MSCUSTOM.INI file. Don't make them up! Automatic downloading of your TCP/IP network configuration via BOOTP is recommended. You can view your TCP/IP settings with the SHOW COMMUNICATIONS command. SET TCP/IP ADDRESS { <IP-address>, BOOTP, RARP } Tell Kermit your PC's IP address (required). If your local network has a BOOTP or RARP server, you can SET TCP/IP ADDRESS BOOTP or RARP to have the server download your IP address automatically. Examples: SET TCP/IP ADDRESS 128.59.77.23 ; My IP address, fully specified SET TCP/IP ADDRESS BOOTP ; Get my address from a BOOTP server SET TCP/IP ADDRESS RARP ; Get my address from a RARP server SET TCP/IP SUBNETMASK <IP-address-mask> Tell Kermit which portion of an IP address corresponds to your physical network. The default is 255.255.255.0. A correct value is essential; it is used by Kermit to tell whether an IP address is on your physical network or must be accessed through a gateway. Incorrect values prevent successful communication. The subnetmask can be downloaded by BOOTP. SET TCP/IP BROADCAST <IP-broadcast-address> Tell Kermit the IP address to use when sending IP broadcast messages, for example to the BOOTP server, and to recognize incoming ones. The default is 255.255.255.255, meaning "my own physical network". Change this parameter if your BOOTP server is on a different subnet of your local network, or if your local network uses the old 4.2 Berkeley UNIX convention of 0's rather than 1's for IP broadcast addresses. An incorrect value can prevent successful communication, or worse. This parameter can NOT be downloaded from a BOOTP server -- you can't reach the BOOTP server in the first place unless you already have the correct broadcast address. SET TCP/IP PRIMARY-NAMESERVER <IP-address> The IP address of your network's primary nameserver, which translates hostnames into IP addresses. Required if you want to use host names rather than numeric IP addresses in your SET PORT TCP/IP commands. Example: SET TCP/IP PRIMARY-NAMESERVER 128.59.77.1 Can also be downloaded automatically by BOOTP. SET TCP/IP SECONDARY-NAMESERVER <IP-address> The IP address of your network's secondary nameserver, used by Kermit if the primary nameserver is unavailable. If no nameserver is reachable, use IP host numbers rather than names in your SET PORT TCP/IP commands. Nameserver addresses can also be downloaded automatically by BOOTP. SET TCP/IP GATEWAY <IP-address> The IP address of the gateway between your local area network and the rest of the Internet. Required if you want to communicate outside of your immediate local network. Can also be downloaded automatically by BOOTP. SET TCP/IP HOST { <IP-address>, <IP-hostname> } The default host for SET PORT TCP/IP commands. SET PORT TCP/IP <host> sets this too, so the next SET PORT TCP/IP command remembers it if you omit the host. This allows you to switch back and forth between serial and TCP/IP connections. SET TCP/IP DOMAIN <domain-name> IP domain name for your organization or department, for example columbia.edu for Columbia University, cc.columbia.edu for the Computer Center at Columbia University. This lets you refer to hosts on your local network with nicknames, for example watsun rather than watsun.cc.columbia.edu. When a hostname given in your SET PORT TCP/IP command can't be found, Kermit appends the domain and tries again. If it still can't be found, Kermit trims the leftmost field from the domain and tries again, and so on until the host is found or the domain name is used up: SET TCP/IP DOMAIN cc.columbia.edu SET PORT TCP/IP oofa.cs Kermit tries (in this order): oofa.cs, oofa.cs.cc.columbia.edu, oofa.cs.columbia.edu, oofa.cs.edu. Version 3.13 of MS-DOS Kermit can get the domain name from a BOOTP server that has been upgraded to RFC1395 level. SET TCP/IP PACKET-DRIVER-INTERRUPT { <number>, ODI } MS-DOS Kermit normally searches for the packet driver beginning at interrupt \x60 and going up the \x80. You can use this command to disable MS-DOS Kermit's automatic search and specify a particular interrupt number, for example, SET TCP PACKET-DRIVER \x63. If you specify "ODI" instead of an interrupt number, Kermit uses ODI rather than packet-driver conventions for communicating with the network board driver. SET TCP/IP TELNET-TERM-TYPE <name> Normally MS-DOS Kermit sends the name of terminal it is currently emulating, for example, "VT320", in response to a terminal-type request from the remote TELNET server. Use this command to supply any terminal-type name you want. SET TCP/IP NEWLINE-MODE {OFF, ON} During terminal emulation on a TCP/IP connection, MS-DOS Kermit follows the TELNET specification and transmits carriage and line feed (CRLF) whenever you type carriage return (the Enter key). If the remote TELNET server is confused by this (i.e. it does not follow the TELNET specification), use SET TCP/IP NEWLINE-MODE OFF to make Kermit omit the line feed. SET TCP/IP DEBUG-OPTIONS { ON, OFF } Whether to display TELNET options negotiation on the screen. Default is OFF, don't display them. When ON, you can view the negotiations on the screen, and you can capture them in screen dump or session log files, or print them, just like any other CONNECT-mode screen text. DEBUGOPTIONS is useful for debugging misbehaving TELNET sessions. Refer to the TELNET RFCs, or a TCP/IP book, for an explanation of what they mean. Sample TCP-related commands for MSCUSTOM.INI (substitute your own correct values for the ones shown here!): SET SET mask SET SET net SET SET name TCP/IP ADDRESS 128.59.77.23 TCP/IP SUBNETMASK 255.255.255.0 ; Your PC's IP address ; Your local net's subnet TCP/IP GATEWAY 128.59.77.1 ; The gateway on your local net TCP/IP PRIMARY-NAMESERVER 128.59.77.19 ; Nameserver on your local TCP/IP SECONDARY-NAMESERVER 128.59.78.12 ; Fallback nameserver TCP/IP DOMAIN bar.baz.edu ; Your local IP domain Then, to make a TCP/IP connection: SET PORT TCP/IP foo CONNECT ; Connect to foo.bar.baz.edu The TCP/IP connection is not actually established until the CONNECT (or INPUT, OUTPUT, PAUSE, or similar) command is given, at which time some progress messages are displayed on your screen. If connection is immediate, you won't see these messages, but if the connection fails, they will remain visible so you'll know why it failed. Logging out from the remote host will normally terminate your session and pop you back to the MS-Kermit> prompt. The HANGUP command, or Ctrl-]H during terminal emulation, should do the same thing. If your network has a BOOTP server, Kermit can learn its own IP address, as well as the nameserver addresses, gateway address, subnet mask, and other information from the server if the BOOTP server's database has an entry for your PC that contains these items. The BOOTP server knows it's your PC making the request because it has your network interface board's hardware address in its database, and BOOTP requests contain the network board's hardware address. To enter your PC in the BOOTP database, use the PKTADDR program (which comes with the Crynwr packet-driver collection) to find out the hardware address, for example: C:\PKTDRV\PKTADDR 0x60 My Ethernet address is 00:00:1E:0C:AA:1F Give this address to your network administrator, along with the adapter type (Ethernet, Token Ring, etc), your PC's IP host name and address (if you know it, or ask your network administrator to assign these to you -- DON'T MAKE THEM UP!). Then, the only commands you need to set up your TCP connection are: SET TCP/IP SUBNETMASK 255.255.254.0 ; Only needed if different from default SET TCP/IP BROADCAST 0.0.0.0 ; Only needed if different from default SET TCP/IP DOMAIN bar.baz.edu ; (3.12 and earlier, or preRFC1395) SET TCP/IP ADDRESS BOOTP ; Get my TCP/IP configuration from BOOTP SET PORT TCP/IP <name-or-number> ; Establish a connection CONNECT Notes: . The SET TCP/IP BROADCAST command is not needed unless you have a nonstandard network that uses all-zeroes for IP broadcasts, rather than all ones. . The SET TCP/IP SUBNETMASK command is necessary only if your subnetwork uses a different mask than Kermit's default, which is 255.255.255.0. These commands should go in your MSCUSTOM.INI file. . The SET TCP/IP DOMAIN command is not needed if you have MS-DOS Kermit 3.13, the BOOTP server is at RFC1395 level (January 1993), and its BOOTP database contains your PC's domain name. Thus, in many cases, your TCP/IP setup can be as simple as this: SET TCP/IP ADDRESS BOOTP Kermit sends an IP broadcast message to find the BOOTP server. If you also have given SET TCP/IP ADDRESS, SUBNETMASK, PRIMARY-NAMESERVER, SECONDARY-NAMESERVER, and GATEWAY commands, their values will be superseded by any values sent by the BOOTP server. BOOTP service has the great advantage that PC network configurations need be maintained in only one central file, rather than on many individual PCs. If the BOOTP server is unavailable, users can still enter the required information with SET TCP/IP commands. An RFC-1395 compliant BOOTP server for Berkeley UNIX (and SunOS 4.x, etc) is available via anonymous FTP from kermit.cc.columbia.edu [128.59.39.2] in the bootp directory. If your network has a RARP server, Kermit can learn its own IP address from the server, if the RARP server's database contains an entry for your PC. The RARP server can't tell you the subnetmask, nameserver addresses, or gateway address, so you will still need these items in your MSCUSTOM.INI file. However, everybody on the same physical network can use the same TCP/IP network parameters in their MSCUSTOM.INI files because the SET TCP/IP parameters other than ADDRESS are all the same. HINT: To avoid typing long SET PORT TCP/IP commands, define a macro for each host you commonly connect to: DEFINE OOFA SET PORT TCP/IP OOFA.XYZ.COM, PAUSE 0, IF SUCCESS CONNECT Put these definitions in your MSCUSTOM.INI file. Then just type "OOFA" to connect to TCP/IP host OOFA.XYZ.COM. The standard sample MSCUSTOM.INI file already defines a TELNET macro for you: ; TELNET macro, and macros for telnetting to particular hosts ; using appropriate terminal type. ; \%1 = IP host name or address ; \%2 = TCP port (optional, default is 23) ; \%3 = terminal type (optional) ; define telnet set flow none,set port tcp \%1 \%2,if def \%3 set term type \%3,pause 0, if fail end 1, connect You can use this to easily make a connection to a particular host: TELNET FOO and you can optionally specify a nonstandard (i.e. other than 23) TCP port: TELNET FOO 2000 and you can also (optionally) specify a terminal type to use: TELNET FOO 23 HEATH-19 For information about multiple sessions, see V9KERMIT.UPD. MAKING SLIP CONNECTIONS To make a SLIP (Serial Line IP) connection, follow these steps: 1. SET PORT 1 (or whichever serial port you will be using for the SLIP connection). 2. SET SPEED 19200 (or whatever speed you will be using) 3. SET FLOW RTS/CTS (or NONE) Don't use Xon/Xoff flow control on a SLIP connection! Xon/Xoff are incompatible with each other. SLIP and 4. Establish a connection to the terminal server or other device that will be providing SLIP service. Determine the IP address and other information (e.g. gateway address) that it has assigned to you. Normally, these are displayed on your screen before the terminal server enters SLIP mode. 5. Escape back to the MS-Kermit prompt and EXIT from MS-DOS Kermit. connection is left open. The 6. Start the SLIP8250 driver, telling it to use the same port (hex address and IRQ number must be supplied) and speed (decimal) used in (1) and (2) above, and to use hardware flow control (-h), for example: slip8250 0x60 -h slip 4 0x3f8 19200 7. Start MS-DOS Kermit again. Do NOT give it a SET PORT command for the serial port where SLIP is running. Instead, give the SET TCP ADDRESS, SET TCP GATEWAY, and other necessary SET TCP commands. Then, to make a connection, use SET PORT TCP <address>, where <address> is the IP hostname or address of the IP host you want to connect to. Note: In version 3.13 and later, it is possible also to obtain BOOTP service on a SLIP connection if your SLIP server is configured to provide it (for example, Cisco terminal servers can do this). Also, MS-DOS Kermit 3.13's SHOW COMMUNICATIONS command will display the IP address of the BOOTP server. For Novell SLIP_PPP ODI connections, see the V9KERMIT.BWR file. (End of MS-DOS V9Kermit 3.13 Help File)