1
0
mirror of https://github.com/PDP-10/its.git synced 2026-02-16 04:43:01 +00:00

KERMIT - file transfer.

This commit is contained in:
Lars Brinkhoff
2016-12-23 20:54:39 +01:00
committed by Eric Swenson
parent 686cbc12d5
commit 31e3aa5e67
8 changed files with 2060 additions and 1 deletions

105
doc/math/kermit.order Executable file
View File

@@ -0,0 +1,105 @@
-*-Text-*-
This is the file INFO;KERMIT >, which documents KERMIT, a file-transfer
program.

File: Kermit Node: Top Up: (DIR) Next: Simple
Kermit is a file transfer program which can send and receive text files
over a terminal line. It is particularly useful for transferring files
between an ITS and a PC or other random computer which has a modem but
isn't connected to any network.
* Menu:
* Simple:: Basic usage.
* Filenames:: File name syntax.
* Parameters:: Setting internal parameters.

File: Kermit Node: Simple Up: Top Next: Filenames
For purposes of this presentation, I'll refer to the machine which is at
the other end of the connection as the "PC", even though of course it
can be any machine which runs Kermit.
Typical use of Kermit is as follows:
1. Get ahold of a terminal emulator and a kermit program for your PC.
Often these come together in a single package. Kermit has many
implementations, inluding versions for Unix, IBM PC (crosstalk?),
Macintosh, VAX/VMS, and Symbolics 3600. Many of these are public
domain. I think the MIT microcomputer store sells it. You can
also get it from Columbia University, which is where Kermit originated.
2. Start the terminal emulator, dial up the ITS machine on the phone,
and log in.
3. Run the Kermit server with the DDT command :KERMIT. It will inform
you that it is entering Kermit server mode.
4. On the PC, run the kermit user program. This is usually a command
processor or menu which has commands like GET, SEND, and FINISH.
5. Issue GET and SEND commands to receive or transmit files.
6. Issue a FINISH command to halt the ITS KERMIT server.
7. Return to the terminal emulator to get back to ITS, etc.

File: Kermit Node: Filenames Up: Top Next: Parameters
In order to accomodate Kermit user programs which are unable to send or
receive filenames with spaces in them, ITS Kermit will treat a period in
the filename as a FN1/FN2 separator. E.g., to get file FOO TXT in the
current directory, issue the command GET FOO.TXT.
A second filename of LSP, LISP, TXT, or SCM will be ignored (treated
like >). (This is controlled by the Maclisp variable
*ITS-UNINTERESTING-TYPES*; see below.)
To accomodate Kermit user programs which don't like semicolons, but do
like colons, ITS Kermit will treat FOO: as if it were FOO; (assuming
that there is no FOO device).
By default, ITS Kermit will transmit version numbers for files which
have them. E.g. if you ask to get file FOO.LSP, and there is a local
file FOO 23, ITS Kermit will say that it is transmitting FOO.LSP.23.
If you don't want this, you'll have to set *VERSION-NUMBERS?* to NIL
(see below).

File: Kermit Node: Parameters Up: Top
Kermit is a Maclisp program. A number of interesting internal
parameters are stored as the values of global variables, and therefore
can be changed by using SETQ at a read-eval-print loop.
To get to a read-eval-print loop, type control-G. To enter Kermit
server mode, call the function SERVE with no arguments.
E.g.:
^G
QUIT
(PUSH "tex" *ITS-UNINTERESTING-TYPES*)
(...)
(SERVE)
Entering KERMIT server mode.
Here are some of the things you can set:
(DEFVAR *DEBUG?* NIL "T means supply debugging info as you run")
(DEFVAR *VERSION-NUMBERS?* T "T means include version numbers in file names")
(DEFVAR *MAX-RETRY-COUNT* 10. "times to retry a packet")
(DEFVAR *MIN-TIMEOUT* 2 "minimum timeout interval in seconds")
(DEFVAR *SERVER-TIMEOUT* 30 "timeout interval when in server mode")
(DEFVAR *SERIAL-INPUT* NIL "input stream for serial line")
(DEFVAR *SERIAL-OUTPUT* NIL "output stream for serial line")
(DEFVAR *COMMENTARY-STREAM* *TERMINAL-IO* "stream for messages to user")
See the source code (AI: MATH; KERMIT >) for inspiration.