📄 ckermit.bwr
字号:
CKERMIT.BWR "Beware File" for C-Kermit Version 6.0 -*- text -*-As of C-Kermit version: 6.0.192This file last updated: Fri Sep 6 23:23:23 1996Authors: Frank da Cruz and Christine M. Gianone, Columbia University. Copyright (C) 1985, 1996, Trustees of Columbia University in the City of New York. The C-Kermit software may not be, in whole or in part, licensed or sold for profit as a software product itself, nor may it 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. This copyright notice must not be removed, altered, or obscured.Report problems, suggestions, fixes, etc, to Frank da Cruz: The Kermit Project Columbia University 612 West 115th Street New York NY 10025-7799 USA Email: fdc@columbia.eduC-Kermit 6.0 is documented in the book "Using C-Kermit" by Frank da Cruz andChristine M. Gianone, Second Edition, 1997, Digital Press / Butterworth-Heinemann, Woburn, MA, USA, ISBN 1-55558-164-1. Price: US $39.95. Availablein book and computer stores, or order by phone, call Columbia University at+1 212 854-3703, or Butterworth-Heinemann at +1 800 366-2665. A German editionis available from Verlag Heinz Heise in Hannover, Germany.WHAT IS IN THIS FILEThis is the "beware file" for C-Kermit. It contains hints and tips,frequently asked questions (and answers), troubleshooting advice, limitationsand restrictions, known bugs, etc, that apply to all C-Kermit variations.This file is supplemented by a system-specific "beware file" for each majorsystem where C-Kermit runs: ckuker.bwr - All variations of UNIX: HP-UX, AIX, SCO, Solaris, etc. ckoker.bwr - IBM OS/2 ckvker.bwr - Digital Equipment Corporation VMS and OpenVMS cklker.bwr - Stratus VOS ckdker.bwr - Data General AOS/VS ckmker.bwr - Apple Macintosh ckiker.bwr - Commodore Amiga cksker.bwr - Atari ST ck9ker.bwr - Microware OS-9 ckpker.bwr - Bell Labs Plan 9This file contains the following sections: (1) INCOMPATIBILE CHANGES IN VERSION 6.0 (2) THE C-KERMIT COMMAND PARSER (3) MULTIPLE SESSIONS (4) NETWORK COMMUNICATION (5) THE SERVICES DIRECTORY (6) MODEMS AND DIALING (7) DIALING HINTS AND TIPS (8) TERMINAL SERVERS (9) TERMINAL EMULATION (10) KEY MAPPING (11) THE TRANSMIT COMMAND (12) FILE TRANSFER (13) SCRIPT PROGRAMMING(1) INCOMPATIBILE CHANGES IN VERSION 6.0This is not necessarily an exhaustive list. . Unless you tell C-Kermit otherwise, if a serial or network connection seems to be open, and you attempt to EXIT or to SET LINE or SET HOST or TELNET, C-Kermit warns you that an active connection appears to be open and asks you if you really want to close it. If you do not want these warnings, add SET EXIT WARNING OFF to your customization file. . The default for SET { SEND, RECEIVE } PATHNAMES was changed from ON to OFF, to prevent unexpected creation of directories and depositing of incoming files in places you might not know to look. . The default for SET FILE INCOMPLETE was changed from DISCARD to KEEP to allow for file transfer recovery. . The default file-transfer block-check is now 3, rather than 1. . The default flow-control is now "auto" ("do the right thing"), not Xon/Xoff. . Backslash (\) is no longer a line continuation character. . Negative INPUT timeout now results in infinite wait, rather than 1 second.(2) THE C-KERMIT COMMAND PARSERWhen using the command-line processor ("kermit -l /dev/tty00 -b 19200", etc),note that in some cases the order of the command-line options makes adifference, contrary to the expectation that order of command-line optionsshould not matter. In this case, the -b option must be given after the -loption if it is to have any effect.If you specify an alternate initialization file on the command line (using the-y option) and the file doesn't exist or can't be opened, no error is reported.In the interactive command parser: . VMS-style command editing (arrow keys, etc) is not supported. . EMACS- or VI-style command line editing is not supported. . Editing keys are hardwired (Ctrl-U, Ctrl-W, etc).If you interrupt C-Kermit before it has issued its first prompt, it will exit.This means that you cannot interrupt execution of the initialization file, orof an "application file" (file whose name is given as the first command-lineargument), or of an alternative initialization file ("-y filename"), and getto the prompt. There is, however, one exception to this rule: you *can*interrupt commands -- including TAKE commands -- given in the '-C "commandlist"' command-line argument and -- if there were no action commands among thecommand-line arguments -- you will be returned to the C-Kermit prompt. So,for example, if you want to start C-Kermit in such a way that it executes acommand file before issuing its first prompt, and you also want to be able tointerrupt the command file and get to the prompt, include a TAKE command forthe desired command in the -C argument, for example: kermit -C "take dial.scr"Reportedly, if you attempt to interrupt Kermit while it is executing itsinitialization file, and you do this rapidly enough, e.g. by sending aconstant stream of Ctrl-C's at a very high rate of speed, depending on theunderlying operating system (reported only on a couple versions of UNIX),duplicate Kermit processes might be created -- cause unknown, cure unknown,workaround: don't do it.If you use the backslash (\) prefix to enter a control character, space, orquestion mark into a command literally, the backslash disappears and isreplaced by the quoted character. If it was a control character, it is shownas a circumflex (^). This allows editing (backspace, delete, Ctrl-W) to workcorrectly even for control characters.The only way to include a comma literally in a macro definition -- as opposedto having it separate commands within the definition -- is to enter its ASCIIvalue (44) in backslash notation, e.g.: DEFINE ROWS MODE CO80\{44}\%1If you quote special characters in a filename (e.g. in the SEND command),filename completion may seem to work incorrectly. For example, if you have afile whose name is a*b (the name really contains an asterisk), and you type"send a\\*<ESC>", the "b" will not appear, nor will Ctrl-R redisplay thecompleted name correctly. But internally the file name is recognized anyway.Question-mark help does not work during execution of an ASKQ command. Thequestion marks are simply accepted as text.The maximum length for a variable name is 20 characters. For arraydeclarations and references, that includes the subscript. So, for example: \%a[\m(max_services)]is one character too long (this can be changed by redefining the symbol VNAMLin ckuusr.h and recompiling C-Kermit).Some other maximums to watch out for: Symbol Value Defined in Nesting level for command files: MAXTAKE 30 ckuusr.h Nesting level for macros: MACLEVEL 50 ckuusr.h Nesting level for FOR / WHILE loops: FORDEPTH 10 ckuusr.h Number of macros: MAC_MAX 256 ckuusr.h Size of INPUT buffer: INPBUFSIZ 256 ckuusr.h Maximum files to match a wildcard: MAXWLD varies ck?fio.c Filespecs in MSEND command: MSENDMAX 100 ckuusr.h Length of MSEND or GET string: FSPECL 300 ckuusr.h Length for GOTO target label: LBLSIZ 50 ckuusr.h Number of characters in a command: CMDBL 1024 ckucmd.h Number of chars in a field of a command: ATMBL 256 ckucmd.h \fexecute() recursion depth limit: CMDDEP 20 ckucmd.hASK and ASKQ strip leading and trailing spaces from what the user types. Thishappens way down deep in the command parser -- it's nothing special about ASKand friends. The only way around this that works in both C-Kermit and MS-DOSKermit is for the user (the one who is responding to the ASK prompt) to type(the first) leading space as "\32" and the (final) trailing space as "\32".In this example, the password begins with 2 leading blanks and ends with twotrailing blanks, and "Passwd:" is the ASK prompt: Passwd:\32 secret \32Of course, the user could also type *all* blanks as \32.In OUTPUT commands only, \B and \\B send a BREAK signal, and \L and \\L send aLong BREAK signal, and \N and \\N send a NUL (ASCII 0). BREAK and Long BREAKare special signals, not characters, and NUL is a character that normallycannot be included in a C string, since it is the C string terminator.If you really want to output a backslash followed by a B, an L, or an N (as isneeded to configure certain modems, etc), use "output \\B".(3) MULTIPLE SESSIONSC-Kermit does not support multiple sessions. When you SET LINE (or SET PORT,same thing) to a new device, or SET HOST to a new host, the previous SET LINEdevice or network host connection is closed, resulting in hangup of the modemor termination of the network connection. In windowing environments likeHP-VUE, NeXTSTEP, OS/2, etc, you can run separate copies of Kermit in differentwindows to achieve multiple sessions.To achieve multiple sessions through a single serial port (e.g. when dialingup), you can install SLIP or PPP on your computer and then use C-Kermit'sTCP/IP support over the SLIP or PPP connection, assuming you also haveTCP/IP networking installed on your computer.On UNIX systems that support the "term" program, you can establish aconnection to another UNIX system with C-Kermit and then achieve multiplesessions using "term" client programs like trsh (see ckuker.bwr and the termdocumentation for details).(4) NETWORK COMMUNICATIONIn multiuser operating systems such as UNIX and VMS, TCP/IP RLOGIN connectionsare available only to privileged users, since "login" is a privileged socket.And assuming you are allowed to use it in the first place, it is likely tobehave differently depending on what type of host you are rlogging in to, dueto technical reasons having to do with conflicting interpretations of RFC793(Out-Of-Band Data) and Rlogin (RFC1122)... "Specifically, the TCP urgentpointer in BSD points to the byte after the urgent data byte, and anRFC-compliant TCP urgent pointer points to the urgent data byte. As a result,if an application sends urgent data from a BSD-compatible implementation to anRFC-1122 compatible implementation then the receiver will read the wrongurgent data byte (it will read the byte located after the correct byte in thedata stream as the urgent data byte)." Rlogin requires the use of OOB datawhile Telnet does not. Therefore, it is possible for Telnet to work betweenall systems while BSD and System V TCP/IP implementation are almost always abad mix.On a TCP/IP TELNET connection, you should normally have PARITY set to NONE and(except in VMS C-Kermit) FLOW-CONTROL also set to NONE. If file transfer doesnot work with these settings (for example, because the remote TELNET serveronly gives a 7-bit data path), use SET PARITY SPACE. Do not use SET PARITYMARK, EVEN, or ODD on a TELNET connection -- it interferes with TELNETprotocol.If echoing does not work right after connecting to a network host or afterdialing through a TCP/IP modem server, it probably means that the TELNETserver on the far end of the connection is executing the TELNET protocolincorrectly. After initially connecting and discovering incorrect echoing(characters are echoed twice, or not at all), escape back, give the
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -