home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
cdccyber.tar.gz
/
cdccyber.tar
/
cdckerdoc.txt
< prev
next >
Wrap
Text File
|
1988-08-16
|
22KB
|
501 lines
1. CYBER 170 KERMIT
Authors: Jim Knutson, University of Texas
Version: 2.2
Date: September 1984
Cyber Kermit was written for a Cyber 170/750 in FTN5, CDC's FORTRAN 77 com-
piler. It should run on any NOS or NOS/BE system with only minor changes to
the I/O routines. This is a necessary evil since every Cyber site seems to run
a different front end.
1.1. Cyber File Systems
The features of a Cyber file system of greatest interest to KERMIT users are
storage class, file structure, file specifications and character sets.
Cyber Storage Classes
The NOS and NOS/BE operating systems use the concept of local and permanent
file storage. This means that files that are to be kept around after a job is
finished must be moved to permanent storage first. Jobs that wish to use a
file from permanent storage must copy to local storage first before using it
(actually, direct access permanent files help alleviate this problem). Most
Kermit users will only want to use local files.
Cyber File Structure
Many Cyber files use internal structure information much like VMS files. These
internal structures are mainly used in executable binary files or certain CRM
record types. The internal structure of files is not currently supported by
Cyber Kermit. Cyber executable binaries, and multi-record files are not trans-
ferable using Kermit.
Cyber File Specification
A Cyber file name consists of from 1 to seven alphanumeric characters. NOS
systems allow the first character to be numeric but most Cyber processors do
not support this. Cyber Kermit allows the first character to be a digit on NOS
systems. Special characters are not allowed in the file name. File names
beginning with ZZ or SCR should be avoided, since these are commonly used
scratch file names. The Cyber Kermit command processor does not support wild
cards at this time.
Cyber Character Sets
Until the recent Cyber 800 Series mainframes, the character set used by most
Cyber systems was a six bit Display Code character set. The six bit character
sets supported by Cyber Kermit are the 63 character, 64 character and UT 64
character sets. These character sets not only differ in their ordering but
also in the characters they use. Some use the underscore and percent sign,
others do not. ASCII characters received by Cyber Kermit are translated to the
appropriate display code when possible. A character that can not be translated
will be set to a blank. Users of the 64 character set may have problems with
colons at the end of a line being truncated or lines with sequential colons
being split into two or more lines since the character value of a colon is 00B
(half of an End-Of-Line).
There are also several ASCII character sets in use on the various Cyber sys-
tems. One set, called 6/12, uses 6 bit display code characters with certain
characters set aside as flags to indicate case (upper/lower) or control charac-
ters. Cyber Kermit does not support the 6/12 character set. Another ASCII
character set is the 8/12 character set. This stores ASCII characters as 8
bits in a 12 bit byte. The exception to this is that an EOL (End-Of-Line) is
indicated by the usual CDC convention of at least twelve bits of 0 (0000B) in
the low order bits of the word. NUL characters are represented as 4000B to
prevent interpretation as an EOL sequence. Cyber Kermit also support UT 8/12
ASCII. The difference between this and NOS 8/12 ASCII is UT 8/12 ASCII uses
the NEL character (205B) from the 256 character ASCII set to represent an
End-Of-Line.
1.2. Program Operation
Cyber Kermit's prompt is "Kermit-170>". It must be run interactively and with-
out any parameters. Commands can then be typed in like this:
.kermit
Kermit-170>send foobar
[file foobar sent]
Kermit-170>status
[performance statistics are printed]
Kermit-170>receive
[files are received]
Kermit-170>exit
.
Cyber Kermit mimics the DEC-20 style command parser in that a question mark
followed by a carriage return may be placed anywhere on the command line. This
will display the options available at that point. Unfortunately, the entire
command will have to be retyped afterwards.
Command keywords may be abbreviated to their shortest unique combination. This
comes in very handy since Cyber Kermit does not support command completion.
Cyber Kermit may only be run as a remote Kermit. It must be watched during
transfer if the local Kermit has no timeout since it has no timeout
capabilities.
A Cyber filename is restricted to 7 alphanumeric characters with the first
character being an alpha. Kermit will use the first 7 valid characters of any
file being sent to the Cyber. If a file under that name already exists, an Er-
ror packet stating so will be sent back and Cyber Kermit will abort the trans-
fer.
If you are having trouble transferring files with Kermit, it may be due to the
parity. Cyber Kermit has no way of determining the parity of the connection so
it just guesses that it will be NONE. If you are having problems getting the
first packet to transfer, then this is probably the problem. If you are run-
ning with a parity other than NONE, then you must use the SET PARITY command
every time you enter Cyber Kermit.
1.3. Cyber Kermit Commands
The following is a list of Cyber Kermit commands and their description.
! command Execute a Cyber control command and then return to Kermit.
EXIT, QUIT Exit from Kermit-170. You may also stop Kermit-170 in the
midst of a transfer or during server operations by aborting the
program (CTRL-C or CTRL-G ABORT); the program traps them and
puts your terminal back to normal before halting.
HELP [topic] Give Help. There's a general help text, plus separate help
texts for each Kermit-170 command.
PUSH Exit to control command level saving the current Kermit en-
vironment. The environment will be restored when Kermit is
reentered.
RECEIVE Receive a file or group of files from the other host. If the
name in the header packet is not a legal Cyber file name, the
first 7 legal characters will be used.
If the file already exits as a local file, Kermit will abort
the transfer. If an error occurs during transfer, the file
being received will be removed from the local file list to al-
low the transfer to be retried. You should escape back to your
local Kermit after entering RECEIVE mode and give the SEND com-
mand.
SEND filename Send a file to the other host. The name of the file is passed
to the other host in a file header packet, so that the file can
be stored there with the same name. You should escape back to
your local Kermit and give the RECEIVE command. If you don't
do this fast enough the "send-init" packet may arrive prema-
turely. To prevent this, use SET DELAY or hit the RETURN key
on your microcomputer if it does not timeout.
SERVER Act as a server for another Kermit. Whatever options were
previously SET will be used. The server may be shut down from
the local Kermit by using the BYE or FINISH commands, or by
connecting back to the Cyber, and typing Control-C or Control-G
ABORT.
SET keyword value
Establish system-dependent parameters. You can examine their
values with the SHOW command. Numeric values may be decimal,
octal (postfixed with a B), or hexadecimal (postfixed by an H).
The following may be SET:
DATA-MODE ctype
Set the character code to use for files received by
Kermit-170. Allowable values for ctype are: ASCII,
DISPLAY-CODE, IMAGE-ASCII, NOS-ASCII. The interpreta-
tion of these is dependent on the system. DISPLAY-CODE
will be the six bit character set in use at the site
(63 or 64). ASCII will be NOS 8/12 ASCII for all sites
except the University of Texas. NOS-ASCII is used to
describe NOS 8/12 ASCII at UT while ASCII describes UT
8/12 ASCII. The default character set in use when Ker-
mit starts up is DISPLAY-CODE. Automatic character set
recognition is used for sending files unless
IMAGE-ASCII is set.
DEBUG option
Show packet traffic explicitly. Options are:
ALL Set all debug options.
LOG-FILE filename
Log states and packets to the specified file.
The default log-file is file KERMLOG.
OFF Don't display debugging information (this is
the default). If debugging was in effect, turn
it off and close any log file.
PACKETS Display each incoming and outgoing packet
(lengthy).
STATES Show kermit state transitions and packet num-
bers (brief).
DELAY decimal-number
How many seconds to wait before sending the first
packet. This gives you time to "escape" back and issue
a RECEIVE command.
DUPLEX keyword
Changes the method of echoing characters when being
prompted for commands. The choices are FULL and HALF.
Full means the Cyber will echo the characters you type.
Half means the local systems echoes them. Full is the
default, and is used by most hosts.
INIT-RETRY decimal-number
Set the maximum number of retries allowed for the in-
itial connection before giving up.
PARITY keyword
Allows you to adjust the parity on characters sent or
received by Kermit-170 to another system's require-
ments. The possibilities are NONE, EVEN, ODD, SPACE,
or MARK. If NONE, then the 8th bit can be used for
data when sending and receiving binary files. If other
than NONE, the 8th bit on outgoing characters will be
set to achieve the desired parity, and the 8th bit on
incoming characters will be discarded. The default is
NONE.
RECEIVE parameter value
These commands allow you to specify to the other Kermit
what the packets it sends should look like, or to in-
form this Kermit what to expect. Value may be
specified as a decimal number, an octal number (B
suffix), or a hexadecimal number (H suffix). Charac-
ters values are specified as the numeric equivalent of
the ASCII character.
END-OF-LINE value
The octal value of the ASCII character to be
used as a line terminator or packets, if one is
required by the other system. Carriage return
(15B) is the default.
PACKET-LENGTH value
Maximum packet length to send, decimal number,
between 20 and 94, 94 by default.
PAD-CHARACTER value
Character to use for padding. Default is NUL.
PAD-LENGTH value
How much padding to send before a packet.
Default is no padding.
QUOTE-CHARACTER value
What printable character to use for quoting of
control characters.
SYNC-CHARACTER value
The control character that marks the beginning
of the packet. Normally SOH (Control-A, ASCII
1). There should be no reason to change this.
TIME-OUT value
How many seconds the other Kermit should wait
for a packet before asking for retransmission.
RDELAY millisec
Set up a delay of millisec seconds before each TTY
read. This can be used for performance tuning by caus-
ing enough delay that data will be ready when the read
is issued. If data is not ready when the read is
issued, the job will be swapped out. The delay should
be specified as a multiple of 100. The default delay
is 100 milliseconds.
RETRY value
Set the maximum number of retries for a given packet
before giving up.
SEND parameter value
These commands allow you to specify how outgoing pack-
ets should look, in case the other Kermit has nonstan-
dard requirements.
END-OF-LINE value
The octal value of the ASCII character to be
used as a line terminator for packets, if one
is required by the other system. Carriage
return (15B) by default.
PACKET-LENGTH value
Maximum packet length to send, decimal number,
between 20 and 94, 94 by default.
PAD-CHARACTER value
Character to use for padding. Default is NUL.
PAD-LENGTH value
How much padding to send before a packet.
Default is no padding.
QUOTE-CHARACTER value
What printable character to use for quoting of
control characters. The default is "#" (43B).
there should be no reason to change this.
SYNC-CHARACTER value
The control character that marks the beginning
of the packet. Normally SOH (Control-A, ASCII
1). There should be no reason to change this.
TIME-OUT value
How many seconds the other Kermit should wants
before being asked for retransmission. Unfor-
tunately, the Cyber has no way of timing out so
this parameter is ignored.
SHOW Display current SET parameters, version of Kermit-170, and
other information.
STATUS Give statistics about the most recent file transfer.
1.4. Installation
Cyber Kermit is distributed in two forms. If you received it from Columbia
University, the sources are in UPDATE source format. If you received it from
the University of Texas, it will be in UPDATE program library format. Other
formats may be written by the University of Texas upon request.
The Cyber Kermit source comes in two files. One file (KERMUPL) will contain
the FTN5 source code for Kermit itself. The other file (AZLBUPL) contains the
COMPASS I/O and low level support routines supplied by the University of
Arizona. Many of these routines are FORTRAN interface routines to the COMPASS
system macros. These should run as is on NOS/BE systems and most should run as
is on NOS systems. The routines that are needed from AZLIB (the library
produced from AZLBUPL) are: CPU.BTZ, CPU.MFS, CPU.VFN, CLOSE, CPU.MVC, CPU.SCS,
CPU.SXT, CPU.TXS, OPEN, READ, WRITER, READC, READW, WRITEW, ENDRUN, RECALL,
RTIME, MOVECH, XSCS, XSXT, XTXS, XVFN, RETFILE, XCON, EXCST, and MACREL. These
routines should be assembled and placed in the file AZLIB and tested to make
sure they work on your system. The normal command sequence for this would be:
.UPDATE,P=AZLBUPL,F.
.COMPASS,I.
.LIBGEN,P=AZLIB.
The next thing to do is start building Kermit. There are several things to do
first, though. Cyber Kermit uses conditional compilation for the different
operating systems and site dependent routines. Modify the parameter defini-
tions in common deck COMCKER to reflect your operating system and site. Note
that the site definition is only usefull if you need to have site specific
routines or code. Currently, the only site specific routines are used to
change the duplex from FULL to HALF and back again (ECHOPLX used at UA, BELLC
used at UT). Site specific code is used at UT due to our strange character
sets, and for setting ASCII mode for I/O in subroutine FOPEN. The display code
character set parameter must also be modified in common deck COMCKER to reflect
the appropriate character set (63, 64) in use at your site.
NOS sites will probably have to modify subroutine RDELAY to accomodate the dif-
ferent format returned by the RTIME macro. If a NOS site would send it's mods
back to the University of Texas, then this could be conditionally compiled and
other NOS sites would no longer have to worry about this.
Once the duplex changing (not neccessary at half duplex sites, but be sure to
change the default duplex in subroutine BLOCK DATA to HALFDUP) and the code for
setting ASCII I/O has been set up debugging can take place. Decide on which
version of Cyber Kermit you wish to run (OVCAP or SEGLOAD). Most sites are
running the OVCAP version and installing it in the system nucleus. To build
the OVCAP version place the following lines in file UPDMODS:
*IDENT,moddeck
*DEFINE,OVCAP
and run the commands:
.UPDATE,P=KERMUPL,F,I=UPDMODS.
.FTN5,I,OPT=2. COMPILE KERMIT SOURCE
.FTN5,I,OPT=2,B=LIBREL. COMPILE LIBRARY SOURCE
.LIBGEN,P=KERMLIB. BUILD KERMIT LIBRARY
.LDSET,MAP=SBEX.
.LOAD,LGO. LOAD KERMIT, KERMLIB AND AZLIB
.NOGO,KERMIT.
To build the segload version, place the following segload directives into file
KERMSEG:
TREE KERMIT-(SET,HLPCMD,EXECMD,SERVER-(RECEIVE,SEND))
SET INCLUDE SHOW,STATUS,MATCH,SETVAL
RECEIVE INCLUDE RINIT,RFIEL,RDATA
SEND INCLUDE SINIT,SFILE,SDATA,SEOF,SBREAK
KERMIT GLOBAL PROTO,PACKET,DEBUG,MESSAGE,FILEIO,FILEIOC
END KERMIT
and run the commands:
.UPDATE,P=KERMUPL,F.
.FTN5,I,OPT=2. COMPILE KERMIT SOURCE
.LDSET,LIB=AZLIB
.LDSET,MAP=SBEX.
.SEGLOAD,I=KERMSEG,B=KERMIT. LOAD KERMIT, AZLIB
.LOAD,LGO.
.NOGO.
To aid in debugging of the OVCAP version, remove the line:
LDSET OMIT=SYSERR.
from the COMPASS main program. This was put there to remove uneeded
(hopefully) code and reduce field length.
Be sure to read the implementation notes in the program source. These notes
are likely to be the more upto date.
Planned further enhancements to Kermit-170 being done at the University of
Texas include:
- Addition of new server functions: directory, type, delete, etc.
- Two and Three character checksums.
- 8th-bit quoting, to allow transfer of binary files with systems that
can't use the parity bit for data.
- Repeat processing for data compression.
- Badly needed performance tuning. Currently we have been experiencing
700-900 baud effective data throughput on a 2400 baud line.
Index
! 2
CDC 0
Character Set 3
Control-C 2
CYBER 0
Debugging 3
Duplex 3
EXIT 2
Help 1, 2
NOS 0
NOS/BE 0
Parity 2, 3
Performance Tuning 4
PUSH 2
QUIT 2
RECEIVE 2
SEND 2
SERVER 2
SET 2
SHOW 5
STATUS 5
Table of Contents
1. CYBER 170 KERMIT 0
1.1. Cyber File Systems 0
1.2. Program Operation 1
1.3. Cyber Kermit Commands 2
1.4. Installation 5
Index 8