home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
comm
/
terminus-2.0d.lha
/
Terminus
/
Docs
/
xprkermit.doc
< prev
Wrap
Text File
|
1993-12-21
|
18KB
|
381 lines
XPR Kermit
Version 1.111 - RELEASE
December 21, 1991
Marco Papa - Felsina Software
Stephen R. Walton, Cal State Northridge
This is an implentation of an External Protocol (XPR) library for the
Kermit file transfer protocol. In keeping with the Kermit documents,
here is a list of the items supported and not supported.
XPR Kermit Capabilities At A Glance:
Local operation: Yes
Remote operation: No
Login scripts: *
Transfer text files: Yes
Transfer binary files: Yes
Wildcard send: Yes
File transfer interruption: Yes
Filename collision avoidance: No
Can time out: Yes
8th-bit prefixing: Yes
Repeat count prefixing: Yes
Alternate block checks: Yes
Terminal emulation: *
Communication settings: Yes
Transmit BREAK: *
Support for dialout modems: *
IBM mainframe communication: *
Transaction logging: No
Session logging (raw download): No
Debug logging: No
Packet logging: No
Act as server: No
Talk to server: Yes
Advanced server functions: No
Local file management: *
Command/Init files: *
UUCP and multiuser line locking: *
Long packets: Yes
Sliding Windows: No
File attributes packets: No
Command macros: *
Raw file transmit: *
The items marked with a '*' above are those which are to be provided by the
calling terminal emulation program. Notice that, although XPR Kermit itself
cannot be a "Kermit server," often the communcation program's scripting
capability will allow XPR Kermit to be used for the unattended transfer
of files between the Amiga and a remote machine.
I. Introduction
---------------
XPR Kermit implements the Kermit file transfer protocol in the form of an
Amiga External Protocol (XPR) library. This allows the addition of an
up-to-date version of the Kermit protocol to any communications program
which supports the XPR specification. For further information on Kermit,
read the book "Kermit: A File Transfer Protocol" by Frank da Cruz, 1986,
Digital Press.
To install XPR Kermit, simply copy the file "xprkermit.library" to your
LIBS: directory, and request your comm program to use XPRKERMIT as its
external file transfer protocol.
XPR Kermit supports Version 2.0 of the XPR Protocol specification. For
more details on this, I recommend that you find a copy of the XPR Zmodem
library, version 2.0. Its documentation contains a good deal of the
justification and philosophy of external protocol libraries, which I
won't repeat here.
Please note that this document assumes you already have some
understanding of what the Kermit protocol is, and how to use it. I
have tried to include a few hints about common problems, but there is
no substitute for obtaining and using a copy of the documentation for
the Kermit on the other system to which you will be talking. In
addition, two commercial books are available. "Kermit: A File
Transfer Protocol" by Frank da Cruz describes the protocol in some
detail. While aimed at those writing a Kermit program, it contains a
good deal of useful information about Kermit itself. "MS-DOS Kermit"
by Christine Gianone is, despite its title, a wealth of good
introductory information about any version of Kermit.
II. Setting Options
-------------------
XPR Kermit supports the parts of the Kermit protocol outlined in the table
above. There are currently seven user-settable parameters in XPR Kermit,
which cover the parameters which are most often necessary to customize.
If your communications problem is especially severe--for example, your
method of connection to another system swallows characters which are special
to Kermit, such as '#' or '&'--you may need to get a copy of the stand-alone
Kermit program, C Kermit for the Amiga, distributed via many paths.
There are actually two sets of "setup" parameters in XPR Kermit. The first
set are commands which XPR Kermit can send to a remote Kermit server. These
are not actually setups, but are in fact commands to XPR Kermit which cause it
to communicate with a remote Kermit server. The fourth command in this group
is "Change Options," which causes no communication. Instead, you are
requested for changes in the current values of the parameters which Kermit
will use for communication.
These items can be set in one of two ways. One method is with a simple
character string which is sent to XPR Kermit by the comm program; this string
will hereafter be referred to as the "init string." This is generally done if
an environment variable named "xprkermit" exists and has a value, in which
case XPR Kermit is sent the value when you first select XPR Kermit as your
protocol. Some comm programs also allow an initialization string to be sent
in other ways, such as from a script; VLT, for example, has an INITXPR script
command. The format of this string is specified by the external protocol.
The second, more elegant method, is with some type of requester or set
of requesters. In this case, you will be presented by your comm program
with a set of Intuition gadgets of some type which allow the choice of
XPR Kermit commands and the setting of the options.
However, the string method has the advantage of giving one the ability to
change external protocol settings non-interactively, such as from a script.
In the case of XPR Kermit, such a script can actually command XPR Kermit to
perform communication. One obvious use of this is to transfer an entire
directory tree from your Amiga to a remote machine: you can make the remote's
Kermit a server and command it to perform the appropriate CD commands, then
transfer files.
The currently supported XPR Kermit server commands are listed below.
The format of the init string is in parentheses, generally simply a
single letter.
Kermit Finish (F): Tells a Kermit server that you are done. The
remote server will stop being a server.
Kermit Bye (B): Tells a Kermit server that you are done; the server
will exit and log you off the remote machine.
Kermit CD (C{dir}): Change the default directory for files sent or
received by the Kermit server. Examples of the init string would
be 'C/bin' or 'Cuser:[username.amiga]'.
For setting options via an init string, the first character of the init
string must be the letter O (for Options). Following that letter can
be one or more of the option setting formats listed bellow; these
can be separated by whitespace and/or commas.
There are three settings which are either "yes" or "no." Your comm program
will give you some way of setting them interactively. Simple button gadgets
will be labeled "yes" and "no;" otherwise, you may see a string gadget,
into which you should type the word "yes" or "no" by hand. This string is
case-insensitive. In the init-string, "yes" is represented by the single
upper-case character Y.
Convert FileName (C{Y|N}): If "yes," then incoming file names are
converted to a form acceptable to the Amiga. Currently, this
means simply translating them to lower case. Default "yes."
Host Server (G{Y|N}): If "yes," then the host (remote) Kermit is
assumed to be in server mode. You will be prompted for file
names when you request an XPR Kermit receive, and this file
name will be sent to the server in the form of a Kermit GET
command. Default "no."
Keep Incomplete (K{Y|N}) If "yes," then incomplete files will be
kept. An incomplete file can result from either an actual
error in the transfer, or a user-requested cancellation of
a transfer in process. Default "no."
Text File (T{Y|N}): Flags whether the incoming file is text or binary.
If "yes," then carriage-return/line-feed pairs in the incoming
packet