source: trunk/third/kermit/ckuker.cpp @ 10780

Revision 10780, 40.1 KB checked in by brlewis, 27 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r10779, which included commits to RCS files with non-trunk default branches.
Line 
1.\" @(#) kermit.1 6.0.192 96/09/06 Columbia University
2#ifdef COMMENT
3This man page must be run through the C-Kermit makefile before it can
4be used: "make manpage".  Or you can do the following:
5  cc -E ckuker.cpp | grep -v ^$ | grep -v ^\# > ckuker.nr
6to produce the nroff source file.  THIS FILE MUST NOT CONTAIN ANY BLANK LINES!
7Use .sp or similar commands to produce blank lines in the nroff output.
8#endif /* COMMENT */
9#ifdef SUNOS4
10#define SUNOS
11#else
12#ifdef SUNOS41
13#define SUNOS
14#else
15#ifdef SOLARIS
16#define SUNOS
17#endif
18#endif
19#endif
20#ifdef HPUX10
21.TH KERMIT 1 "6 Sep 96" "HP-UX C-Kermit"
22#define DIALOUT /dev/cul0p0
23#define HARDWIRE /dev/tty0p0
24#else
25.TH KERMIT 1C "6 Sep 96" "UNIX C-Kermit"
26#define DIALOUT /dev/cua
27#define HARDWIRE /dev/tty01
28#endif
29.SH NAME
30kermit \- C-Kermit 6.0.192 communications software for serial and network
31connections: modem dialing, file transfer and management, terminal connection,
32character-set translation, and script programming.
33.SH SYNOPSIS
34.B kermit
35[ command-file ] [ options ... ]
36.SH DESCRIPTION
37.I Kermit
38is a family of file transfer, management, and communication software programs
39from Columbia University available for most computers and operating systems.
40#ifdef HPUX10
41The version of Kermit for Hewlett-Packard HP-UX, called
42#else
43#ifdef SUNOS
44The version of Kermit for SunOS and Solaris, called
45#else
46The UNIX version of Kermit, called
47#endif
48#endif
49.IR "C-Kermit",
50#ifdef HPUX10
51supports both serial connections (direct or dialed) and TCP/IP connections.
52#else
53#ifdef SUNOS
54supports serial connections (direct or dialed),
55TCP/IP connections, and on systems equipped with
56SunLink X.25, C-Kermit can also make X.25 connections.
57#else
58supports serial connections (direct or dialed) and, in most UNIX
59implementations, also TCP/IP connections.  On SunOS systems equipped with
60SunLink X.25, C-Kermit can also make X.25 connections.
61#endif
62#endif
63C-Kermit can be thought of as a user-friendly and powerful alternative to cu,
64tip, uucp, ftp, and telnet; a single package for both network and serial
65communications, offering automation, convenience, and language features not
66found in the other packages, and having a great deal in common with its
67cousins, C-Kermit on other UNIX platforms, Kermit 95 for Windows 95 and NT and
68OS/2, MS-DOS Kermit for PCs with DOS and Windows 3.x, and IBM Mainframe
69Kermit-370 for VM/CMS, MVS/TSO, and CICS.  C-Kermit itself also runs on
70Digital VMS, Data General AOS/VS, Stratus VOS, OS-9, QNX, the BeBox, Plan 9,
71the Commodore Amiga, and elsewhere.  Together, C-Kermit, Kermit 95, MS-DOS
72Kermit, and IBM Mainframe Kermit offer a consistent and nearly universal
73approach to inter-computer communications.
74.PP
75C-Kermit 6.0.192 is Copyright (C) 1985, 1996 by the Trustees of Columbia
76University in the City of New York.  The C-Kermit software may not be, in
77whole or in part, licensed or sold for profit as a software product itself,
78nor may it be included in or distributed with commercial products or otherwise
79distributed by commercial concerns to their clients or customers without
80written permission of the Office of Kermit Development and Distribution,
81Columbia University.  This copyright notice must not be removed, altered, or
82obscured.
83.PP
84#ifdef HPUX10
85C-Kermit 6.0.192 is included with HP-UX 10.00 and later by Hewlett-Packard in
86partnership with the Kermit Project at Columbia University.
87#endif
88.PP
89C-Kermit 6.0 is thoroughly documented in the book
90.IR "Using C-Kermit"
91by Frank da Cruz and Christine M. Gianone, Digital Press, Second Edition,
921997; see REFERENCES
93at the end of this manual page.  This manual page is not a substitute for the
94book.  If you are a serious user of C-Kermit, particularly if plan to write
95C-Kermit script programs, you should purchase the manual.  Book sales are the
96primary source of funding for the nonprofit Kermit Project.
97.PP
98Any new features added since most recent edition of the book was
99published are documented in the online file
100.IR "ckermit.upd".
101Hints, tips, limitations, restrictions are listed in
102.IR "ckcker.bwr"
103(general C-Kermit) and
104.IR "ckuker.bwr"
105(UNIX-specific); see FILES below.  Please consult all of these references
106before reporting problems or asking for technical support.
107.PP
108Kermit software is available for hundreds of different computers and operating
109systems from Columbia University.  For best file-transfer results, please use
110C-Kermit in conjunction with real Columbia University Kermit software on other
111computers, such as Kermit 95 for Windows 95 and NT or MS-DOS Kermit for DOS
1123.x or Windows.  See CONTACTS below.
113.SH "MODES OF OPERATION"
114C-Kermit can be used in two "modes": remote and local.  In
115.IR "remote mode",
116you connect to the
117#ifdef HPUX10
118HP-UX
119#else
120UNIX
121#endif
122system from a desktop computer
123and transfer files between your desktop computer and
124#ifdef HPUX10
125HP-UX
126#else
127UNIX
128#endif
129C-Kermit.  In that
130case, connection establishment (dialing, TELNET connection, etc) is handled
131by the Kermit program on your desktop computer.
132.PP
133In
134.IR "local mode",
135C-Kermit establishes a connection to another computer
136by direct serial connection, by dialing a modem, or by making a network
137connection.  When used in local mode, C-Kermit gives you a terminal connection
138to the remote computer, using your actual terminal, emulator, or UNIX
139workstation terminal window or console driver for specific terminal emulation.
140.PP
141C-Kermit also has two types of commands: the familiar UNIX-style command-line
142options, and an interactive dialog with a prompt.
143.IR "Command-line options"
144give
145you access to a small but useful subset of C-Kermit's features for terminal
146connection and file transfer, plus the ability to pipe files into or out of
147Kermit for transfer.
148.PP
149.IR "Interactive commands"
150give you access to dialing, script programming,
151character-set translation, and, in general, detailed control and display of all
152C-Kermit's features.  Interactive commands can also be collected into command
153files or macros.
154.PP
155.SH "STARTING C-KERMIT"
156.PP
157#ifdef HPUX10
158You can start C-Kermit by typing "/usr/bin/kermit", or just "kermit" if your
159PATH includes "/usr/bin", possibly followed by command-line options.
160#else
161C-Kermit should be available as "kermit" somewhere in your PATH, perhaps as
162/usr/local/bin/kermit, in which case you can
163start C-Kermit just by typing "kermit", possibly followed by command-line
164options.
165#endif
166If there are no "action options" on the command line (explained
167below), C-Kermit starts in interactive command mode; you will see a greeting
168message and then the "C-Kermit>" prompt.  If you do include action options on
169the command line, C-Kermit takes the indicated actions and then exits directly
170back to UNIX.  Either way, C-Kermit executes the commands in its
171initialization file,
172#ifdef HPUX10
173.IR "/usr/share/lib/kermit/ckermit.ini" ,
174#else
175.IR ".kermrc" ,
176in your home directory (or a system-wide directory if C-Kermit was built to
177do this)
178#endif
179before it executes any other commands, unless you have
180included the `\|\c
181.B \-Y\c
182\&\|' (uppercase) command-line option, which means to skip the
183initialization file, or you have included the `\|\c
184.B -y \c
185\&\|
186.IR "filename" \c
187\&\|'
188option to specify an alternative initialization file.
189.PP
190.SH "FILE TRANSFER"
191.PP
192Here is the most common scenario for Kermit file transfer.  Many other
193methods are possible, most of them more convenient, but this basic method
194should work in all cases.
195.PP
196.in +0.5i
197.ll -0.5i
198.ta +0.2i
199.ti -0.2i
200\(bu    Start Kermit on your local computer and establish a connection to the
201remote computer.  If C-Kermit is on your local
202computer, use the sequence SET MODEM TYPE
203.IR "modem-name" \c
204\&\|, SET LINE
205.IR "device-name" \c
206\&\|, SET SPEED
207.IR "bits-per-second" \c
208\&\|, and DIAL
209.IR "phone-number"
210if you are dialing; SET LINE and SPEED for direct connections;
211SET NETWORK
212.IR "network-type"
213and SET HOST
214.IR "host-name-or-address"
215for network connections.
216.sp
217.ti -0.2i
218\(bu    SET any other necessary communication parameters, such as PARITY,
219DUPLEX, and FLOW-CONTROL.
220.sp
221.ti -0.2i
222\(bu    Give the CONNECT command.
223.sp
224.ti -0.2i
225\(bu    Log in to the remote computer.
226.sp
227.ti -0.2i
228\(bu    Start Kermit on the remote computer, give it any desired SET commands
229for file-, communication-, or protocol-related parameters.  If you will be
230transferring binary files, give the command SET FILE TYPE BINARY to the
231Kermit program that will be sending them.
232.sp
233.ti -0.2i
234\(bu    To
235.IR download
236a file or file group, give the remote Kermit a SEND command, following by
237a filename or "wildcard" file specification, for example:
238.nf
239.sp
240  send oofa.txt            (send one file)
241.sp
242.fi
243or:
244.nf
245.sp
246  send oofa.*              (send a group of files)
247.sp
248.fi
249To
250.IR upload
251a file or files, give the remote Kermit a RECEIVE command.  The sending Kermit
252will tell the receiving Kermit the name (and other attributes) of each file.
253.sp
254.ti -0.2i
255\(bu    Escape back to the Kermit program on your local (desktop) computer.  If
256your local computer is running C-Kermit, type Ctrl-\\ c (Control-backslash
257followed by the letter 'c') (on NeXT workstations, use Ctrl-] c).  If MS-DOS
258or OS/2 or Windows Kermit, use Alt-x (hold down the Alt key, press 'x').  Now
259you should see your local Kermit program's prompt.
260.sp
261.ti -0.2i
262\(bu    If you will be transferring binary files, give the command SET FILE
263TYPE BINARY to the Kermit program that is sending the files.
264.sp
265.ti -0.2i
266\(bu    If you are
267.IR downloading
268files, tell the local Kermit program to RECEIVE.  If you are
269.IR "uploading",
270give your local Kermit program a SEND command, specifying a filename
271or wildcard file specification.  In other words, tell the
272.IR remote
273Kermit program what to do first, SEND or RECEIVE, then escape back to
274the
275.IR local
276Kermit and give it the opposite command, RECEIVE or SEND.
277.sp
278.ti -0.2i
279\(bu When the transfer is complete, give a CONNECT command.  Now you are
280talking to Kermit on the remote computer again.  Type EXIT to get back to the
281command prompt on the remote computer.  When you are finished using the remote
282computer, log out and then (if necessary) escape back to Kermit on your local
283computer.  Then you can make another connection or EXIT from the local Kermit
284program.
285.ll +0.5i
286.in -0.5i
287.fi
288.PP
289C-Kermit's file transfer protocol defaults are deliberately conservative,
290resulting in file transfer that almost always works, but might be somewhat
291slow.  To increase file transfer performance on computers and connections that
292permit it, use SET RECEIVE PACKET-LENGTH to increase the packet length, SET
293WINDOW to increase the packet window size, and use SET PREFIXING to reduce the
294overhead of control-character prefixing.  (Hint: try the
295.IR FAST
296command to enable all these performance options at once.)  On serial
297connections, use hardware flow control (SET FLOW RTS/CTS) if available, rather
298than software (XON/XOFF) flow control.  On TCP/IP connections, SET FLOW NONE.
299For details, including benchmarks, read Chapter 12 of
300.IR "Using C-Kermit".
301.SH OTHER FEATURES
302C-Kermit includes features too numerous to be explained in a man page.  For
303further information about connection establishment, modem dialing, networks,
304terminal connection, key mapping, logging, file transfer options and features,
305troubleshooting, client/server operation, character-set translation during
306terminal connection and file transfer, "raw" up- and downloading of files,
307macro construction, script programming, convenience features, and shortcuts,
308plus numerous tables, examples, and illustrations, please consult
309.IR "Using C-Kermit".
310.SH HELP
311.PP
312C-Kermit has extensive built-in help.  You can find out what commands exist by
313typing ? at the C-Kermit> prompt.  You can type HELP at the C-Kermit> prompt
314for "getting-started" message, or HELP followed by the name
315of a particular command for information about that command, for example:
316.nf
317.sp
318  help send
319.sp
320.fi
321or:
322.nf
323.sp
324  help set file
325.sp
326.fi
327You can type ? anywhere within a command to get brief help about the
328current command field.  You can also type the INTRO command to get a brief
329introduction to C-Kermit, and the NEWS command to find out what's new in
330your version.  Finally, you can use the BUG command to learn how to report
331bugs.
332.sp
333.SH "ENTERING COMMANDS"
334.sp
335You can use upper or lower case for interactive-mode commands, but remember
336that UNIX filenames are case-sensitive.  You can abbreviate commands as long
337as the abbreviation matches only one possibility.  While typing a command, you
338can use the following editing characters:
339.nf
340.sp
341  Delete, Backspace, or Rubout erases the rightmost character.
342  Ctrl-W erases the rightmost "word".
343  Ctrl-U erases the current command line.
344  Ctrl-R redisplays the current command.
345  Ctrl-P recalls a previous command (scrolls back in command buffer).
346  Ctrl-N scrolls forward in a scrolled-back command buffer.
347  Ctrl-C cancels the current command.
348  Tab, Esc, or Ctrl-I tries to complete the current keyword or filename.
349  ? gives help about the current field.
350.sp
351.fi
352To enter the command and make it execute, press the Return or Enter key.
353.sp
354.SH BACKSLASH NOTATION
355Within an interactive command, the "\\" character (backslash) is a prefix used
356to enter special quantities, including ordinary characters that would
357otherwise be illegal.  At the end of a line, \\ or - (dash) makes the next
358line a continuation of the current line.  Other than that, the character
359following the \\ identifies what the special quantity is:
360.nf
361.sp
362  % A user-defined simple (scalar) variable such as \\%a or \\%1
363  & an array reference such as \\&a[3]
364  $ an environment variable such as \\$(TERM)
365  v (or V) a built-in variable such as \\v(time)
366  f (or F) a function such as \\Fsubstring(\\%a,3,2)
367  d (or D) a decimal (base 10) number (1 to 3 digits, 0..255) such as \\d27
368  o (or O) an octal (base 8) number (1 to 3 digits, 0..377) such as \\o33
369  x (or X) a hexadecimal (base 16) number (2 digits, 00..ff) like \\x1b
370  \\ the backslash character itself
371  b (or B) the BREAK signal (OUTPUT command only)
372  l (or L) a Long BREAK signal (OUTPUT only)
373  n (or n) a NUL (0) character (OUTPUT only)
374  a decimal digit (a 1-, 2-, or 3-digit decimal number) such as \\27
375  {} used for grouping, e.g. \\{27}123
376  anything else: following character taken literally.
377.sp
378.fi
379Note that numbers turn into the character with that binary code (0-255), so
380you can use \\7 for a bell, \\13 for carriage return, \\10 for linefeed.
381For example, to have C-Kermit send a BELL to your screen, type:
382.nf
383.sp
384  echo \\7
385.sp
386.fi
387.SH "COMMAND LIST"
388.PP
389The commands most commonly used, and important for beginners to
390know, are marked with "*":
391.nf
392.in 0
393.ll 80
394.ta 16
395.sp
396Program Management:
397  BUG   Learn how to report bugs.
398  CHECK See if a particular feature is configured.
399  CLOSE Close a log or other local file.
400  COMMENT       Introduce a full-line comment.
401  DATE  Display current date & time.
402* EXIT  Leave the program, return to UNIX.
403* HELP  Display a help message for a given command.
404* INTRO Print a brief introduction to C-Kermit.
405  LOG   Open a log file -- debugging, packet, session, transaction.
406  PUSH  Invoke local system's interactive command interpreter.
407  QUIT  Synonym for EXIT.
408  REDIRECT      Redirect standard i/o of command to communication device.
409  RUN   Run a program or system command.
410  SET COMMAND   Command-related parameters: bytesize, recall buffer size.
411  SET DEBUG     Log or display debugging information.
412  SET EXIT      Items related to C-Kermit's action upon exit or SET LINE/HOST.
413  SET PROMPT    The C-Kermit program's interactive command prompt.
414  SHOW EXIT     Display SET EXIT parameters.
415  SHOW FEATURES Show features that C-Kermit was built with.
416  SHOW VERSIONS Show version numbers of each source module.
417  SUSPEND       Suspend Kermit (use only if shell supports job control!).
418* SHOW  Display values of SET parameters.
419* TAKE  Execute commands from a file.
420  VERSION       Display the C-Kermit program version number.
421  Z     Synonym for SUSPEND.
422  Ctrl-C        Interrupt a C-Kermit command in progress.
423  Ctrl-Z        Synonym for SUSPEND.
424  ; or #        Introduce a full-line or trailing comment.
425  ! or @        Synonym for RUN.
426  <     Synonym for REDIRECT.
427.sp
428Connection Establishment and Release:
429* DIAL  Dial a telephone number.
430* HANGUP        Hang up the phone or network connection.
431  PAD   Command for X.25 PAD (SunOS / Solaris / VOS only).
432  PING  Check status of remote TCP/IP host.
433  REDIAL        The the most recently DIALed number again.
434  SET CARRIER   Treatment of carrier on terminal connections.
435* SET DIAL      Parameters related to modem dialing.
436* SET FLOW      Communication line flow control: AUTO, RTS/CTS, XON/XOFF, etc.
437* SET HOST      Specify remote network host name or address.
438#ifdef HPUX10
439* SET LINE      Specify serial communication device name, like /dev/cul0p0.
440#else
441* SET LINE      Specify serial communication device name, like /dev/cua.
442#endif
443* SET MODEM TYPE        Specify type of modem on SET LINE device, like HAYES.
444* SET NETWORK   Network type, TCP/IP or X.25 (SunOS / Solaris / VOS only).
445  SET TCP       Specify TCP protocol options (advanced).
446  SET TELNET    Specify TELNET protocol options.
447  SET PAD       X.25 X.3 PAD parameters (SunOS / Solaris / VOS only).
448* SET PARITY    Character parity (none, even, etc) for communications.
449* SET SPEED     Serial communication device speed, e.g. 2400, 9600, 57600.
450  SET X.25      Specify X.25 connection parameters (SunOS/Solaris/VOS only).
451  SHOW COMM     Display all communications settings.
452  SHOW DIAL     Display SET DIAL values.
453  SHOW MODEM    Display modem type, signals, etc.
454  SHOW NETWORK  Display network-related items.
455* TELNET        = SET NETWORK TCP/IP, SET HOST ..., CONNECT.
456  TELOPT        Send a TELNET option negotiation (advanced).
457.sp
458Terminal Connection:
459* C     Special abbreviation for CONNECT.
460* CONNECT       Establish a terminal connection to a remote computer.
461  SET COMMAND   Bytesize between C-Kermit and your keyboard and screen.
462* SET DUPLEX    Specify which side echoes during CONNECT.
463  SET ESCAPE    Prefix for "escape commands" during CONNECT.
464  SET KEY       Key mapping and macros for use in CONNECT mode.
465  SET TERMINAL  Terminal connection items: bytesize, character-set, echo, etc.
466  SHOW ESCAPE   Display current CONNECT-mode escape character.
467  SHOW KEY      Display keycode and assigned value or macro.
468  SHOW TERMINAL Display SET TERMINAL items.
469* Ctrl-\\       CONNECT-mode escape character, follow by another character:
470          C to return to C-Kermit> prompt.
471          B to send BREAK signal.
472          ? to see other options.
473.sp
474File Transfer:
475  ADD   Add a file specification to the SEND-LIST
476  LOG SESSION   Download a file with no error checking.
477  MOVE  Send a file and then delete it
478  MMOVE Multiple MOVE - accepts a list of files, separated by spaces.
479  MSEND Multiple SEND - accepts a list of files, separated by spaces.
480* RECEIVE       Passively wait for files to arrive from other Kermit.
481* R     Special abbreviation for RECEIVE.
482* SEND  Send files.
483* S     Special abbreviation for SEND.
484  REGET Continue a incomplete download from a server.
485  RESEND        Continue a incomplete upload.
486  PSEND Send part of a file.
487  SET ATTRIB    Control transmission of file attributes.
488* SET BLOCK     Choose error-checking level, 1, 2, or 3.
489  SET BUFFERS   Size of send and receive packet buffers.
490  SET PREFIX    Which control characters to "unprefix" during file transfer.
491  SET DELAY     How long to wait before sending first packet.
492  SET DESTINATION       DISK, PRINTER, or SCREEN for incoming files.
493* SET FILE      Transfer mode (type), character-set, collision action, etc.
494* SET RECEIVE   Parameters for inbound packets: packet-length, etc.
495  SET REPEAT    Repeat-count compression parameters.
496  SET RETRY     Packet retransmission limit.
497  SET SEND      Parameters for outbound packets: length, etc.
498  SET HANDSHAKE Communication line half-duplex packet turnaround character.
499  SET LANGUAGE  Enable language-specific character-set translations.
500  SET SESSION-LOG       File type for session log, text or binary.
501  SET TRANSFER  File transfer parameters: character-set, display, etc.
502  SET TRANSMIT  Control aspects of TRANSMIT command execution.
503  SET UNKNOWN   Specify handling of unknown character sets.
504* SET WINDOW    File transfer packet window size, 1-31.
505  SHOW ATTRIB   Display SET ATTRIBUTE values.
506  SHOW CONTROL  Display control-character prefixing map.
507* SHOW FILE     Display file-related settings.
508  SHOW PROTOCOL Display protocol-related settings.
509  SHOW LANGUAGE Display language-related settings.
510  SHOW TRANSMIT Display SET TRANSMIT values.
511* STATISTICS    Display statistics about most recent file transfer.
512  TRANSMIT      Upload a file with no error checking.
513  XMIT  Synonym for TRANSMIT.
514.sp
515File Management:
516* CD    Change Directory.
517* DELETE        Delete a file or files.
518* DIRECTORY     Display a directory listing.
519  MAIL  Send a file to other Kermit, to be delivered as e-mail.
520  PRINT Print a local file on a local printer.
521* PWD   Display current working directory.
522  RENAME        Change the name of a local file.
523  SET PRINTER   Choose printer device.
524  SPACE Display current disk space usage.
525  SHOW CHARACTER-SETS   Display character-set translation info.
526  TRANSLATE     Translate a local file's character set.
527  TYPE  Display a file on the screen.
528  XLATE Synonym for TRANSLATE.
529.sp
530Client/Server operation:
531  BYE   Terminate a remote Kermit server and log out its job.
532  DISABLE       Disallow access to selected features during server operation:
533  E-PACKET      Send an Error packet.
534  ENABLE        Allow access to selected features during server operation.
535  FINISH        Instruct a remote Kermit server to exit, but not log out.
536  G     Special abbreviation for GET.
537  GET   Get files from a remote Kermit server.
538  RETRIEVE      Like GET but server deletes files after.
539  REMOTE xxx    Command for server, can be redirected with > or |.
540  REMOTE CD     Tell remote Kermit server to change its directory.
541  REMOTE ASSIGN Assign a variable
542  REMOTE DELETE Tell server to delete a file.
543  REMOTE DIRECTORY      Ask server for a directory listing.
544  REMOTE HELP   Ask server to send a help message.
545  REMOTE HOST   Ask server to ask its host to execute a command.
546  REMOTE KERMIT Send an interactive Kermit command to the server.
547  REMOTE LOGIN  Authenticate yourself to a remote Kermit server.
548  REMOTE LOGOUT Log out from a Kermit server previously LOGIN'd to.
549  REMOTE PRINT  Print a local file on the server's printer.
550  REMOTE QUERY  Get value of a variable.
551  REMOTE SET    Send a SET command to a remote server.
552  REMOTE SPACE  Ask server how much disk space it has left.
553  REMOTE TYPE   Ask server to display a file on your screen.
554  REMOTE WHO    Ask server for a "who" or "finger" listing.
555  SERVER        Be a Kermit server.
556  SET SERVER    Parameters for server operation.
557  SHOW SERVER   Show SET SERVER, ENABLE/DISABLE items.
558.sp
559Script programming:
560  ASK   Prompt the user, store user's reply in a variable.
561  ASKQ  Like ASK, but, but doesn't echo (useful for passwords).
562  ASSIGN        Assign an evaluated string to a variable or macro.
563  CLEAR Clear communication device input buffer.
564  CLOSE Close a log or other local file.
565  DECLARE       Declare an array.
566  DECREMENT     Subtract one (or other number) from a variable.
567  DEFINE        Define a variable or macro.
568  DO    Execute a macro ("DO" can be omitted).
569  ECHO  Display text on the screen.
570  ELSE  Used with IF.
571  END   A command file or macro.
572  EVALUATE      an arithmetic expression.
573  FOR   Execute commands repeatedly in a counted loop.
574  FORWARD       GOTO in the forward direction only.
575  GETC  Issue a prompt, get one character from keyboard.
576  GETOK Ask question, get Yes or No answer, set SUCCESS or FAILURE.
577  GOTO  Go to a labeled command in a command file or macro.
578  IF    Conditionally execute the following command.
579  INCREMENT     Add one (or other number) to a variable.
580  INPUT Match characters from another computer against a given text.
581  LOCAL Declares local variables in a macro
582  MINPUT        Like INPUT, but allows several match strings.
583  MSLEEP        Sleep for given number of milliseconds.
584  OPEN  Open a local file for reading or writing.
585  O     Special abbreviation for OUTPUT.
586  OUTPUT        Send text to another computer.
587  PAUSE Do nothing for a given number of seconds.
588  READ  Read a line from a local file into a variable.
589  REINPUT       Reexamine text previously received from another computer.
590  RETURN        Return from a user-defined function.
591  SCRIPT        Execute a UUCP-style login script.
592  SET ALARM     Set a timer to be used with IF ALARM; SHOW ALARM shows it.
593  SET CASE      Treatment of alphabetic case in string comparisons.
594  SET COMMAND   QUOTING turns on/off interpretation of backslash notation.
595  SET COUNT     For counted loops.
596  SET INPUT     Control behavior of INPUT command.
597  SET MACRO     Control aspects of macro execution.
598  SET TAKE      Control aspects of TAKE file execution.
599  SHOW ARGUMENTS        Display arguments to current macro.
600  SHOW ARRAYS   Display information about active arrays.
601  SHOW COUNT    Display current COUNT value.
602  SHOW FUNCTIONS        List names of available \\f() functions.
603  SHOW GLOBALS  List defined global variables \\%a..\\%z.
604  SHOW MACROS   List one or more macro definitions.
605  SHOW SCRIPTS  Show script-related settings.
606  SHOW VARIABLES        Display values all \\v() variables.
607  SLEEP Sleep for given number of seconds.
608  STOP  Stop executing macro or command file, return to prompt.
609  UNDEFINE      Undefine a variable
610  WAIT  Wait for the specified modem signals.
611  WHILE Execute commands repeatedly while a condition is true.
612  WRITE Write material to a local file.
613  WRITE-LINE    Write a line (record) to a local file.
614  WRITELN       Synonym for WRITE-LINE.
615  XECHO Like ECHO but no CRLF at end.
616  XIF   Extended IF command.
617.ll
618.in
619.fi
620.SH "BUILT-IN VARIABLES"
621Built-in variables are referred to by \\v(name), can be used in any command,
622usually used in script programming.  They cannot be changed.  Type SHOW
623VARIABLES for a current list.
624.nf
625.sp
626  \\v(argc)      number of arguments in current macro
627  \\v(args)      number of program command-line arguments
628  \\v(charset)   current file character-set
629  \\v(cmdfile)   name of current command file, if any
630  \\v(cmdlevel)  current command level
631  \\v(cmdsource) where command are currently coming from, macro, file, etc.
632  \\v(cols)      number of screen columns
633  \\v(connection)connection type: serial, tcp/ip, etc.
634  \\v(count)     current COUNT value
635  \\v(cps)       speed of most recent file transfer in chars per second
636  \\v(cpu)       CPU type C-Kermit was built for
637  \\v(crc16)     16-bit CRC of most recent file transfer
638  \\v(d$ac)      SET DIAL AREA-CODE value
639  \\v(d$cc)      SET DIAL COUNTRY-CODE value
640  \\v(d$ip)      SET DIAL INTL-PREFIX value
641  \\v(d$lc)      SET DIAL LD-PREFIX value
642  \\v(date)      date as 8 Feb 1993
643  \\v(day)       day of week
644  \\v(directory) current/default directory
645  \\v(dialstatus)return code from DIAL command (0 = OK, 22 = BUSY, etc)
646  \\v(download)  current download directory if any
647  \\v(errno)     current "errno" (system error number) value
648  \\v(errstring) error message string associated with errno
649  \\v(evaluate)  result of most recent EVALUATE command
650  \\v(exitstatus)current EXIT status (0 = good, nonzero = something failed)
651  \\v(filespec)  filespec given in most recent SEND/RECEIVE/GET command
652  \\v(fsize)     size of file most recently transferred
653  \\v(ftype)     SET FILE TYPE value (text, binary)
654  \\v(home)      home directory
655  \\v(host)      computer host name (comuter where C-Kermit is running)
656  \\v(input)     current INPUT buffer contents
657  \\v(inchar)    character most recently INPUT
658  \\v(incount)   how many characters arrived during last INPUT
659  \\v(inidir)    directory where initialization file was found
660  \\v(instatus)  status of most recent INPUT command
661  \\v(line)      current communications device, set by LINE or HOST
662  \\v(local)     0 if in remote mode, 1 if in local mode
663  \\v(macro)     name of currently executing macro, if any
664  \\v(minput)    Result of most recent MINPUT command
665  \\v(modem)     Current modem type
666  \\v(m_aa_off)  Modem command to turn autoanswer off
667  \\v(m_aa_on)   Modem command to turn autoanswer on
668  \\v(m_dc_off)  Modem command to turn data compression off
669  \\v(m_dc_on)   Modem command to turn data compression on
670  \\v(m_dial)    Telephone number most recently dialed
671  \\v(m_ec_off)  Modem command to turn error correction off
672  \\v(m_ec_on)   Modem command to turn error correction on
673  \\v(m_fc_hw)   Modem command to turn hardware flow control on
674  \\v(m_fc_no)   Modem command to turn flow control off
675  \\v(m_fc_sw)   Modem command to turn software flow control on
676  \\v(m_hup)     Modem command to hang up connection
677  \\v(m_init)    Modem initialization string
678  \\v(m_pulse)   Modem command to select pulse dialing
679  \\v(m_tone)    Modem command to select tone dialing
680  \\v(ndate)     Current date as 19930208 (yyyymmdd)
681  \\v(nday)      Numeric day of week (0 = Sunday)
682  \\v(newline)   System-independent newline character or sequence
683  \\v(ntime)     Current local time in seconds since midnight (noon = 43200)
684  \\v(packetlen) Current SET RECEIVE PACKET-LENGTH value
685  \\v(parity)    Current parity setting
686  \\v(platform)  Specific machine and/or operating system
687  \\v(program)   Name of this program ("C-Kermit")
688  \\v(query)     Result of most recent REMOTE QUERY command
689  \\v(protocol)  Currently selected file transfer protocol
690  \\v(return)    Most recent RETURN value
691  \\v(rows)      Number of rows on the terminal screen
692  \\v(speed)     Current speed, if known, or "unknown"
693  \\v(status)    0 or 1 (SUCCESS or FAILURE of previous command)
694  \\v(sysid)     Kermit attribute code for system ID
695  \\v(system)    UNIX
696  \\v(terminal)  Terminal type
697  \\v(tfsize)    Total size of file group most recently transferred
698  \\v(time)      Time as 13:45:23 (hh:mm:ss)
699  \\v(tmpdir)    Temporary directory
700  \\v(ttyfd)     File descriptor of current communication device
701  \\v(version)   Numeric version of Kermit, e.g. 501190.
702  \\v(window)    Current window size (SET WINDOW value)
703.fi
704.SH "BUILT-IN FUNCTIONS"
705Builtin functions are invoked as \\Fname(args), can be used in any command,
706and are usually used in script programs.  Type SHOW FUNCTIONS for a current
707list.
708.nf
709.sp
710   \\Fbasename(file)    basename of file
711   \\Fbreak(s,c)        left substring of s up to 1st occurence of char c
712   \\Fcapitalize(s)     uppercase first letter of s and lowercase the rest
713   \\Fcharacter(arg)    convert numeric arg to character
714   \\Fchecksum(s)       32-bit arithmetic checksum of string s
715   \\Fcode(char)        numeric code for character
716   \\Fcontents(v)       return current definition of variable
717   \\Fcrc16(s)          16-bit CRC of string s
718   \\Fdate(filename)    return file's modification date/time
719   \\Fdefinition(m)     return current definition of macro
720   \\Feval(expr)        evaluate arithmetic expression
721   \\Fexecute(m,a,b,..) execute macro "m" with arguments "a", "b", etc
722   \\Ffiles(f)          number of files matching file spec
723   \\Fhexify(s)         translate s into a hexadecimal string
724   \\Findex(a1,a2,a3)   position of string a1 in a2, starting at pos a3
725   \\Fipaddress(s)      returns first IP address from string s
726   \\Flength(arg)       length of the string "arg"
727   \\Fliteral(arg)      copy argument literally, no evaluation
728   \\Flower(arg)        convert to lower case
729   \\Flpad(text,n,c)    left pad text to length n with char c
730   \\Fltrim(s)          Trim whitespace from left of s
731   \\Fmax(a1,a2)        max of two numbers
732   \\Fmin(a1,a2)        min of two numbers
733   \\Fmodulus(n1,n2)    modulus n2 of integer n1
734   \\Fnextfile()        next file name from list in last \\Ffiles()
735   \\Fpathname(file)    full pathname of file
736   \\Frepeat(a1,a2)     repeat a1 a2 times
737   \\Freplace(a1,a2,a3) replace a2 by a3 in a1
738   \\Freverse(arg)      reverse characters in arg
739   \\Fright(a1,a2)      rightmost a2 characters of string a1
740   \\Frindex(a1,a2,a3)  like \\Findex, but searching from right
741   \\Frpad(text,n,c)    right pad text to length n with char c
742   \\Fsize(filename)    return file's length in bytes
743   \\Fspan(a1,a2)       left substring of a1 containing only chars from a2
744   \\Fsubstr(a1,a2,a3)  substring of a1, starts at a2, length a3
745   \\Ftod2secs(s)       converts hh:mm:ss to seconds since midnight
746   \\Ftrim(s)           removes trailing whitespace from s
747   \\Funhexify(s)       converts a hexacimal string s back to original
748   \\Fupper(s)          converts s to upper case
749   \\Fverify(a1,a2,n)   returns index of 1st char in a2 that is not in a1
750                        starting at position n of a2.
751.sp
752.fi
753\\Feval() allows the following operators in the expression.  The expression
754can contain variables.  Only integer arithmetic is supported.
755Precedences are shown as numbers, 1 is highest
756precedence, 6 is lowest.
757.in +.2i
758.nf
759.ta \w'n @ n  'u +\w'5   'u
760.sp
761( )     1       parentheses
762n !     2       factorial
763~ n     3       logical NOT
764- n     4       negative
765n ^ n   4       power
766n * n   5       multiplication
767n / n   5       division
768n % n   5       modulus
769n & n   5       logical AND
770n + n   6       plus
771n - n   6       minus
772n | n   6       logical OR
773n # n   6       exclusive OR
774n @ n   6       greatest common divisor
775.sp
776.fi
777.SH "COMMAND LINE OPTIONS"
778.PP
779C-Kermit accepts commands (or "options") on the command line, in the
780time-honored UNIX style.  Alphabetic case is significant.  All options
781are optional.  If one or more action options are included, Kermit exits
782immediately after executing the command-line options, otherwise it enters
783interactive command mode.
784.nf
785.ll 80
786.sp
787  kermit [filename] [-x arg [-x arg]...[-yyy]..]]
788.sp
789where:
790.sp
791  filename is the name of a command file to execute,
792  -x is an option requiring an argument,
793  -y an option with no argument.
794.ta 15
795.sp
796Actions:
797  -s files      send files
798  -s -  send files from stdin
799  -r    receive files
800  -k    receive files to stdout
801  -x    enter server mode
802  -f    finish remote server
803  -g files      get remote files from server (quote wildcards)
804  -a name       alternate file name, used with -s, -r, -g
805  -c    connect (before file transfer), used with -l or -j
806  -n    connect (after file transfer), used with -l or -j
807.sp
808Settings:
809  -l line       communication line device (to make a serial connection)
810  -l n  open file descriptor of communication device
811  -j host       TCP/IP network host name (to make a network connection)
812  -J host       Connect like TELNET, exit when connection closes
813  -l n  open file descriptor of TCP/IP connection (n = number)
814  -X    X.25 network address
815  -Z    open file descriptor of X.25 connection
816  -o n  X.25 closed user group call info
817  -u    X.25 reverse-charge call
818  -q    quiet during file transfer
819  -8    8-bit clean
820  -i    transfer files in binary mode
821  -T    transfer files in text mode
822  -b bps        serial line speed, e.g. 1200
823  -m name       modem type, e.g. hayes
824  -p x  parity, x = e,o,m,s, or n
825  -t    half duplex, xon handshake
826  -e n  receive packet-length
827  -v n  window size
828  -Q    Quick file-transfer settings
829  -w    write over files of same name, don't backup old file
830  -D n  delay n seconds before sending a file
831.sp
832Other:
833  -y name       alternate init file name
834  -Y    Skip init file
835  -R    Advise C-Kermit it will be used only in remote mode
836  -d    log debug info to file debug.log
837  -S    Stay, don't exit, after action command
838  -C "cmds"     Interactive-mode commands, comma-separated
839  -z    Force foreground operation
840  -B    Force background (batch) operation
841  -h    print command-line option help screen
842  =     Ignore all text that follows
843.sp
844Remote-mode example (C-Kermit is on the far end):
845.nf
846.sp
847  kermit -v 4 -i -s oofa.bin
848.sp
849.fi
850sends file oofa.bin in binary mode (-i) using a window size of 4 (-v 4).
851.sp
852Local-mode example (C-Kermit makes the connection):
853.nf
854.sp
855  kermit -l HARDWIRE -b 19200 -c -r -n
856.sp
857.fi
858makes a 19200-bps direct connection out through HARDWIRE, CONNECTs (-c) so you
859can log in and, presumably start a remote Kermit program and tell it to send a
860file, then it RECEIVEs the file (-r), then it CONNECTs back (-n) so you can
861finish up and log out.
862.sp
863For dialing out, you must specify a modem type, and you might have to use a
864different device name:
865.nf
866.sp
867  kermit -m hayes -l DIALOUT -b 2400 -c -r -n
868.ll
869.in
870.fi
871.SH FILES
872.nf
873.ta 16
874#ifndef HPUX10
875$HOME/.kermrc   Standard C-Kermit initialization commands.
876#endif /* HPUX10 */
877$HOME/.mykermrc Your personal C-Kermit customization file.
878$HOME/.kdd      Your personal dialing directory.
879$HOME/.ksd      Your personal services directory.
880#ifdef HPUX10
881.sp
882/usr/share/lib/kermit/READ.ME      Overview of HP-UX C-Kermit, please read
883/usr/share/lib/kermit/ckermit.ini  System-wide initialization file
884/usr/share/lib/kermit/ckermod.ini  Sample customization file
885/usr/share/lib/kermit/ckermit.kdd  Sample dialing directory
886/usr/share/lib/kermit/ckermit.ksd  Sample services directory
887/usr/share/lib/kermit/ckermit.upd  Supplement to "Using C-Kermit"
888/usr/share/lib/kermit/ckermit.bwr  C-Kermit "beware" file - hints & tips
889/usr/share/lib/kermit/ckuker.bwr   UNIX-specific beware file
890/usr/share/lib/kermit/ckedemo.ksc  Macros from "Using C-Kermit"
891/usr/share/lib/kermit/ckevt.ksc    Ditto
892/usr/share/lib/kermit/ckepage.ksc  Alpha pager script
893/var/spool/locks/LCK..*            UUCP lockfiles
894#else
895.fi
896.PP
897The following should be in a publicly accessible plain-text documentation area,
898such as usr/local/lib/kermit, /usr/local/doc, or /usr/share/lib/kermit, or
899available via an information server such as gopher, or by ftp from Columbia:
900.nf
901.ta 16
902.sp
903ckaaaa.hlp      Explanation of C-Kermit files.
904ckermit.ini     Standard initialization file.
905ckermod.ini     Sample C-Kermit customization file.
906ckermit.kdd     Sample dialing directory.
907ckermit.ksd     Sample services directory.
908ckermit.upd     Supplement to "Using C-Kermit".
909ckcker.bwr      C-Kermit "beware" file - hints & tips.
910ckuker.bwr      UNIX-specific beware file.
911ckedemo.ini     Demonstration macros from "Using C-Kermit".
912ckevt.ini       Ditto.
913ckepager.ksc    Alpha pager script.
914#endif
915.fi
916.PP
917#ifndef HPUX10
918If C-Kermit has not been installed on your system with the system-wide
919initialization file feature, then the ckermit.ini file should be copied to
920your home (login) directory and renamed to
921.IR ".kermrc" .
922You should not modify
923this file.
924.sp
925#endif
926To make
927.IR "personalized customizations" ,
928copy the file
929#ifdef HPUX10
930/usr/share/lib/kermit/ckermod.ini
931#else
932ckermod.ini
933#endif
934file to your home directory, make any desired changes, and rename it to
935.IR ".mykermrc" .
936.sp
937You may also create a personalized
938.IR "dialing directory"
939like the sample one in
940#ifdef HPUX10
941/usr/share/lib/kermit/ckermit.kdd.
942#else
943ckermit.kdd.
944#endif
945Your personalized dialing directory
946should be stored in your home directory as
947.IR ".kdd"
948and your personal network directory as
949.IR ".knd" .
950See Chapters 5 and 6 of
951.IR "Using C-Kermit"
952for details.
953.sp
954And you may also create a personalized
955.IR "services directory"
956like the sample one in
957#ifdef HPUX10
958/usr/share/lib/kermit/ckermit.ksd.
959#else
960ckermit.ksd.
961#endif
962Your personalized services directory should be stored in your home directory as
963.IR ".ksd" .
964See Chapter 7 of
965.I "Using C-Kermit"
966for instructions.
967.sp
968The demonstration files illustrate C-Kermit's script programming constructs;
969they are discussed in chapters 17-19 of the book.  You can run them by typing
970the appropriate TAKE command at the C-Kermit> prompt, for example:
971"take /usr/share/lib/kermit/ckedemo.ini".
972.PD
973.SH AUTHORS
974Frank da Cruz, Columbia University, with contributions from hundreds of
975other volunteer programmers all over the world.  See Acknowledgements in
976.IR "Using C-Kermit".
977.SH REFERENCES
978.TP
979Frank da Cruz and Christine M. Gianone,
980.IR "Using C-Kermit",
981Second Edition, 1997, 622 pages,
982Digital Press / Butterworth-Heinemann, 225 Wildwood Street,
983Woburn, MA 01801, USA.
984ISBN 1-55558-164-1.  (In the USA, call +1 800 366-2665 to order Digital Press
985books.)  Also available in a German edition from Verlag Heinze Heise,
986Hannover.
987.sp
988.TP
989Frank da Cruz,
990.IR "Kermit, A File Transfer Protocol",
991Digital Press / Butterworth-Heinemann, Woburn, MA, USA (1987).
992ISBN 0-932376-88-6.  The Kermit file transfer protocol specification.
993.TP
994Christine M. Gianone,
995.IR "Using MS-DOS Kermit",
996Digital Press / Butterworth-Heinemann, Woburn, MA, USA (1992).
997ISBN 1-5558-082-3.  Also available in a German edition from Heise, and a
998French edition from Heinz Schiefer & Cie, Versailles.
999.TP
1000.IR "Kermit News",
1001Issues 4 (1990) and 5 (1993), Columbia University,
1002for detailed discussions of Kermit file transfer performance.
1003.SH DIAGNOSTICS
1004The diagnostics produced by
1005.I C-Kermit
1006itself are intended to be self-explanatory.  In addition, every command
1007returns a SUCCESS or FAILURE status that can be tested by IF FAILURE or
1008IF SUCCESS.  In addition, the program itself returns an exit status code of
10090 upon successful operation or nonzero if any of various operations failed.
1010.SH BUGS
1011See the comp.protocols.kermit.* newsgroups on Usenet for discussion, or the
1012files ckcker.bwr and ckuker.bwr, for a list of bugs, hints, tips. etc.  Report
1013bugs via e-mail to kermit-support@columbia.edu.
1014.SH CONTACTS
1015For more information about Kermit software and documentation, visit the
1016Kermit Web site:
1017.nf
1018.sp
1019  http://www.columbia.edu/kermit/
1020.sp
1021.fi
1022Or write to:
1023.nf
1024.sp
1025  The Kermit Project
1026  Columbia University
1027  612 West 115th Street
1028  New York NY  10025-7799
1029  USA
1030.sp
1031.fi
1032Or send e-mail to kermit@columbia.edu.
1033Or call +1 212 854-3703.  Or fax +1 212 663-8202.
1034.br
Note: See TracBrowser for help on using the repository browser.