home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / cku192.tar.Z / cku192.tar / ckuker.cpp < prev    next >
C/C++ Source or Header  |  1996-12-09  |  41KB  |  1,035 lines

  1. .\" @(#) kermit.1 6.0.192 96/09/06 Columbia University
  2. #ifdef COMMENT
  3. This man page must be run through the C-Kermit makefile before it can
  4. be used: "make manpage".  Or you can do the following:
  5.   cc -E ckuker.cpp | grep -v ^$ | grep -v ^\# > ckuker.nr
  6. to produce the nroff source file.  THIS FILE MUST NOT CONTAIN ANY BLANK LINES!
  7. Use .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
  30. kermit \- C-Kermit 6.0.192 communications software for serial and network
  31. connections: modem dialing, file transfer and management, terminal connection,
  32. character-set translation, and script programming.
  33. .SH SYNOPSIS
  34. .B kermit
  35. [ command-file ] [ options ... ]
  36. .SH DESCRIPTION
  37. .I Kermit
  38. is a family of file transfer, management, and communication software programs
  39. from Columbia University available for most computers and operating systems.
  40. #ifdef HPUX10
  41. The version of Kermit for Hewlett-Packard HP-UX, called
  42. #else
  43. #ifdef SUNOS
  44. The version of Kermit for SunOS and Solaris, called
  45. #else
  46. The UNIX version of Kermit, called
  47. #endif
  48. #endif
  49. .IR "C-Kermit",
  50. #ifdef HPUX10
  51. supports both serial connections (direct or dialed) and TCP/IP connections.
  52. #else
  53. #ifdef SUNOS
  54. supports serial connections (direct or dialed),
  55. TCP/IP connections, and on systems equipped with
  56. SunLink X.25, C-Kermit can also make X.25 connections.
  57. #else
  58. supports serial connections (direct or dialed) and, in most UNIX
  59. implementations, also TCP/IP connections.  On SunOS systems equipped with
  60. SunLink X.25, C-Kermit can also make X.25 connections.
  61. #endif
  62. #endif
  63. C-Kermit can be thought of as a user-friendly and powerful alternative to cu,
  64. tip, uucp, ftp, and telnet; a single package for both network and serial
  65. communications, offering automation, convenience, and language features not
  66. found in the other packages, and having a great deal in common with its
  67. cousins, C-Kermit on other UNIX platforms, Kermit 95 for Windows 95 and NT and
  68. OS/2, MS-DOS Kermit for PCs with DOS and Windows 3.x, and IBM Mainframe
  69. Kermit-370 for VM/CMS, MVS/TSO, and CICS.  C-Kermit itself also runs on
  70. Digital VMS, Data General AOS/VS, Stratus VOS, OS-9, QNX, the BeBox, Plan 9,
  71. the Commodore Amiga, and elsewhere.  Together, C-Kermit, Kermit 95, MS-DOS
  72. Kermit, and IBM Mainframe Kermit offer a consistent and nearly universal
  73. approach to inter-computer communications.
  74. .PP
  75. C-Kermit 6.0.192 is Copyright (C) 1985, 1996 by the Trustees of Columbia
  76. University in the City of New York.  The C-Kermit software may not be, in
  77. whole or in part, licensed or sold for profit as a software product itself,
  78. nor may it be included in or distributed with commercial products or otherwise
  79. distributed by commercial concerns to their clients or customers without
  80. written permission of the Office of Kermit Development and Distribution,
  81. Columbia University.  This copyright notice must not be removed, altered, or
  82. obscured.
  83. .PP
  84. #ifdef HPUX10
  85. C-Kermit 6.0.192 is included with HP-UX 10.00 and later by Hewlett-Packard in
  86. partnership with the Kermit Project at Columbia University.
  87. #endif
  88. .PP
  89. C-Kermit 6.0 is thoroughly documented in the book
  90. .IR "Using C-Kermit"
  91. by Frank da Cruz and Christine M. Gianone, Digital Press, Second Edition,
  92. 1997; see REFERENCES
  93. at the end of this manual page.  This manual page is not a substitute for the
  94. book.  If you are a serious user of C-Kermit, particularly if plan to write
  95. C-Kermit script programs, you should purchase the manual.  Book sales are the
  96. primary source of funding for the nonprofit Kermit Project.
  97. .PP
  98. Any new features added since most recent edition of the book was
  99. published are documented in the online file
  100. .IR "ckermit.upd".
  101. Hints, 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
  106. before reporting problems or asking for technical support.
  107. .PP
  108. Kermit software is available for hundreds of different computers and operating
  109. systems from Columbia University.  For best file-transfer results, please use
  110. C-Kermit in conjunction with real Columbia University Kermit software on other
  111. computers, such as Kermit 95 for Windows 95 and NT or MS-DOS Kermit for DOS
  112. 3.x or Windows.  See CONTACTS below.
  113. .SH "MODES OF OPERATION"
  114. C-Kermit can be used in two "modes": remote and local.  In
  115. .IR "remote mode",
  116. you connect to the
  117. #ifdef HPUX10
  118. HP-UX
  119. #else
  120. UNIX
  121. #endif
  122. system from a desktop computer
  123. and transfer files between your desktop computer and
  124. #ifdef HPUX10
  125. HP-UX
  126. #else
  127. UNIX
  128. #endif
  129. C-Kermit.  In that
  130. case, connection establishment (dialing, TELNET connection, etc) is handled
  131. by the Kermit program on your desktop computer.
  132. .PP
  133. In
  134. .IR "local mode",
  135. C-Kermit establishes a connection to another computer
  136. by direct serial connection, by dialing a modem, or by making a network
  137. connection.  When used in local mode, C-Kermit gives you a terminal connection
  138. to the remote computer, using your actual terminal, emulator, or UNIX
  139. workstation terminal window or console driver for specific terminal emulation.
  140. .PP
  141. C-Kermit also has two types of commands: the familiar UNIX-style command-line
  142. options, and an interactive dialog with a prompt.
  143. .IR "Command-line options"
  144. give
  145. you access to a small but useful subset of C-Kermit's features for terminal
  146. connection and file transfer, plus the ability to pipe files into or out of
  147. Kermit for transfer.
  148. .PP
  149. .IR "Interactive commands"
  150. give you access to dialing, script programming,
  151. character-set translation, and, in general, detailed control and display of all
  152. C-Kermit's features.  Interactive commands can also be collected into command
  153. files or macros.
  154. .PP
  155. .SH "STARTING C-KERMIT"
  156. .PP
  157. #ifdef HPUX10
  158. You can start C-Kermit by typing "/usr/bin/kermit", or just "kermit" if your
  159. PATH includes "/usr/bin", possibly followed by command-line options.
  160. #else
  161. C-Kermit should be available as "kermit" somewhere in your PATH, perhaps as
  162. /usr/local/bin/kermit, in which case you can
  163. start C-Kermit just by typing "kermit", possibly followed by command-line
  164. options.
  165. #endif
  166. If there are no "action options" on the command line (explained
  167. below), C-Kermit starts in interactive command mode; you will see a greeting
  168. message and then the "C-Kermit>" prompt.  If you do include action options on
  169. the command line, C-Kermit takes the indicated actions and then exits directly
  170. back to UNIX.  Either way, C-Kermit executes the commands in its
  171. initialization file,
  172. #ifdef HPUX10
  173. .IR "/usr/share/lib/kermit/ckermit.ini" ,
  174. #else
  175. .IR ".kermrc" ,
  176. in your home directory (or a system-wide directory if C-Kermit was built to
  177. do this)
  178. #endif
  179. before it executes any other commands, unless you have
  180. included the `\|\c
  181. .B \-Y\c
  182. \&\|' (uppercase) command-line option, which means to skip the
  183. initialization file, or you have included the `\|\c
  184. .B -y \c
  185. \&\|
  186. .IR "filename" \c
  187. \&\|'
  188. option to specify an alternative initialization file.
  189. .PP
  190. .SH "FILE TRANSFER"
  191. .PP
  192. Here is the most common scenario for Kermit file transfer.  Many other
  193. methods are possible, most of them more convenient, but this basic method
  194. should 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
  201. remote computer.  If C-Kermit is on your local
  202. computer, 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"
  210. if you are dialing; SET LINE and SPEED for direct connections;
  211. SET NETWORK
  212. .IR "network-type"
  213. and SET HOST
  214. .IR "host-name-or-address"
  215. for network connections.
  216. .sp
  217. .ti -0.2i
  218. \(bu    SET any other necessary communication parameters, such as PARITY,
  219. DUPLEX, 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
  229. for file-, communication-, or protocol-related parameters.  If you will be
  230. transferring binary files, give the command SET FILE TYPE BINARY to the
  231. Kermit program that will be sending them.
  232. .sp
  233. .ti -0.2i
  234. \(bu    To
  235. .IR download
  236. a file or file group, give the remote Kermit a SEND command, following by
  237. a filename or "wildcard" file specification, for example:
  238. .nf
  239. .sp
  240.   send oofa.txt            (send one file)
  241. .sp
  242. .fi
  243. or:
  244. .nf
  245. .sp
  246.   send oofa.*              (send a group of files)
  247. .sp
  248. .fi
  249. To
  250. .IR upload
  251. a file or files, give the remote Kermit a RECEIVE command.  The sending Kermit
  252. will 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
  256. your local computer is running C-Kermit, type Ctrl-\\ c (Control-backslash
  257. followed by the letter 'c') (on NeXT workstations, use Ctrl-] c).  If MS-DOS
  258. or OS/2 or Windows Kermit, use Alt-x (hold down the Alt key, press 'x').  Now 
  259. you 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
  263. TYPE BINARY to the Kermit program that is sending the files.
  264. .sp
  265. .ti -0.2i
  266. \(bu    If you are
  267. .IR downloading
  268. files, tell the local Kermit program to RECEIVE.  If you are
  269. .IR "uploading",
  270. give your local Kermit program a SEND command, specifying a filename
  271. or wildcard file specification.  In other words, tell the
  272. .IR remote
  273. Kermit program what to do first, SEND or RECEIVE, then escape back to
  274. the
  275. .IR local
  276. Kermit 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
  280. talking to Kermit on the remote computer again.  Type EXIT to get back to the
  281. command prompt on the remote computer.  When you are finished using the remote
  282. computer, log out and then (if necessary) escape back to Kermit on your local
  283. computer.  Then you can make another connection or EXIT from the local Kermit
  284. program.
  285. .ll +0.5i
  286. .in -0.5i
  287. .fi
  288. .PP
  289. C-Kermit's file transfer protocol defaults are deliberately conservative,
  290. resulting in file transfer that almost always works, but might be somewhat
  291. slow.  To increase file transfer performance on computers and connections that
  292. permit it, use SET RECEIVE PACKET-LENGTH to increase the packet length, SET
  293. WINDOW to increase the packet window size, and use SET PREFIXING to reduce the
  294. overhead of control-character prefixing.  (Hint: try the
  295. .IR FAST
  296. command to enable all these performance options at once.)  On serial
  297. connections, use hardware flow control (SET FLOW RTS/CTS) if available, rather
  298. than software (XON/XOFF) flow control.  On TCP/IP connections, SET FLOW NONE.
  299. For details, including benchmarks, read Chapter 12 of
  300. .IR "Using C-Kermit".
  301. .SH OTHER FEATURES
  302. C-Kermit includes features too numerous to be explained in a man page.  For
  303. further information about connection establishment, modem dialing, networks,
  304. terminal connection, key mapping, logging, file transfer options and features,
  305. troubleshooting, client/server operation, character-set translation during
  306. terminal connection and file transfer, "raw" up- and downloading of files,
  307. macro construction, script programming, convenience features, and shortcuts,
  308. plus numerous tables, examples, and illustrations, please consult
  309. .IR "Using C-Kermit".
  310. .SH HELP
  311. .PP
  312. C-Kermit has extensive built-in help.  You can find out what commands exist by
  313. typing ? at the C-Kermit> prompt.  You can type HELP at the C-Kermit> prompt
  314. for "getting-started" message, or HELP followed by the name
  315. of a particular command for information about that command, for example:
  316. .nf
  317. .sp
  318.   help send
  319. .sp
  320. .fi
  321. or:
  322. .nf
  323. .sp
  324.   help set file
  325. .sp
  326. .fi
  327. You can type ? anywhere within a command to get brief help about the
  328. current command field.  You can also type the INTRO command to get a brief
  329. introduction to C-Kermit, and the NEWS command to find out what's new in
  330. your version.  Finally, you can use the BUG command to learn how to report
  331. bugs.
  332. .sp
  333. .SH "ENTERING COMMANDS"
  334. .sp
  335. You can use upper or lower case for interactive-mode commands, but remember
  336. that UNIX filenames are case-sensitive.  You can abbreviate commands as long
  337. as the abbreviation matches only one possibility.  While typing a command, you
  338. can 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
  352. To enter the command and make it execute, press the Return or Enter key.
  353. .sp
  354. .SH BACKSLASH NOTATION
  355. Within an interactive command, the "\\" character (backslash) is a prefix used
  356. to enter special quantities, including ordinary characters that would
  357. otherwise be illegal.  At the end of a line, \\ or - (dash) makes the next
  358. line a continuation of the current line.  Other than that, the character
  359. following 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
  379. Note that numbers turn into the character with that binary code (0-255), so
  380. you can use \\7 for a bell, \\13 for carriage return, \\10 for linefeed.
  381. For 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
  389. The commands most commonly used, and important for beginners to
  390. know, are marked with "*":
  391. .nf
  392. .in 0
  393. .ll 80
  394. .ta 16
  395. .sp
  396. Program 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
  428. Connection 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
  458. Terminal 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
  474. File 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
  515. File 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
  530. Client/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
  559. Script 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"
  621. Built-in variables are referred to by \\v(name), can be used in any command,
  622. usually used in script programming.  They cannot be changed.  Type SHOW
  623. VARIABLES 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"
  705. Builtin functions are invoked as \\Fname(args), can be used in any command,
  706. and are usually used in script programs.  Type SHOW FUNCTIONS for a current
  707. list.
  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
  754. can contain variables.  Only integer arithmetic is supported.
  755. Precedences are shown as numbers, 1 is highest
  756. precedence, 6 is lowest.
  757. .in +.2i
  758. .nf
  759. .ta \w'n @ n  'u +\w'5   'u
  760. .sp
  761. ( )    1    parentheses
  762. n !    2    factorial
  763. ~ n    3    logical NOT
  764. - n    4    negative
  765. n ^ n    4    power
  766. n * n    5    multiplication
  767. n / n    5    division
  768. n % n    5    modulus
  769. n & n    5    logical AND
  770. n + n    6    plus
  771. n - n    6    minus
  772. n | n    6    logical OR
  773. n # n    6    exclusive OR
  774. n @ n    6    greatest common divisor
  775. .sp
  776. .fi
  777. .SH "COMMAND LINE OPTIONS"
  778. .PP
  779. C-Kermit accepts commands (or "options") on the command line, in the
  780. time-honored UNIX style.  Alphabetic case is significant.  All options
  781. are optional.  If one or more action options are included, Kermit exits
  782. immediately after executing the command-line options, otherwise it enters
  783. interactive command mode.
  784. .nf
  785. .ll 80
  786. .sp
  787.   kermit [filename] [-x arg [-x arg]...[-yyy]..]]
  788. .sp
  789. where:
  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
  796. Actions:
  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
  808. Settings:
  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
  832. Other:
  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
  844. Remote-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
  850. sends file oofa.bin in binary mode (-i) using a window size of 4 (-v 4).
  851. .sp
  852. Local-mode example (C-Kermit makes the connection):
  853. .nf
  854. .sp
  855.   kermit -l HARDWIRE -b 19200 -c -r -n
  856. .sp
  857. .fi
  858. makes a 19200-bps direct connection out through HARDWIRE, CONNECTs (-c) so you
  859. can log in and, presumably start a remote Kermit program and tell it to send a
  860. file, then it RECEIVEs the file (-r), then it CONNECTs back (-n) so you can
  861. finish up and log out.
  862. .sp
  863. For dialing out, you must specify a modem type, and you might have to use a
  864. different 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
  897. The following should be in a publicly accessible plain-text documentation area,
  898. such as usr/local/lib/kermit, /usr/local/doc, or /usr/share/lib/kermit, or
  899. available via an information server such as gopher, or by ftp from Columbia:
  900. .nf
  901. .ta 16
  902. .sp
  903. ckaaaa.hlp      Explanation of C-Kermit files.
  904. ckermit.ini     Standard initialization file.
  905. ckermod.ini    Sample C-Kermit customization file.
  906. ckermit.kdd    Sample dialing directory.
  907. ckermit.ksd    Sample services directory.
  908. ckermit.upd    Supplement to "Using C-Kermit".
  909. ckcker.bwr    C-Kermit "beware" file - hints & tips.
  910. ckuker.bwr    UNIX-specific beware file.
  911. ckedemo.ini     Demonstration macros from "Using C-Kermit".
  912. ckevt.ini       Ditto.
  913. ckepager.ksc    Alpha pager script.
  914. #endif
  915. .fi
  916. .PP
  917. #ifndef HPUX10
  918. If C-Kermit has not been installed on your system with the system-wide
  919. initialization file feature, then the ckermit.ini file should be copied to
  920. your home (login) directory and renamed to 
  921. .IR ".kermrc" .
  922. You should not modify
  923. this file.
  924. .sp
  925. #endif
  926. To make
  927. .IR "personalized customizations" ,
  928. copy the file
  929. #ifdef HPUX10
  930. /usr/share/lib/kermit/ckermod.ini
  931. #else
  932. ckermod.ini
  933. #endif
  934. file to your home directory, make any desired changes, and rename it to
  935. .IR ".mykermrc" .
  936. .sp
  937. You may also create a personalized
  938. .IR "dialing directory"
  939. like the sample one in
  940. #ifdef HPUX10
  941. /usr/share/lib/kermit/ckermit.kdd.
  942. #else
  943. ckermit.kdd.
  944. #endif
  945. Your personalized dialing directory
  946. should be stored in your home directory as
  947. .IR ".kdd"
  948. and your personal network directory as
  949. .IR ".knd" .
  950. See Chapters 5 and 6 of
  951. .IR "Using C-Kermit"
  952. for details.
  953. .sp
  954. And you may also create a personalized
  955. .IR "services directory"
  956. like the sample one in
  957. #ifdef HPUX10
  958. /usr/share/lib/kermit/ckermit.ksd.
  959. #else
  960. ckermit.ksd.
  961. #endif
  962. Your personalized services directory should be stored in your home directory as
  963. .IR ".ksd" .
  964. See Chapter 7 of
  965. .I "Using C-Kermit"
  966. for instructions.
  967. .sp
  968. The demonstration files illustrate C-Kermit's script programming constructs;
  969. they are discussed in chapters 17-19 of the book.  You can run them by typing
  970. the appropriate TAKE command at the C-Kermit> prompt, for example:
  971. "take /usr/share/lib/kermit/ckedemo.ini".
  972. .PD
  973. .SH AUTHORS
  974. Frank da Cruz, Columbia University, with contributions from hundreds of
  975. other volunteer programmers all over the world.  See Acknowledgements in
  976. .IR "Using C-Kermit".
  977. .SH REFERENCES
  978. .TP
  979. Frank da Cruz and Christine M. Gianone,
  980. .IR "Using C-Kermit",
  981. Second Edition, 1997, 622 pages,
  982. Digital Press / Butterworth-Heinemann, 225 Wildwood Street,
  983. Woburn, MA 01801, USA.
  984. ISBN 1-55558-164-1.  (In the USA, call +1 800 366-2665 to order Digital Press
  985. books.)  Also available in a German edition from Verlag Heinze Heise,
  986. Hannover.
  987. .sp
  988. .TP
  989. Frank da Cruz,
  990. .IR "Kermit, A File Transfer Protocol",
  991. Digital Press / Butterworth-Heinemann, Woburn, MA, USA (1987).
  992. ISBN 0-932376-88-6.  The Kermit file transfer protocol specification.
  993. .TP
  994. Christine M. Gianone,
  995. .IR "Using MS-DOS Kermit",
  996. Digital Press / Butterworth-Heinemann, Woburn, MA, USA (1992).
  997. ISBN 1-5558-082-3.  Also available in a German edition from Heise, and a
  998. French edition from Heinz Schiefer & Cie, Versailles.
  999. .TP
  1000. .IR "Kermit News",
  1001. Issues 4 (1990) and 5 (1993), Columbia University,
  1002. for detailed discussions of Kermit file transfer performance.
  1003. .SH DIAGNOSTICS
  1004. The diagnostics produced by
  1005. .I C-Kermit
  1006. itself are intended to be self-explanatory.  In addition, every command
  1007. returns a SUCCESS or FAILURE status that can be tested by IF FAILURE or
  1008. IF SUCCESS.  In addition, the program itself returns an exit status code of
  1009. 0 upon successful operation or nonzero if any of various operations failed.
  1010. .SH BUGS
  1011. See the comp.protocols.kermit.* newsgroups on Usenet for discussion, or the 
  1012. files ckcker.bwr and ckuker.bwr, for a list of bugs, hints, tips. etc.  Report
  1013. bugs via e-mail to kermit-support@columbia.edu.
  1014. .SH CONTACTS
  1015. For more information about Kermit software and documentation, visit the
  1016. Kermit Web site:
  1017. .nf
  1018. .sp
  1019.   http://www.columbia.edu/kermit/
  1020. .sp
  1021. .fi
  1022. Or 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
  1032. Or send e-mail to kermit@columbia.edu.
  1033. Or call +1 212 854-3703.  Or fax +1 212 663-8202.
  1034. .br
  1035.