File: ckuker.nr

package info (click to toggle)
ckermit 211-7
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 11,724 kB
  • ctags: 14,540
  • sloc: ansic: 239,818; makefile: 4,582; sh: 51
file content (1827 lines) | stat: -rw-r--r-- 63,307 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
.\" @(#) kermit.1 8.0.211 2004/04/10 Columbia University
.TH KERMIT 1 "APRIL 2004" "User Manuals"
.na
.SH NAME
kermit \-
.B C\(hyKermit 8.0:
transport\(hy and platform\(hyindependent
interactive and scriptable communications software.
.IP

This document is intended to give the beginner sufficient information to make
basic (if not advanced) use of C\(hyKermit 8.0.  Although it might be rather long
for a Unix manual page, it's still far shorter than the C\(hyKermit manual, which
should be consulted for advanced topics such as customization, character\(hysets,
scripting, etc. We also attempt to provide a clear structural overview of
C\(hyKermit's many capabilities, functional areas, states, and modes and their
interrelation, that should be helpful to beginners and veterans alike, as well
as to those upgrading to version 8.0 from earlier releases.
.PP
This document is also available as a Web page at:
.IP
http://www.columbia.edu/kermit/ckututor.html
.SH DESCRIPTION
C\(hyKermit is an all\(hypurpose communications software package from the Kermit
Project at Columbia University that:
.PP
.nf
\(bu	Is portable to many platforms, Unix and non\(hyUnix alike.
.br
\(bu	Can make both serial and network connections.
.br
\(bu	Can conduct interactive terminal sessions over its connection.
.br
\(bu	Can transfer text or binary files over the same connection.
.br
\(bu	Can convert character sets in the terminal session.
.br
\(bu	Can convert character sets during text\(hyfile file transfer.
.br
\(bu	Is customizable in every aspect of its operation.
.fi
.PP
C\(hyKermit is a modem program, a Telnet client, an Rlogin client, an FTP
client, an HTTP client, and on selected platforms, also an X.25 client. It
can make its own secure Internet connections using IETF\(hyapproved security
methods including Kerberos IV, Kerberos V, SSL/TLS, and SRP and it can also
make SSH connections through your external SSH client application. It can
be the far\(hyend file\(hytransfer or client/server partner of your desktop
Kermit client. It can also accept incoming dialed and network connections.
It can even be installed as an Internet service on its own standard TCP
socket, 1649 [RFC2839, RFC2840].
.PP
And perhaps most important, everything you can do "by hand" (interactively)
with C\(hyKermit, can be "scripted" (automated) using its built\(hyin
cross\(hyplatform transport\(hyindependent script programming language, which
happens to be identical to its interactive command language.
.PP
This manual page offers an overview of C\(hyKermit 8.0 for Unix ("Unix" is an
operating system family that includes AIX, DG/UX, FreeBSD, HP\(hyUX, IRIX,
Linux, Mac OS X, NetBSD, OpenBSD, Open Server, Open Unix, QNX, Solaris,
SunOS, System V R3, System V R4, Tru64 Unix, Unixware, Xenix, and many
others). For thorough coverage, please consult the published C\(hyKermit
manual and supplements (see DOCUMENTATION below). For further information
about C\(hyKermit, Kermit software for other platforms, and Kermit manuals,
visit the Kermit Project website:
.PP
  http://www.columbia.edu/kermit/
.PP
This is a longer\(hythan\(hyaverage manual page, and yet it barely scratches the
surface. Don't be daunted. C\(hyKermit is a large and complex package,
evolving over decades of practice and experience, but that doesn't mean
it's hard to learn or use. Its most commonly used functions are explained
here with pointers to additional information elsewhere.
.SH SYNOPSIS
.B kermit [
.I filename
.B ] [
.I options
.B ] [ {=,\-\-,+}
.I text
.B ] ]
.PP
or:
.PP
.B kermit 
.I URL
.PP
If the first command\(hyline argument is the name of a file, interactive\(hymode
commands are executed from the file. The '=' (or "\-\-") argument tells
Kermit not to parse the remainder of the command line, but to make the
words following '=' available as \e%1, \e%2, ... \e%9. The "+" argument is
like "=" but for use in "kerbang scripts" (explained below). A second
command\(hyline format allows the one and only argument to be a Telnet, FTP,
HTTP, or IKSD URL.
.PP
Order of execution:
.TP
 1.
The command file (if any).
.TP
.nf
 2.
The initialization file, if any, unless suppressed with \-Y.
.fi
.TP
 3.
The customization file (if it is executed by the initialization file).
.TP
 4.
The command\(hyline URL (if any, and if so, execution stops here).
.TP
 5.
Command\(hyline options (if any).
.TP
 6.
Interactive commands.
.PP
Some command\(hyline options can cause actions (such as \-s to send a file);
others just set parameters. If any action options are included on the
command line, Kermit exits when finished unless also given the \-S ("stay")
option. If no action options are given, no initialization or command files
contained an EXIT or QUIT command, and no fatal errors occurred, Kermit
issues its prompt and waits for you to type commands.
.IP
Bear in mind that C\(hyKermit can be built with selected features
disabled, and also that certain features are not available on all
platforms. For example, C\(hyKermit can't be built with TCP/IP
support on a platform that does not have TCP/IP header files and
libraries (and even if Kermit does include TCP/IP support, it
can't be used to make TCP/IP connections on a computer that does
not have a TCP/IP stack installed). If your version of lacks
C\(hyKermit a feature mentioned here, use its SHOW FEATURES command to
see what might have been excluded.
.PP
C\(hyKermit has three kinds of commands: regular single\(hyletter command\(hyline
options, extended\(hyformat command\(hyline options, and interactive commands.
.PP
Like most Unix commands, C\(hyKermit can be be given options on the command
line. But C\(hyKermit also can be used interactively by giving it commands
composed of words, which are more intuitive than cryptic command\(hyline
options, and more flexible too. In other words, you don't have to use
C\(hyKermit's command\(hyline options, but they are available if you want to. (By
the same token, you don't have to use its interactive commands either \(hy\(hy
you can use either or both in any combination.)
.PP
C\(hyKermit is generally installed in the PATH as "kermit", and therefore is
invoked by typing the word "kermit" (lowercase) at the shell prompt, and
then pressing the Return or Enter key. If you wish to include command\(hyline
options, put them after the word "kermit" but before pressing Return or
Enter, separated by spaces, for example:
.PP
  $ kermit \-s ckermit.tar.gz
.PP
('$' is the shell prompt; "kermit \-s ckermit.tar.gz" is what you type,
followed by Return or Enter.)
.SH OPTIONS
Here is a list of C\(hyKermit's single\(hyletter command\(hyline options, which
start with a single dash (\-), in ASCII ("alphabetical") order. Alphabetic
case is significant (\-A is not the same as \-a).  Action options are 
tagged "ACTION".
.TP
\-0
(digit zero)  100% transparent Connect state for
"in\(hythe\(hymiddle" operation: 8 bits, no parity, no
escape character, everything passes through.
.TP
\-8
(digit eight)  Connection is 8\(hybit clean (this is the
default in C\(hyKermit 8.0). Equivalent to the EIGHTBIT
command, which in turn is a shortcut for SET TERMINAL
BYTESIZE 8, SET COMMAND BYTESIZE 8, SET PARITY NONE.
.TP
\-9 arg
(digit nine)  Make a connection to an FTP server.
Equivalent to the FTP OPEN command.
Argument: IP\(hyaddress\(hyor\(hyhostname[:optional\(hyTCP\(hyport].
NOTE: C\(hyKermit also has a separate FTP command\(hyline
personality, with regular FTP\(hylike command\(hyline
syntax. More about this below.
.TP
\-A
Kermit is to be started as an Internet service (IKSD)
(only from inetd.conf).
.TP
\-B
Kermit is running in Batch or Background (no
controlling terminal). To be used in case Kermit
doesn't automatically sense its background status.
Equivalent to the SET BACKGROUND ON command.
.TP
\-C arg
Interactive\(hymode Commands to be executed.
Argument: Commands separated by commas, list in
doublequotes.
.TP
\-D arg
Delay before starting to send in Remote mode.
Equivalent to the SET DELAY command.
Argument: Number of seconds.
.TP
\-E
Exit automatically when connection closes. Equivalent
to SET EXIT ON\-DISCONNECT ON.
.TP
\-F arg
Use an open TCP connection.
Argument: Numeric file descriptor of open TCP
connection.
Also see: \-j, \-J.
.TP
\-G arg
(ACTION) Get file(s) from server, send contents to standard
output, which normally would be piped to another
process.
Argument: Remote file specification, in quotes if it
contains metacharacters.
Also see: \-g, \-k.
.TP
\-H
Suppress program startup Herald and greeting.
.TP
\-I
Tell Kermit it has a reliable connection, to force streaming to be used where
it normally would not be.  Equivalent to the SET RELIABLE ON command.
.TP
\-J arg
(ACTION) "Be like Telnet." Like \-j but implies \-E.  Argument: IP
hostname/address optionally followed by service.  NOTE: C\(hyKermit also has a
separate Telnet command\(hyline personality, with regular Telnet\(hylike
command\(hyline syntax. More about this below.
.TP
\-L
Recursive directory descent for files in \-s option.
.TP
\-M arg
My user name (for use with Telnet, Rlogin, FTP, etc).
Equivalent to the SET LOGIN USER command.
Argument: Username string.
.TP
\-O
(ACTION) (Uppercase letter O) Be a server for One command only.
Also see: \-x.
.TP
\-P
Don't convert file (Path) names of transferred files.
Equivalent to SET FILE NAMES LITERAL.
.TP
\-Q
Quick Kermit protocol settings. Equivalent to the FAST
command. This is the default in C\(hyKermit 7.0 and later.
.TP
\-R
Remote\(hyonly (this just makes IF REMOTE true).
.TP
\-S
Stay (enter command parser after action options).
.TP
\-T
Force Text mode for file transfer; implies \-V.
Equivalent to SET TRANSFER MODE MANUAL, SET FILE TYPE TEXT.
.TP
\-V
Disable automatic per\(hyfile text/binary switching.
Equivalent to SET TRANSFER MODE MANUAL.
.TP
\-Y
Skip (don't execute) the initialization file.
.TP
\-a arg
As\(hyname for file(s) in \-s, \-r, or \-g.
Argument: As\(hyname string (alternative filename). When
receiving files, this can be a directory name.
.TP
\-b arg
Speed for serial device. Equivalent to SET SPEED.
Argument: Numeric Bits per second for serial
connections.
.TP
\-c
(ACTION) Enter Connect state before transferring files.
.TP
\-d
Create a debug.log file with detailed debugging
information (a second \-d adds timestamps). Equivalent
to LOG DEBUG but takes effect sooner.
.TP
\-e arg
Maximum length for incoming Kermit file\(hytransfer
packets. Equivalent to SET RECEIVE PACKET\-LENGTH.
Argument: Length in bytes.
.TP
\-f
(ACTION) Send a FINISH command to a Kermit server.
.TP
\-g arg
Get file(s) from a Kermit server.
Argument: File specification on other computer, in
quotes if it contains metacharacters. Equivalent to
GET. Also see: \-a, \-G, \-r.
.TP
\-h
(ACTION) Print Help text for single\(hyletter command\(hyline options
(pipe thru 'more' to prevent scrolling).
.TP
\-i
Force binary (Image) mode for file transfer; implies
\-V. Equivalent to SET TRANSFER MODE MANUAL, SET FILE
TYPE BINARY.
.TP
\-j arg
Make a TCP/IP connection.
Argument: IP host name/address and optional service
name or number. Equivalent to the TELNET command.
Also see: \-J, \-F.
.TP
\-k
(ACTION) Receive file(s) to standard output, which normally 
would be piped to another process.
Also see: \-r, \-G.
.TP
\-l arg
(Lowercase letter L) Make a connection on the given
serial communications device. Equivalent to the SET
LINE (SET PORT) command.
Argument: Serial device name, e.g. /dev/ttyS0.
.TP
\-m arg
Modem type for use with the \-l device. Equivalent to
the SET MODEM TYPE command.
Argument: Modem name as in SET MODEM TYPE command,
e.g. "usrobotics".
.TP
\-n
(ACTION) Enter Connect state after transferring files (historical).
.TP
\-p arg
Parity. Equivalent to the SET PARITY command.
Argument: One of the following: e(ven), o(dd), m(ark),
n(one), s(pace).
.TP
\-q
Quiet (suppress most messages). Equivalent to SET QUIET ON.
.TP
\-r
(ACTION) Receive file(s). Equivalent to the RECEIVE command.
Argument: (none, but see \-a)
.TP
\-s arg
Send file(s).
Argument: One or more local file specifications.
Equivalent to the SEND command.
Also see: \-a.
.TP
\-t
(Historical) Xon (Ctrl\-Q) Turnaround character for
half\(hyduplex connections (used on serial linemode
connections to old mainframes). Equivalent to SET
DUPLEX HALF, SET HANDSHAKE XON.
.TP
\-v arg
Window size for Kermit protocol (ignored when
streaming). Equivalanet to SET WINDOW\-SIZE.
Argument: Number, 1 to 32.
.TP
\-w
Incoming files Write over existing files. Equivalent
to SET FILE COLLISION OVERWRITE.
.TP
\-x
(ACTION) Enter server mode. Equivalent to the SERVER command.
Also see: \-O.
.TP
\-y arg
Alternative initialization file.
Argument: Filename.
.TP
\-z
Force foreground behavior. To be used in case Kermit
doesn't automatically sense its foreground status.
Equivalent to the SET BACKGROUND OFF command.
.PP
Extended command\(hyline options (necessary because single\(hyletter ones are
about used up) start with two dashes (\-\-), with words rather than single
letters as option names. If an extended option takes an argument, it is
separated from the option word by a colon (:). Extended options include:

.TP
 \-\-bannerfile:filename
File to display upon startup or IKSD login.
.TP
 \-\-cdfile:filename
File to be sent for display to the client when
server changes directory (filename is relative to
the changed\(hyto directory).
.TP
 \-\-cdmessage:{on,off}
Enable/disable the server CD message feature.
.TP
 \-\-help
Prints usage message for extended options.
.TP
 \-\-helpfile:filename
Designates a file containing custom text to
replace the top\(hylevel HELP command.
.TP
 \-\-nointerrupts
Disables keyboard interrupts.
.TP
 \-\-noperms
Disables the Kermit protocol file Permissions
attribute, to prevent transmission of file
permissions (protection) from sender to receiver.
.TP
 \-\-version
(ACTION) C\(hyKermit prints its version number.
.PP
Plus several other IKSD\(hyOnly options described at:
.PP
  http://www.columbia.edu/kermit/iksd.html
.PP
See the file\(hytransfer section for examples of command\(hyline invocation.
.SH COMMAND LANGUAGE
C\(hyKermit's interactive command language is the subject of a 622\(hypage book
and another several hundred pages of updates, far too much for a manual
page. But it's not hard to get started. At the shell prompt, just type
"kermit" to get C\(hyKermit's interactive command prompt:
.PP
.nf
  $ kermit
  (/current/directory) C\-Kermit>
.fi
.PP
Begin by typing "help" (and then press the Return or Enter key) for a
top\(hylevel overview, read it, and go from there. Your second command should
probably be "intro" (introduction). Note the prompt shows your current
directory (unless you tell Kermit to prompt you with something else).
.PP
Interactive commands are composed mainly of regular English words, usually
in the form of imperative sentences, such as:
.PP
  send oofa.txt
.PP
which tells Kermit to send (transfer) the file whose name is oofa.txt, or:
.PP
  set transfer mode automatic
.PP
which sets Kermit's "transfer mode" to "automatic" (whatever that means).
.PP
While typing commands, you can abbreviate, ask for help (by pressing the
"?" key anywhere in a command), complete keywords or filenames (with the
Tab or Esc key), and edit your typing with Backspace or Delete, Ctrl\-W,
Ctrl\-U, etc. You can also recall previous commands, save your command
history, and who knows what else. Give the INTRO command for details.
.PP
C\(hyKermit has hundreds of commands, and they can be issued in infinite
variety and combinations, including commands for:
.nf
.PP
\(bu	Making connections (SET LINE, DIAL, TELNET, SSH, FTP, ...)
.br
\(bu	Breaking connections (HANGUP, CLOSE)
.br
\(bu	Transferring files (SEND, GET, RECEIVE, MOVE, RESEND, ...)
.br
\(bu	Establishing preferences (SET)
.br
\(bu	Displaying preferences (SHOW)
.br
\(bu	Managing local files (CD, DELETE, MKDIR, DIR, RENAME, TYPE, ...)
.br
\(bu	Managing remote files (RCD, RDEL, RMKDIR, RDIR, ...)
.br
\(bu	Using local files (FOPEN, FCLOSE, FREAD, FWRITE)
.br
\(bu	Programming (TAKE, DEFINE, IF, FOR, WHILE, SWITCH, DECLARE, ...)
.br
\(bu	Interacting with the user (ECHO, ASK, ...)
.br
\(bu	Interacting with a remote computer (INPUT, OUTPUT, ...)
.br
\(bu	Interacting with local programs (RUN, EXEC, PTY, ...)
.br
\(bu	Logging things (LOG SESSION, LOG PACKETS, LOG DEBUG, ...)
.PP
.fi
And of course QUIT or EXIT to get out and HELP to get help, and for
programmers: loops, decision making, variables, arrays, associative arrays,
integer and floating point arithmetic, macros, built\(hyin and user\(hydefined
functions, string manipulation, pattern matching, block structure, scoping,
recursion, and all the rest. To get a list of all C\(hyKermit's commands, type
a question mark (?) at the prompt. To get a description of any command,
type HELP followed by the name of the command, for example:
.PP
  help send
.PP
The command interruption character is Ctrl\-C (hold down the Ctrl key and
press the C key).
.PP
The command language "escape character", used to introduce variable names,
function invocations, and so on, is backslash (\). If you need to include a
literal backslash in a command, type two of them, e.g.:
.PP
  get c:\ek95\ek95custom.ini
.SS Command Files, Macros, and Scripts
A file containing Kermit commands is called a Kermit command file or Kermit
script. It can be executed with Kermit's TAKE command:
.PP
  (/current/dir) C\-Kermit> take commandfile
.PP
(where "commandfile" is the name of the command file). Please don't pipe a
command file into Kermit's standard input (which might or might not work);
if you have Kermit commands in a file, tell Kermit to TAKE the file.
.PP
In Unix only, a Kermit command file can also be executed directly by
including a "kerbang" line as the first line of the file:
.PP
  #!/usr/local/bin/kermit +
.PP
That is, a top line that starts with "#!", followed immediately by the full
path of the Kermit executable, and then, if the Kermit script is to be
given arguments on the command line, a space and a plus sign. The script
file must also have execute permission:
.PP
  chmod +x commandfile
.PP
Except for the " +" part, this is exactly the same as you would do for a
shell script, a Perl script, etc. Here's a simple but useless example
script that regurgitates its arguments (up to three of them):
.PP
  #!/usr/local/bin/kermit +
  if defined \e%1 echo "Argument 1: \e%1"
  if defined \e%2 echo "Argument 2: \e%2"
  if defined \e%3 echo "Argument 3: \e%3"
  if defined \e%4 echo "etc..."
  exit
.PP
If this file is stored in your current directory as "commandfile", then:
.PP
  ./commandfile one two three four five
.PP
prints:
.PP
  Argument 1: one
  Argument 2: two
  Argument 3: three
  etc...
.PP
This illustrates the basic structure of a standalone Kermit script: the
"kerbang line", then some commands. It should end with "exit" unless you
want the Kermit prompt to appear when it is finished. \e%1 is the first
argument, \e%2 the second, and so on.
.PP
You can also create your own commands by defining named macros composed of
other Kermit commands (or macros). For example:
.PP
.nf
  define mydelete {
      local trash
      assign trash \ev(home)trashcan/
      if not defined \e%1 end 1 "Delete what?"
      if wild \e%1 {
          end 1 "Deleting multiple files is too scary"
      }
      if not exist \e%1 end 1 "I can't find \e%1"
      if not directory \em(trash) {
          mkdir \em(trash)
          if fail end 1 "No trash can"
      }
      rename /list \e%1 \em(trash)
  }
  define myundelete {
      local trash
      assign trash \ev(home)trashcan/
      if not defined \e%1 end 1 "Undelete what?"
      if wild \e%1 {
          end 1 "Undeleting multiple files is too hard"
      }
      if not directory \em(trash) end 1 "No trash can"
      if not exist \em(trash)\e%1 {
          end 1 "I can't find \e%1 in trash can"
      }
      rename /list \em(trash)\e%1 .
  }
.PP
.fi
These sample macros are not exactly production quality (they don't handle
filenames that include path segments, they don't handle multiple files,
etc), but you get the idea: you can pass arguments to macros, and they can
check them and make other kinds of decisions. If you put the above lines
into your initialization or customization file (explained below), you'll
have MYDELETE and MYUNDELETE commands available every time you start
Kermit, at least as long as you don't suppress execution of the
initialization file. (Exercise for the reader: Make these macros generally
useful: remove limitations, add trashcan display, browsing, emptying, etc.)
.PP
Kerbang scripts execute without the initialization file. This to keep them
portable and also to make them start faster. If you want to write Kerbang
scripts that depend on the initialization file, include the command
.PP
  take \ev(home).kermrc
.PP
at the desired spot in the script. By the way, \ev(xxx) is a built\(hyin
variable (xxx is the variable name, "home" in this case). To see what
built\(hyin variables are available, type "show variables" at the C\(hyKermit
prompt. To see what else you can show, type "show ?". \em(xxx) is a user
defined variable (strictly speaking, it is a macro used as a variable).
.SS Command List
C\(hyKermit has more than 200 top\(hylevel commands, and some of these, such as
SET, branch off into hundreds of subcommands of their own, so it's not
practical to describe them all here. Instead, here's a concise list of the
most commonly used top\(hylevel commands, grouped by category. To learn about
each command, type "help" followed by the command name, e.g. "help set".
Terms such as Command state and Connect state are explained in subsequent
sections.
.PP
Optional fields are shown in [ brackets ].  "filename" means the
name of a single file. filespec means a file specification that is allowed
to contain wildcard characters like '*' to match groups of files. options
are (optional) switches like /PAGE, /NOPAGE, /QUIET, etc, listed in the
HELP text for each command. Example:
.PP
.nf
  send /recursive /larger:10000 /after:\-1week /except:*.txt *
.fi
.PP
which can be read as "send all the files in this directory and all the ones
underneath it that are larger than 10000 bytes, no more than one week old,
and whose names don't end with ".txt".
.SS
Basic Commands
.RS
.TP
HELP
Requests top\(hylevel help.
.TP
HELP command
Requests help about the given command.
.TP
INTRODUCTION
Requests a brief introduction to C\(hyKermit.
.TP
LICENSE
Displays the C\(hyKermit software copyright and license.
.TP
VERSION
Displays C\(hyKermit's version number.
.TP
EXIT [ number ]
Exits from Kermit with the given
status code. Synonyms: QUIT, E, Q.
.TP
TAKE filename [ parameters... ]
Executes commands from the given
.TP
LOG item [ filename ]
Keeps a log of the given item in the given file.
.TP
[ DO ] macro [ parameters... ]
Executes commands from the given macro.
.TP
SET parameter value
Sets the given parameter to the given value.
.TP
SHOW category
Shows settings in a given category.
.TP
STATUS
Tells whether previous command succeeded or failed.
.TP
DATE [ date\(hyand/or\(hytime ]
Shows current date\(hytime or interprets given date\(hytime.
.TP
RUN [ extern\(hycommand [ parameters... ]                 
Runs the given external command. Synonym: !.
.TP
EXEC [ extern\(hycommand [ params... ]
Kermit overlays itself with the given command.
.TP
SUSPEND
Stops Kermit and puts it in the background. Synonym: Z.
.RE
.SS
Local File Management
.RS
.TP
TYPE [ options ] filename
Displays the contents of the given file.
.TP
MORE [ options ] filename     
Equivalent to TYPE /PAGE (pause after each screenful).
.TP
CAT [ options ] filename      
Equivalent to TYPE /NOPAGE.
.TP
HEAD [ options ] filename     
Displays the first few lines of a given file.
.TP
TAIL [ options ] filename     
Displays the last few lines of a given file.
.TP
GREP [ options ] pattern filespec
Displays lines from files that match
the pattern. Synonym: FIND.
.TP
DIRECTORY [ options ] [filespec ]
Lists files (built\(hyin, many options).
.TP
LS [ options ] [ filespec ]   
Lists files (runs external "ls" command).
.TP
DELETE [ options ] [ filespec ]
Deletes files. Synonym: RM.
.TP
PURGE [ options ] [ filespec ]
Removes backup (*.~n~) files.
.TP
COPY [ options ] [ filespecs... ]
Copies files. Synonym: CP.
.TP
RENAME [ options ] [ filespecs... ]
Renames files. Synonym: MV.
.TP
CHMOD [ options ] [ filespecs... ]
Changes permissions of files.
.TP
TRANSLATE filename charsets [ filename ]
Converts file's character set. Synonym: XLATE.
.TP
CD
Changes your working directory to your home directory.
.TP
CD directory
Changes your working directory to the one given.
.TP
CDUP
Changes your working directory one level up.
.TP
PWD
Displays your working directory.
.TP
BACK
Returns to your previous working directory.
.TP
MKDIR [ directory ]
Creates a directory.
.TP
RMDIR [ directory ]
Removes a directory.
.RE
.SS
Making Connections
.RS
.TP
SET LINE [ options ] devicename                      
Opens the named serial port. Synonym: SET PORT.
.TP
OPEN LINE [ options ] devicename
Same as SET LINE. Synonym: OPEN PORT.
.TP
SET MODEM TYPE [ name ]
Tells Kermit what kind of modem is on the port.
.TP
DIAL [ number ]
Tells Kermit to dial the given phone number with the modem.
.TP
REDIAL
Redials the most recently dialed phone number.
.TP
ANSWER
Waits for and answers an incoming call on the modem.
.TP
AUTHENTICATE [ parameters... ]
Performs secure authentication on a TCP/IP connection.
.TP
SET NETWORK TYPE { TCP/IP, X.25, ... }
Selects network type for subsequent SET HOST commands.
.TP
SET HOST [ options ] host [ port ]                          
Opens a network connection to the given host and port.
.TP
SET HOST * port
Waits for an incoming TCP/IP connection on the given port.
.TP
TELNET [ options ] host
Opens a Telnet connection to the host and enters Connect state.
.TP
RLOGIN [ options ] host
Opens an Rlogin connection to the host and enters Connect state.
.TP
IKSD [ options ] host
Opens a connection to an Internet Kermit Service.
.TP
SSH [ options ] host
Opens an SSH connection to the host and enters Connect state.
.TP
FTP OPEN host [ options ]
Opens an FTP connection to the host.
.TP
HTTP [ options ] OPEN host
Opens an HTTP connection to the host.
.TP
PTY external\(hycommand
Runs the command on a pseudoterminal as if it were a connection.
.TP
PIPE external\(hycommand
Runs the command through a pipe as if it were a connection.
.RE
.SS
Using Connections
.RS
.TP
CONNECT [ options ]
Enters Connect (terminal) state.  Synonym: C.
.TP
REDIRECT command
Redirects the given external command over the connection.
.TP
TELOPT command
Sends a Telnet protocol command (Telnet connections only).
.TP
Ctrl\-\eC
"Escapes back" from Connect state to Command state.
.TP
Ctrl\-\eB
(In Connect state) Sends a BREAK signal (serial or Telnet).
.TP
Ctrl\-\e!
(In Connect state) Enters inferior shell; "exit" to return.
.TP
Ctrl\-\e?
(In Connect state) Shows a menu of other escape\(hylevel options.
.TP
Ctrl\-\eCtrl\-\e
(In Connect state) Type two
Ctrl\-Backslashes to send one of them.
.TP
SET ESCAPE [ character ]
Changes Kermit's Connect\(hystate escape character.
.RE
.SS
Closing Connections
.RS
.TP
HANGUP
Hangs up the currently open
serial\(hyport or network connection.
.TP
CLOSE
Closes the currently open
serial\(hyport or network connection.
.TP
SET LINE (with no devicename)
Closes the currently open
serial\(hyport or network connection.
.TP
SET HOST (with no hostname)
Closes the currently open serial\(hyport or network connection.
.TP
FTP CLOSE
Closes the currently open FTP connection.
.TP
HTTP CLOSE
Closes the currently open HTTP connection.
.TP
EXIT 
Also closes all connections. Synonym: QUIT.
.TP
SET EXIT WARNING OFF
Suppresses warning about open connections on exit or close.
.RE
.SS
File Transfer
.RS
.TP
SEND [ options ] filename [ as\(hyname ]
Sends the given file. Synonym: S.
.TP
SEND [ options ] filespec
Sends all files that match.
.TP
RESEND [ options ] filespec
Resumes an interupted SEND from the point of failure.
.TP
RECEIVE [ options ] [ as\(hyname ]                    
Waits passively for files to arrive. Synonym: R.
.TP
LOG TRANSACTIONS [ filename ]
Keeps a record of file transfers.
.TP
FAST
Use fast file\(hytransfer settings (default).
.TP
CAUTIOUS
Use cautious and less fast file\(hytransfer settings.
.TP
ROBUST
Use ultra\(hyconservative and slow file\(hytransfer settings.
.TP
STATISTICS [ options ] 
Gives statistics about the most recent file transfer.
.TP
WHERE
After transfer: "Where did my files go?".
.TP
TRANSMIT [ options ] [ofilename ]
Sends file without protocol. Synonym: XMIT.
.TP
LOG SESSION [ filename ]
Captures remote text or files without protocol.
.TP
SET PROTOCOL [ name... ]
Tells Kermit to use an external file\(hytransfer protocol.
.TP
FTP { PUT, MPUT, GET, MGET, ... }
FTP client commands.
.TP
HTTP { PUT, GET, HEAD, POST, ... }
HTTP client commands.
.RE
.SS
Kermit Server
.RS
.TP
ENABLE, DISABLE
Controls which server features can be used by clients.
.TP
SET SERVER
Sets parameters prior to entering Server state.
.TP
SERVER
Enters Server state.
.RE
.SS
Client of Kermit or FTP Server
.RS
.TP
[ REMOTE ] LOGIN [ user password ]         
Logs in to a Kermit server or IKSD that requires it.
.TP
[ REMOTE ] LOGOUT
Logs out from a Kermit server or IKSD.
.TP
SEND [ options ] filename [ as\(hyname ]                   
Sends the given file to the server. Synonyms: S, PUT.
.TP
SEND [ options ] filespec
Sends all files that match.
.TP
RESEND [ options ] filespec
Resumes an interupted SEND from the point of failure.
.TP
GET [ options ] remote\(hyfilespec
Asks the server to send the given files. Synonym: G.
.TP
REGET [ options ] remote\(hyfilespec
Resumes an interrupted GET from the point of failure.
.TP
REMOTE CD [ directory ]
Asks server to change its working
directory. Synonym: RCD.
.TP
REMOTE PWD [ directory ]
Asks server to display its working directory. Synonym: RPWD.
.TP
REMOTE DIRECTORY [ filespec... ]
Asks server to send a directory listing. Synonym: RDIR.
.TP
REMOTE DELETE [ filespec... ]
Asks server to delete files. Synonym: RDEL.
.TP
REMOTE [ command... ]
(Many other commands: "remote ?" for a list).
.TP
MAIL [ options ] filespec
Sends file(s) to be delivered as e\(hymail (Kermit only).
.TP
FINISH
Asks the server to exit server state (Kermit only).
.TP
BYE
Asks the server to log out and close the connection.
.RE
.SS
Script Programming
.PP
.RS
DEFINE, DECLARE, UNDEFINE, UNDECLARE, ASSIGN, EVALUATE, SEXPRESSION,
ARRAY, SORT, INPUT, OUTPUT, IF, FOR, WHILE, SWITCH, GOTO, ECHO, ASK,
GETC, GETOK, ASSERT, WAIT, SLEEP, FOPEN, FREAD, FWRITE, FCLOSE, STOP,
END, RETURN, LEARN, SHIFT, TRACE, VOID, INCREMENT, DECREMENT, ... For
these and many more you'll need to consult the manual and supplements,
and/or visit the Kermit Script Library, which also includes a brief
tutorial. Hint: HELP LEARN to find out how to get Kermit to write
simple scripts for you.
.RE
.PP
Many of Kermit's commands have synonyms, variants, relatives, and so on.
For example, MSEND is a version of SEND that accepts a list of file
specifications to be sent, rather than just one file specification, and
MPUT is a synonym of MSEND. MOVE means to SEND and then DELETE the source
file if successful. MMOVE is like MOVE, but accepts a list of filespecs,
and so on. These are described in the full documentation.
.PP
Use question mark to feel your way through an unfamiliar command, as in
this example:
.PP
.nf
  C\-Kermit> remote ? One of the following:
   assign     directory  kermit     print      rmdir
   cd         exit       login      pwd        set
   copy       help       logout     query      space
   delete     host       mkdir      rename     type
  C\-Kermit> remote set ? One of the following:
   attributes   file         retry        transfer
   block\-check  receive      server       window
  C\-Kermit> remote set file ? One of the following:
   character\-set  incomplete     record\-length
   collision      names          type
  C\-Kermit> remote set file names ? One of the following:
   converted  literal
  C\-Kermit> remote set file names literal
  C\-Kermit>
.PP
.fi
This is called menu on demand: you get a menu when you want one, but menus
are not forced on you even when know what you're doing. Note that you can
also abbreviate most keywords, and you can complete them with the Tab or
Esc key. Also note that ? works for filenames too, and that you can use it
in the middle of a keyword or filename, not just at the beginning. For
example, "send x?" lists all the files in the current directory whose names
start with 'x'.
.SH INITIALIZATION FILE
In its default configuration, C\(hyKermit executes commands from a file 
called .kermrc in your home directory when it starts, unless it is given the
\-Y or \-y command\(hyline option. Custom configurations might substitute a shared
system\(hywide initialization file. The SHOW FILE command tells what
initialization file, if any, was used. The standard initialization file
"chains" to an individual customization file, .mykermc, in the home directory,
in which each user can establish her/his own preferences, define macros, and
so on.
.PP
Since execution of the initialization file (at least the standard one)
makes C\(hyKermit take longer to start, it might be better not to have an
initialization file, especially now that Kermit's default startup
configuration is well attuned to modern computing and networking \(hy\(hy in
other words, you no longer have do anything special to make Kermit
transfers go fast. So instead of having an initialization file that is
executed every time Kermit starts, you might consider making one or more
kerbang scripts (with names other that .kermrc) that do NOT include an
"exit" command, and invoke those when you need the settings, macro
definitions, and/or scripted actions they contain, and invoke C\(hyKermit
directly when you don't.
.PP
To put it another way... We still distribute the standard initialization
file since it's featured in the manual and backwards compatibility is
important to us. But there's no harm in not using it if you don't need the
stuff that's in it (services directory, dialing directory, network
directory, and associated macro definitions). On the other hand, if there
are settings or macros you want in effect EVERY time you use Kermit, the
initialization file (or the customization file it chains to) is the place
to put them, because that's the only place Kermit looks for them
automatically each time you start it.
.SH MODES OF OPERATION
Kermit is said to be in Local mode if it has made a connection to another
computer, e.g. by dialing it or establishing a Telnet connection to it. The
other computer is remote, so if you start another copy of Kermit on the
remote computer, it is said to be in Remote mode (as long as it has not
made any connections of its own). The local Kermit communicates over the
communications device or network connection, acting as a conduit between
the the remote computer and your keyboard and screen. The remote Kermit is
the file\(hytransfer partner to the local Kermit and communicates only through
its standard input and output.
.PP
At any moment, a Kermit program can be in any of the following states. It's
important to know what they are and how to change from one to the other.
.TP
Command state
In this state, Kermit reads commands from:
.sp
\(bu	Your keyboard; or:
.br
\(bu	A file, or:
.br
\(bu	A macro definition.
.sp
You can exit from Command state back to Unix with the EXIT or QUIT
command (same thing). You can enter Connect state with any of various
commands (CONNECT, DIAL, TELNET, etc). You can enter file transfer
state with commands like SEND, RECEIVE, and GET. You can enter Server
state with the SERVER command. The TAKE command tells Kermit to read
and execute commands from a file. The (perhaps implied) DO command
tells Kermit to read and execute commands from a macro definition.
While in Command state, you can interrupt any command, macro, or
command file by typing Ctrl\-C (hold down the Ctrl key and press the C
key); this normally brings you back to the prompt.
.TP
Shell state
You can invoke an inferior shell or external command from the Kermit
command prompt by using the PUSH, RUN (!), EDIT, or BROWSE command.
While the inferior shell or command is active, Kermit is suspended and
does nothing. Return to Kermit Command state by exiting from the
inferior shell or application.
.TP
Connect state
In this state, which can be entered only when in Local mode (i.e. when
Kermit has made a connection to another computer), Kermit is acting as
a terminal to the remote computer. Your keystrokes are sent to the
remote computer and characters that arrive over the communication
connection are displayed on your screen. This state is entered when
you give a CONNECT, DIAL, TELNET, RLOGIN, or IKSD command. You can
return to command state by logging out of the remote computer, or by
typing:
.sp
  Ctrl\-\ec
.sp
That is: Hold down the Ctrl key and press the backslash key, then let
go of the Ctrl key and press the C key. This is called escaping back.
Certain other escape\(hylevel commands are also provided; type Ctrl\-\e?
for a list. For example, you can enter Shell state with:
.sp
  Ctrl\-\e!
.sp
To send a Ctrl\-\e to the host while in Connect state, type two of them
in a row. See HELP CONNECT and HELP SET ESCAPE for more info.
.TP
Local file\(hytransfer state
In this state, Kermit is sending packets back and forth with the other
computer in order to transfer a file or accomplish some other
file\(hyrelated task. And at the same time, it is displaying its progress
on your screen and watching your keyboard for interruptions. In this
state, the following single\(hykeystroke commands are accepted:
.sp
.RS
.TP
X
Interrupt the current file and go on to the next (if any).
.TP
Z
Interrupt the current file and skip all the rest.
.TP
E
Like Z but uses a "stronger" protocol (use if X or Z don't work).
.TP
Ctrl\-C
Interrupt file\(hytransfer mode (use if Z or E don't work).
.sp
.RE
Kermit returns to its previous state (Command or Connect) when the
transfer is complete or when interrupted successfully by X, Z, E, or
Ctrl\-C (hold down the Ctrl key and press the C key).
.TP
Remote file\(hytransfer state
In this state, Kermit is exchanging file\(hytransfer packets with its
local partner over its standard i/o. It leaves this state
automatically when the transfer is complete. In case you find your
local Kermit in Connect state and the remote one in File\(hytransfer
state (in which it seems to ignore your keystrokes), you can usually
return it to command state by typing three Ctrl\-C's in a row. If that
doesn't work, return your local Kermit to Command state (Ctrl\-\e C) and
type "e\(hypacket" and then press the Return or Enter key; this forces a
fatal Kermit protocol error.
.TP
Remote Server state
This is like Remote File\(hytransfer state, except it never returns
automatically to Command state. Rather, it awaits further instructions
from the client program; that is, from your Local Kermit program. You
can return the Remote Server to its previous state by issuing a
"finish" command to the client, or if you are in Connect state, by
typing three Ctrl\-C's in a row. You can tell the server job to log out
and break the connection by issuing a "bye" command to the client.
.TP
Local Server state
Like Remote\(hyServer state, but in local mode, and therefore with its
file\(hytransfer display showing, and listening for single\(hykey commands,
as in Local File\(hytransfer state. Usually this state is entered
automatically when a remote Kermit program gives a GET command.
.sp
C\(hyKermit, Kermit 95, and MS\(hyDOS Kermit all can switch automatically from
Connect state to Local File\(hytransfer state when you initiate a file
transfer from the remote computer by starting Kermit and telling it to send
or get a file, in which case, Connect state is automatically resumed after
the file transfer is finished.
.sp
Note that C\(hyKermit is not a terminal emulator. It is a communications
application that you run in a terminal window (e.g. console or Xterm). The
specific emulation, such as VT100, VT220, Linux Console, or Xterm, is
provided by the terminal window in which you are running C\(hyKermit. Kermit
95 and MS\(hyDOS Kermit, on the other hand, are true terminal emulators. Why
is C\(hyKermit not a terminal emulator? CLICK HERE to read about it.
.SH MAKING CONNECTIONS
Here is how to make different kinds of connections using interactive Kermit
commands (as noted above, you can also make connections with command\(hyline
options). Note that you don't have to make connections with Kermit. It can
also be used on the far end of a connection as the remote file transfer and
management partner of your local communications software.
.TP
Making a Telnet Connection
At the C\(hyKermit command prompt, simply type:
.sp
.nf
  telnet foo.bar.com
.fi
.sp
(substituting desired hostname or address).  
You can also include a port number:
.sp
.nf
  telnet xyzcorp.com 3000 ; 
.fi
.sp
If the connection is successful, Kermit automically enters Connect
state. When you logout from the remote host, Kermit automatically
returns to its prompt. More info: HELP TELNET, HELP SET TELNET, HELP
SET TELOPT. Also see the IKSD section below.
.TP
Making an Rlogin connection
This is just like Telnet, except you have to be root to do it because
Rlogin uses a privileged TCP port:
.sp
.nf
  rlogin foo.bar.com
.fi
.sp
More info: HELP RLOGIN.
.TP
Making an SSH Connection
Unlike Telnet and Rlogin, SSH connections are not built\(hyin, but
handled by running your external SSH client through a pseudoterminal.
Using C\(hyKermit to control the SSH client gives you all of Kermit's
features (file transfer, character\(hyset conversion, scripting, etc)
over SSH.
.sp
  ssh foo.bar.com
.sp
More info: HELP SSH, HELP SET SSH.
.TP
Dialing with a Modem
If it's an external modem, make sure it is connected to a usable
serial port on your computer with a regular (straight\(hythrough) modem
cable, and to the telephone jack with a telephone cable, and that it's
turned on. Then use these commands:
.sp
.nf
  set modem type usrobotics  ; Or other supported type
  set line /dev/ttyS0        ; Specify device name
  set speed 57600            ; Or other desired speed
  set flow rts/cts           ; Most modern modems support this
  set dial method tone       ; (or pulse)
  dial 7654321               ; Dial the desired number
.fi
.sp
Type "set modem type ?" for a list of supported modem types. If you
omit the SET MODEM TYPE command, the default type is
"generic\(hyhigh\(hyspeed", which should work for most modern AT\(hycommand\(hyset
modems. If the line is busy, Kermit redials automatically. If the call
does not succeed, use "set dial display on" and try it again to watch
what happens. If the call succeeds, Kermit enters Connect state
automatically and returns to its prompt automatically when you log out
from the remote computer or the connection is otherwise lost.
.sp
You can also dial from a modem that is accessible by Telnet, e.g. to a
reverse terminal server. In this case the command sequence is:
.sp
.nf
  set host ts.xxx.com 2000   ; Terminal\(hyserver and port
  set modem type usrobotics  ; Or other supported type
  set dial method tone       ; (or pulse)
  dial 7654321               ; Dial the desired number
.fi
.sp
If the terminal server supports the Telnet Com Port Option, RFC 2217,
you can also give serial\(hyport related commands such as SET SPEED, SET
PARITY, and so on, and Kermit relays them to the terminal server using
the protocol specified in the RFC.
.sp
More info: HELP SET MODEM, HELP SET LINE, HELP SET SPEED, HELP SET
FLOW, HELP DIAL, HELP SET DIAL, HELP SET MODEM, HELP SET 
CARRIER\-WATCH, SHOW COMMUNICATIONS, SHOW MODEM, SHOW DIAL.
.TP
Direct Serial Port
Connect the two computers, A and B, with a null modem cable (or two
modem cables interconnected with a null\(hymodem adapter or modem
eliminator). From Computer A:
.sp
.nf
  set modem type none   ; There is no modem
  set line /dev/ttyS0   ; Specify device name
  set carrier\-watch off ; If DTR CD are not cross\(hyconnected
  set speed 57600       ; Or other desired speed
  set flow rts/cts      ; If RTS and CTS are cross\(hyconnected
  set parity even       ; (or "mark" or "space", if necessary)
  set stop\-bits 2       ; (rarely necessary)
  set flow xon/xoff     ; If you can't use RTS/CTS
  connect               ; Enter Connect (terminal) state
.fi
.sp
This assumes Computer B is set up to let you log in. If it isn't, you 
can run a copy of Kermit on Computer B and follow approximately the
same directions. More info: As above plus HELP CONNECT.
.PP
With modems or direct serial connections, you might also have to "set
parity even" (or "mark" or "space") if it's a 7\(hybit connection.
.PP
Of the connection types listed above, only one can be open at a time.
However, any one of these can be open concurrently with an FTP or HTTP
session. Each connection type can be customized to any desired degree,
scripted, logged, you name it. See the manual.
.PP
NOTE: On selected platforms, C\(hyKermit also can make X.25 connections. See
the manual for details.
.SH TRANSFERRING FILES WITH KERMIT
There is a widespread and persistent belief that Kermit is a slow protocol.
This is because, until recently, it used conservative tuning by default to
make sure file transfers succeeded, rather than failing because they
overloaded the connection. Some extra commands (or command\(hyline options,
like \-Q) were needed to make it go fast, but nobody bothered to find out
about them. Also, it takes two to tango: most non\(hyKermit\(hyProject Kermit
protocol implementations really ARE slow. The best file\(hytransfer partners
for C\(hyKermit are: another copy of C\(hyKermit (7.0 or later) and Kermit 95.
These combinations work well and they work fast by default. MS\(hyDOS Kermit
is good too, but you have to tell it to go fast (by giving it the FAST
command).
.PP
Furthermore, all three of these Kermit programs support "autodownload" and
"autoupload", meaning that when they are in Connect state and a Kermit
packet comes in from the remote, they automatically switch into file
transfer mode.
.PP
And plus, C\(hyKermit and K95 also switch automatically between text and
binary mode for each file, so there is no need to "set file type binary" or
"set file type text", or to worry about files being corrupted because they
were transferred in the wrong mode.
.PP
What all of these words add up to is that now, when you use up\(hyto\(hydate
Kermit software from the Kermit Project, file transfer is not only fast,
it's ridiculously easy. You barely have to give any commands at all.
.TP
Downloading Files
Let's say you have Kermit 95, C\(hyKermit, or MS\(hyDOS Kermit on your
desktop computer, with a connection to a Unix computer that has
C\(hyKermit installed as "kermit". To download a file (send it from Unix
to your desktop computer), just type the following command at your
Unix shell prompt:
.sp
  kermit \-s oofa.txt
.sp
(where oofa.txt is the filename). If you want to send more than one
file, you can put as many filenames as you want on the command line,
and they can be any combination of text and binary:
.sp
  kermit \-s oofa.txt oofa.zip oofa.html oofa.tar.gz
.sp
and/or you can use wildcards to send groups of files:
.sp
  kermit \-s oofa.*
.sp
If you want to send a file under an assumed name, use:
.sp
  kermit \-s friday.txt \-a today.txt
.sp
This sends the file friday.txt but tells the receiving Kermit that its
name is today.txt. In all cases, as noted, when the file transfer is
finished, your desktop Kermit returns automatically to Connect state.
No worries about escaping back, re\(hyconnecting, text/binary mode
switching. Almost too easy, right?
.TP
Uploading Files
To upload files (send them from your desktop computer to the remote
Unix computer) do the same thing, but use the \-g (GET) option instead
of \-s:
.sp
  kermit \-g oofa.txt
.sp
This causes your local Kermit to enter server mode; then the remote
Kermit program requests the named file and the local Kermit sends it
and returns automatically to Connect state when done.
.sp
If you want to upload multiple files, you have have use shell quoting
rules, since these aren't local files:
.sp
.nf
  kermit \-g "oofa.txt oofa.zip oofa.html oofa.tar.gz"
  kermit \-g "oofa.*"
.fi
.sp
If you want to upload a file but store it under a different name, use:
.sp
  kermit \-g friday.txt \-a today.txt
.TP
Kermit Transfers the Old\(hyFashioned Way
If your desktop communications software does not support autoupload or
autodownload, or it does not include Kermit server mode, the procedure
requires more steps.
.sp
To download a file, type:
.sp
  kermit \-s filename
.sp
on the host as before, but if nothing happens automatically in
response to this command, you have to switch your desktop
communications software into Kermit Receive state. This might be done
by escaping back using keyboard characters or hot keys (Alt\-x is
typical) and/or with a command (like RECEIVE) or a menu. When the file
transfer is complete, you have to go back to Connect state, Terminal
emulation, or whatever terminology applies to your desktop
communications software.
.sp
To upload a file, type:
.sp
  kermit \-r
.sp
on the host (rather than "kermit \-g"). This tells C\(hyKermit to wait
passively for a file to start arriving. Then regain the attention of
your desktop software (Alt\-x or whatever) and instruct it to send the
desired file(s) with Kermit protocol. When the transfer is finished,
return to the Connect or Terminal screen.
.TP
If File Transfer Fails
Although every aspect of Kermit's operation can be finely tuned, there
are also three short and simple "omnibus tuning" commands you can use
for troubleshooting:
.RS
.TP
FAST
Use fast file\(hytransfer settings. This has been the default since
C\(hyKermit 7.0 now that most modern computers and connections
support it. If transfers fail with fast settings, try . . .
.TP
CAUTIOUS
Use cautious but not paranoid settings. File transfers, if they
work, will go at medium speed. If not, try . . .
.TP
ROBUST
Use the most robust, resilient, conservative, safe, and reliable
settings. File transfers will almost certainly work, but they
will be quite slow (of course this is a classic tradeoff; ROBUST
was C\(hyKermit's default tuning in versions 6.0 and earlier, which
made everybody think Kermit protocol was slow). If ROBUST doesn't
do the trick, try again with SET PARITY SPACE first in case it's
not an 8\(hybit connection.
.RE
.sp
Obviously the success and performance of a file transfer also depends
on C\(hyKermit's file transfer partner. Up\(hyto\(hydate, real Kermit Project
partners are recommended because they contain the best Kermit protocol
implementations and because we can support them in case of trouble.
.sp
If you still have trouble, consult Chapter 10 of Using C\(hyKermit, or
send email to kermit\(hysupport@columbia.edu.
.TP
Advanced Kermit File\(hyTransfer Features
Obviously there is a lot more to Kermit file transfer, including all
sorts of interactive commands, preferences, options, logging,
debugging, troubleshooting, and anything else you can imagine but
that's what the manual and updates are for. Here are a few topics you
can explore if you're interested by Typing HELP for the listed
commands:
.RS
.TP
Logging transfers:
LOG TRANSACTIONS (HELP LOG)
.TP
Automatic per\(hyfile text/binary mode switching:
SET TRANSFER MODE { AUTOMATIC, MANUAL } (HELP SET TRANSFER).
.TP
Cross\(hyplatform recursive directory tree transfer:
SEND /RECURSIVE, GET /RECURSIVE (HELP SEND, HELP GET).
.TP
File collision options:
SET FILE COLLISION { OVERWRITE, BACKUP, DISCARD, ... } (HELP SET FILE).
.TP
Update: Transfer only files that changed since last time:
SET FILE COLLISION UPDATE (HELP SET FILE).
.TP
Filename selection patterns:
(HELP WILDCARD).
.TP
Flexible file selection:
SEND (or GET) /BEFORE /AFTER /LARGER /SMALLER /TYPE /EXCEPT, ...
.TP
Character\(hyset conversion:
SET { FILE, TRANSFER } CHARACTER\-SET, ASSOCIATE, ...
.TP
File/Pathname control:
SET { SEND, RECEIVE } PATHNAMES, SET FILE NAMES.
.TP
Atomic file movement:
SEND (or GET) /DELETE /RENAME /MOVE\-TO
.TP
Transferring to/from standard i/o of other commands:
SEND (or GET) /COMMAND
.TP
Recovery of interrupted transfer from point of failure:
RESEND, REGET (HELP RESEND, HELP REGET).
.RE
.TP
Non\(hyKermit File Transfer
You can also use C\(hyKermit to transfer files with FTP or HTTP Internet
protocols; see below.
.sp
On a regular serial or Telnet connection where the other computer
doesn't support Kermit protocol at all, you have several options. For
example, if your desktop communications software supports Zmodem, use
"rz" and "sz" on the host rather than Kermit. But if Kermit is your
desktop software, and you are using it to make calls or network
connections to other computers that don't support Kermit protocol (or
that don't have a good implementation of it), then if your computer
also has external X, Y, or Zmodem programs that are redirectable,
Kermit can use them as external protocols. HELP SET PROTOCOL for
details.
.sp
You can also capture "raw" data streams from the other computer with
LOG SESSION (HELP LOG and HELP SET SESSION\-LOG for details), and you
can upload files without any protocol at all with TRANSMIT (HELP
TRANSMIT, HELP SET TRANSMIT).
.SH KERMIT'S BUILT\(hyIN FTP AND HTTP CLIENTS
Kermit's FTP client is like the regular Unix FTP client that you're used
to, but with some differences:
.TP
\(bu
It has lots more commands and features.
.TP
\(bu
Each FTP command must be prefixed with "ftp", for example "ftp open",
"ftp get", "ftp bye", etc (this is not strictly true, but until you're
more familiar with it, it's best to follow this rule).
.TP
\(bu
Commands like "cd", "directory", etc, execute locally, not on the
server. Use "ftp cd", "ftp dir", etc, to have them act on the server.
.TP
\(bu
You can have an FTP session and a regular Kermit serial or Telnet
session open at the same time.
.TP
\(bu
FTP sessions can be fully automated.
.PP
Pending publication of the next edition of the manual, the Kermit FTP
client is thoroughly documented at the Kermit Project website:
.sp
  http://www.columbia.edu/kermit/ftpclient.html
.sp
You also can use HELP FTP and HELP SET FTP to get descriptions of Kermit's
FTP\(hyrelated commands.
.PP
The HTTP client is similar to the FTP one, except you prefix each command
with HTTP instead of FTP: HTTP OPEN, HTTP GET, HTTP PUT, HTTP CLOSE, etc.
Type HELP HTTP for details, or visit the to view the manual supplements.
HTTP connections can be open at the same time as regular serial or Telnet
connections and FTP connections. So Kermit can manage up to three types
connections simultaneously.
.SH INTERNET KERMIT SERVICE
C\(hyKermit can be configured and run as an Internet service (called IKSD),
similar to an FTP server (FTPD) except you can (but need not) interact with
it directly, plus it does a lot more than an FTP server can do. The TCP
port for IKSD is 1649. It uses Telnet protocol. C\(hyKermit can be an Internet
Kermit Server, or it can be a client of an IKSD. You can make connections
from C\(hyKermit to an IKSD with any of the following commands:
.sp
.nf
  telnet foo.bar.edu 1649
  telnet foo.bar.edu kermit   ; if "kermit" is listed in /etc/services
  iksd foo.bar.edu
.fi
.sp
The IKSD command is equivalent to a TELNET command specifying port 1649.
For more information about making and using connections to an IKSD, see:
.sp
  http://www.columbia.edu/kermit/cuiksd.html
.sp
You can run an Internet Kermit Service on your own computer too (if you are
the system administrator). For instructions, see:
.sp
  http://www.columbia.edu/kermit/iksd.html
.SH SECURITY
All of C\(hyKermit's built\(hyin TCP/IP networking methods (Telnet, Rlogin, IKSD,
FTP, and HTTP) can be secured by one or more of the following IETF\(hyapproved
methods:
.PP
\(bu	MIT Kerberos IV
.br
\(bu	MIT Kerberos V
.br
\(bu	SSL/TLS
.br
\(bu	Stanford SRP
.PP
For complete instructions see:
.PP
  http://www.columbia.edu/kermit/security.html
.PP
And as noted previously, you can also make SSH connections with C\(hyKermit if
you already have an SSH client installed.
.SH ALTERNATIVE COMMAND\(hyLINE PERSONALITIES
When invoked as "kermit" or any other name besides "ftp" or "telnet",
C\(hyKermit has the command\(hyline options described above in the OPTIONS
section. However, if you invoke C\(hyKermit as "telnet" or "ftp", it changes
its command\(hyline personality to match. This can be done (among other ways)
with symbolic links (symlinks). For example, if you want C\(hyKermit to be
your regular Telnet client, or the Telnet helper of your Web browser, you
can create a link like the following in a directory that lies in your PATH
ahead of the regular telnet program:
.sp
  ln \-s /usr/local/bin/kermit telnet
.sp
Now when you give a "telnet" command, you are invoking Kermit instead, but
with its Telnet command\(hyline personality so, for example:
.sp
  telnet xyzcorp.com
.sp
Makes a Telnet connection to xyzcorp.com, and Kermit exits automatically
when the connection is closed (just like the regular Telnet client). Type
"telnet \-h" to get a list of Kermit's Telnet\(hypersonality command\(hyline
options, which are intended to be as compatible as possible with the
regular Telnet client.
.PP
Similarly for FTP:
.sp
  ln \-s /usr/local/bin/kermit ftp
.sp
And now type "ftp \-h" to see its command\(hyline options, and command lines
just like you would give your regular FTP client:
.sp
  ftp xyzcorp.com
.sp
but with additional options allowing an entire session to be specified on
the command line. Finally, if Kermit's
first command\(hyline option is a Telnet, FTP, IKSD, or HTTP URL, Kermit
automatically makes the appropriate kind of connection and, if indicated by
the URL, takes the desired action:
.TP
kermit telnet:xyzcorp.com
Opens a Telnet session
.TP
kermit telnet://olga@xyzcorp.com
Ditto for user olga
.TP
kermit ftp://olga@xyzcorp.com/public/oofa.zip
Downloads a file
.TP
kermit kermit://kermit.columbia.edu/kermit/f/READ.ME
Ditto for IKSD
.TP
kermit iksd://kermit.columbia.edu/kermit/f/READ.ME
(This works too)
.TP
kermit http://www.columbia.edu/kermit/index.html
Grabs a web page
.fi
.SH LICENSE
C\(hyKermit has an unusual license, but a fair and sensible one since the
Kermit Project must support itself out of revenue: it's not a BSD license,
not GPL, not Artistic, not commercial, not shareware, not freeware. It can
be summed up like this: if you want C\(hyKermit for your own use, you can
download and use it without cost or license (but we'd appreciate it if you
would purchase the manual). But if you want to sell C\(hyKermit or bundle it
with a product or otherwise distribute it in a commercial setting EXCEPT
WITH AN OPEN\(hySOURCE OPERATING SYSTEM DISTRIBUTION such as Linux, FreeBSD,
NetBSD, or OpenBSD, you must license it. To see the complete license, give
the LICENSE command at the prompt, or see the COPYING.TXT file distributed
with C\(hyKermit 7.0 or later, or download it from
.sp
  ftp://kermit.columbia.edu/kermit/c\-kermit/COPYING.TXT
.sp
Send licensing inquiries to kermit@columbia.edu.
.SH BUGS
See the following files for listings of known bugs, limitations,
workarounds, hints and tips:
.TP
ckcbwr.txt
General C\(hyKermit bugs, hints, tips.
.TP
ckubwr.txt
Unix\(hyspecific C\(hyKermit bugs, hints, tips.
.PP
Report bugs and problems by email to:
.sp
   kermit\-support@columbia.edu.
.sp
Before requesting technical support, please read the hints here:
.sp
  http://www.columbia.edu/kermit/support.html
.sp
and also read the C\(hyKermit Frequently Asked Questions:
.sp
  http://www.columbia.edu/kermit/ckfaq.html
.SH OTHER TOPICS
There's way more to C\(hyKermit than we've touched on here \(hy\(hy troubleshooting,
customization, character sets, dialing directories, sending pages, script
writing, and on and on, all of which are covered in the manual and updates
and supplements. For the most up\(hyto\(hydate information on documentation (or
updated documentation itself) visit the Kermit Project website:
.sp
  http://www.columbia.edu/kermit/
.PP
There you will also find Kermit software packages for other platforms:
different Unix varieties, Windows, DOS, VMS, IBM mainframes, and many
others: 20+ years' worth.
.SH DOCUMENTATION AND UPDATES
The manual for C\(hyKermit is:
.TP
.I
Using C\(hyKermit
Frank da Cruz and Christine M. Gianone,
Second Edition, Digital Press / Butterworth\(hyHeinemann, Woburn, MA, 1997, 622
pages, ISBN 1\-55558\-164\-1. This is a printed book. It covers C\(hyKermit 6.0.
.TP
The C\(hyKermit 7.0 Supplement
http://www.columbia.edu/kermit/ckermit2.html
.TP
The C\(hyKermit 8.0 Supplement
http://www.columbia.edu/kermit/ckermit3.html
.PP
Visit C\(hyKermit home page:
.sp
  http://www.columbia.edu/kermit/ckermit.html
.sp
to learn about new versions, Beta tests, and other news; to
read case studies and tutorials; to download source code, install packages,
and prebuilt binaries for many platforms. Also visit:
.TP
http://www.columbia.edu/kermit/scriptlib.html
The Kermit script library and tutorial
.TP
http://www.columbia.edu/kermit/newfaq.html
The Kermit FAQ (Frequently Asked Questions about Kermit)
.TP
http://www.columbia.edu/kermit/ckfaq.html
The C\(hyKermit FAQ (Frequently Asked Questions about C\(hyKermit)
.TP
http://www.columbia.edu/kermit/telnet.html
C\(hyKermit Telnet client documentation
.TP
http://www.columbia.edu/kermit/security.html
C\(hyKermit security documentation (Kerberos, SSL/TLS, etc)
.TP
http://www.columbia.edu/kermit/cuiksd.html
Internet Kermit Service user documentation
.TP
http://www.columbia.edu/kermit/iksd.html
Internet Kermit Service administrator documentation
.TP
http://www.columbia.edu/kermit/studies.html
Case studies.
.TP
http://www.columbia.edu/kermit/support.html
Technical support.
.TP
http://www.columbia.edu/kermit/k95tutorial.html
Kermit 95 tutorial.
.TP
comp.protocols.kermit.misc
The Kermit newsgroup (unmoderated).
.SH FILES
.TP
COPYING.TXT
C\(hyKermit license.
.TP
~/.kermrc
Initialization file.
.TP
~/.mykermrc
Customization file.
.TP
~/.kdd
Kermit dialing directory (see manual).
.TP
~/.knd
Kermit network directory (see manual).
.TP
~/.ksd
Kermit services directory (see manual).
.TP
ca_certs.pem
Certificate Authority certifcates used for SSL connections.
.TP
ckuins.txt
Installation instructions for Unix.  Also at
http://www.columbia.edu/kermit/ckuins.html.
.TP
ckcbwr.txt
General C\(hyKermit bugs, hints, tips.
.TP
ckubwr.txt
Unix\(hyspecific C\(hyKermit bugs, hints, tips.
.TP
ckcplm.txt
C\(hyKermit program logic manual.
.TP
ckccfg.txt
C\(hyKermit compile\(hytime configuration options.
.TP
ssh
(in your PATH) SSH connection helper.
.TP
rz, sz, etc.
(in your PATH) external protocols for XYZmodem.
.TP
/var/spool/locks (or whatever)
UUCP lockfile for dialing out (see installation instructions).
.SH AUTHORS
.TP
Software
Frank da Cruz and Jeffrey E Altman,
.br
1985\(hypresent, with contributions from hundreds of others all over the
world.
.TP
Documentation
Frank da Cruz and Christine M Gianone
.TP
Address
.nf
The Kermit Project \(hy Columbia Univerity
612 West 115th Street
New York NY 10025\-7799
USA
.fi
.TP
E\(hyMail
kermit@columbia.edu
.TP
Web
http://www.columbia.edu/kermit/
.fi
.br