[comp.os.os9] Question about Kermit

fips@rhrk.uni-kl.de (Reinhard Philipp) (11/06/90)

In using kermit with OS9 I get the following message:

Kermit Program   Version 1    Release 6 
Usage:   kermit c[le line esc.char]         (connect mode)
or:      kermit s[difl line] file ...       (send mode)
or:      kermit r[difl line]                (receive mode)
or:      kermit h[difl line]                (Host server mode)
or:      kermit g[difl line] file ...       (get file from server)
or:      kermit q[diful line]               (Quit remote Host server

Can anybody tell me the meaning of the options enclosed in brackets?
Especially of interest: how do I get to binary mode?

Please mail to fips@sun.rhrk.uni-kl.de or kche12@dkluni01.bitnet

Thanks in advance.
R. Philipp

neviatar@ruunsa.fys.ruu.nl (Hadass Eviatar) (11/07/90)

In <1990Nov6.144908.6080@rhrk.uni-kl.de> fips@rhrk.uni-kl.de 
(Reinhard Philipp) writes:


>In using kermit with OS9 I get the following message:

[Kermit options deleted]


>Can anybody tell me the meaning of the options enclosed in brackets?
>Especially of interest: how do I get to binary mode?

>Please mail to ...

Please include me as well! There are few things more frustrating than an
undocumented frog.

Thanks all, Hadass

====================================================================
Hadass Eviatar, Dept. of Molecular Biophysics, University of Utrecht
Physically:  Buys Ballot Laboratory, Princetonpl. 5, 3584 CC Utrecht
Electronically:                           neviatar@ruunsa.fys.ruu.nl
Acoustically:                                 030 - 531555/2839/2951

Always yield to temptation - Oscar Wilde.
====================================================================

pete@wlbr.IMSD.CONTEL.COM (Pete Lyall) (11/08/90)

Re: kermit options..... heres what I remember:

s - send mode. Sends file(s) specified on the command line.

r - receive mode. Receives files arriving on the designated line or
    stdin.

d - debugging flag.. causes chatty output. I think you can use
    more than one 'd' to get chattier output.

i - image mode. This is the BINARY mode you were interested in.

l [line] - terminal line to use in place of stdin and stdout (i.e.
    'kermit -ril /t2' receivesd a binary file arriving on the /T2
    line.

h - puts the kermit in server mode (sits there waiting for requests,
    and it will not terminate until it sees a 'f'inish command.

g - get mode. Issues a 'get' command to a listening server.

f - finish. Sends a 'f'inish command to close down a listening server.



Pete Lyall


-- 
Pete Lyall                                                   Contel Corporation
Compuserve: 76703,4230              OS9_Net: (805) 375-1401 (24hr 300/1200/2400)
Internet: pete@wlbr.imsd.contel.com     UUCP: {hacgate,jplgodo,voder}!wlbr!pete 

blarson@blars (11/08/90)

In article <1990Nov6.144908.6080@rhrk.uni-kl.de> fips@sun.rhrk.uni-kl.de (Reinhard Philipp) writes:
>
>Kermit Program   Version 1    Release 6 

You should complain to whoever gave you a copy without the
documentation.  The 1.5 doc is doesn't quite cover everything, for the
other options "Use the source, luke".  Why do you think I never
distributed a compiled version?

If you have os9/68k, definatly get the c-kermit 4f distribution from
the kermit/test direcory on watsun.cc.columbia.edu .


Authors:    Bill Catchings, Bob Cattani, Chris Maio, Columbia University
            Modified  from UNIX Kermit to Os9 Kermit By Glean Seaton and Robert
            A. Larson
            with fixes and contributions from many others.
Documentation:
            Walter Underwood, Ford Aerospace (Palo Alto, CA)
            Changed for Os9 Kermit by Robert A. Larson
Version:    1.5
Date:       July 1985

A  sample,  working  implementation of the Kermit "kernel" was written in the C
language, and widely distributed in the Kermit Protocol Manual.    This  kernel
was  intended  merely  to  illustrate the protocol, and did not include a "user
interface", nor some of the fancy features like server support, 8-bit  quoting,
file  warning, timeouts, etc.  Several sites have added the necessary trappings
to make this a production version of Kermit, usually under the  UNIX  operating
system.  Limited server functions have also been added to the Os9 version.

The  keyword style of user/program interaction favored by Kermit (program types
prompt, user types command followed by operands, program types another  prompt,
etc)  is  contrary to the UNIX style, so UNIX implementations have a style more
familiar to UNIX users.  The Os9 version has retained  this  style  of  command
interface.    C  versions  of Kermit are running successfully on VAX and PDP-11
UNIX systems, IBM 370-compatible mainframes  under  Amdahl  UTS,  and  the  SUN
Microsystems MC68000-based and other workstations.

There  is  a  new version of Kermit written in C called C-Kermit.  (The current
version as of July 1985 is 4c.)  It is recommended for  Unix  and  adapting  to
other  operating  systems  if  memory  is  adiquate.    (It is being adapted to
Os9/68000, but is probably to large for Os9/6809.)

Os9 filespecs are of the form 

    dir1/dir2/dir3/ ... /filename

where the tokens delimited by slashes form a path name, and are each limited to
29  characters  in  length.  The final token in a path is the actual file name.
By convention, it is of the form name.type, but there is nothing special  about
the dot separating name and type; to Os9 it's just another character, and there
may be many dots in a filename.

In the tradition of UNIX, here's the Os9 KERMIT "man page".

NAME            kermit - file transfer, virtual terminal over tty link

SYNOPSIS        kermit cl[e] line [esc]

                kermit r[ddifl] [line]

                kermit s[ddifl] [line] file ...

                kermit gl[ddif] line file ...
                                       2


                kermit ql[ddif] line

                kermit h[ddifl] [line]

DESCRIPTION     Kermit provides reliable file transfer  and  primitive  virtual
                terminal   communication   between   machines.    It  has  been
                implemented   on   many    different    computers,    including
                microprocessors  (see  below).    The  files transferred may be
                arbitrary ASCII data (7-bit  characters)  and  may  be  of  any
                length.    The file transfer protocol uses small (96 character)
                check summed packets, with  ACK/NACK  responses  and  timeouts.
                Os9 Kermit by defaults (changeable by compilation options) uses
                a fifteen "second" timeout and ten retries.

                The arguments to kermit are a set of flags (no  spaces  between
                the flags), three optional args (which, if included, must be in
                the same order as the flags  which  indicate  their  presence),
                and,  if  this is a Send or Get operation a list of one or more
                files.

                Kermit has six modes, Connect, Send, Receive,  Get,  Quit,  and
                Host.    Connect is for a virtual terminal connection, Send and
                Receive may be used to transfer files  in  a  non-server  mode,
                Send,  Get,  and Quit are used with a remote kermit server, and
                Host is used to make the Os9 system a  server  itself.    These
                modes are specified by the first flag, which should be c, s, r,
                g, q, or h respectively.  Exactly one mode must be specified.

                The d flag (debug) makes kermit a bit more verbose.  The states
                kermit  goes through are printed along with other traces of its
                operation.  A second, third, and even fourth d flag will  cause
                kermit to give an even more detailed trace.

                The i flag (image) allows slightly more efficient file transfer
                between Os9 machines.  Normally (on Kermits defined to  run  on
                Os9  systems)  return  is  mapped  to  CRLF on output, LF's are
                discarded on input, and bytes are masked to 7 bits.  If this is
                set,  no mapping is done on returns, and all eight bits of each
                byte are sent or received.

                The l flag (line) specifies the tty line that kermit should use
                to  communicate with the other machine.  This is specified as a
                regular filename, like "/t2".  If no  l  option  is  specified,
                standard  input is used and kermit assumes it is running on the
                remote host (i.e.. NOT the machine to which  your  terminal  is
                attached).

                The  e flag (escape) allows the user to set the first character
                of the two character escape sequence for Connect  mode.    When
                the escape character is typed, kermit will hold it and wait for
                the next character.  If the next character is c  or  C,  kermit
                will  close the connection with the remote host.  If the second
                                       3


                character is the same  as  the  escape  character,  the  escape
                character  itself  is passed.  An exclamation mark ('!') as the
                second character will cause shell to be forked.  (Use your  EOF
                character to return to the kermit connect mode.)  Any character
                other than these two results in a bell being sent to the user's
                terminal  and  no  characters  passed  to the remote host.  All
                other typed characters  are  passed  through  unchanged.    The
                default  escape  character  is  tilde ('~').  (Control-3 on the
                standard Coco keyboard.)

                The file arguments are only meaningful to a Send or Get kermit.
                The  Receiving  kermit  will attempt to store the file with the
                same name that was used to  send  it.    Os9  kermits  normally
                convert  outgoing  file names to uppercase and incoming ones to
                lower case (see the f flag).  If a filename  contains  a  slash
                (/) all outgoing kermits will strip off the leading part of the
                name through the last slash.  In  the  Get  command,  filenames
                will  be  sent  to the remote host as is and the filenames sent
                back will  be  converted  as  usual  for  a  receiving  kermit.
                (Wildcard characters may be expanded on the remote end.)

                The  Quit  command  will  send a "Generic Finish" packet to the
                remote kermit server.

                The Host command has not been fully implemented and  tested  as
                of this writing.

EXAMPLE         For  this  example  we  will  assume  two Os9 machines.  We are
                logged onto "Os9a" (the local machine), and want to communicate
                with "Os9b" (the remote machine).  There is a modem on "/t2".

                We  want  to  connect  to "Os9b", then transfer "file1" to that
                machine.

                We type:  

                    kermit cl /t2

                Kermit answers:  

                    Kermit: connected...

                Now we dial the remote machine and connect the modem.  Anything
                typed  on  the  terminal will be sent to the remote machine and
                any output from that machine will be displayed on our terminal.
                We hit RETURN, get a "login:" prompt and login.

                Now  we need to start a kermit on the remote machine so that we
                can send the file over.  First we start up the remote, (in this
                case   receiving)   kermit,  then  the  local,  (sending)  one.
                Remember that we are talking to Os9b right now.
                                       4


                We type:  

                    kermit r

                (there is now a Receive kermit on Os9b)

                We type ~ (the escape character) and then the letter c to  kill
                the local (Connecting) kermit:  ~c

                Kermit answers:  

                    Kermit: disconnected.

                We type:  

                    kermit sl /t2 file1

                Kermit answers:  

                    Sending file1 as FILE1

                When  the  transmission  is  finished,  kermit will type either
                "Send complete", or "Send failed.", depending on the success of
                the  transfer.    If we now wanted to transfer a file from os9b
                (remote) to os9a (local), we would use these commands:

                    kermit cl /t2
                      (connected to Os9b)
                    kermit s file9
                      ~c (talking to Os9a again)
                    kermit rl /t2

                After all the transfers were done, we should connect again, log
                off of Os9b, kill the Connect kermit and hang up the phone.

FEATURES        Kermit can interact strangely with the tty driver.

                The  KERMIT  Protocol  uses  only  printing  ASCII  characters,
                Ctrl-A, and CRLF.   Ctrl-S/Ctrl-Q  flow  control  can  be  used
                "underneath"   the   Kermit  protocol,  but  is  not  currently
                implemented in Os9 Kermit.

                Since BREAK is not an ASCII character,  kermit  cannot  send  a
                BREAK  to the remote machine.  On some systems, a BREAK will be
                read as a NUL.

                This kermit does have timeouts  when  run  under  Os9,  so  the
                protocol is stable when communicating with "dumb" kermits (that
                don't have timeouts).

DIAGNOSTICS     cannot open device
                The file named in the line argument did not exist  or  had  the
                                       5


                wrong permissions.

                Could not create file
                A Receive kermit could not create the file being sent to it.

                nothing to connect to
                A Connect kermit was started without a line argument.

-- 
blarson@usc.edu
		C news and rn for os9/68k!
-- 
Bob Larson (blars)	blarson@usc.edu			usc!blarson
	Hiding differences does not make them go away.  Accepting
	differences makes them unimportant.

fips@rhrk.uni-kl.de (Reinhard Philipp / Chemie) (11/26/90)

Thanks to all who responded to my query - no question left so far.
Since some of the answers were posted on the news I need not summarize.

		R. Philipp