home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / perkinelmeridris / pe7kerdoc.txt < prev    next >
Text File  |  2020-01-01  |  26KB  |  624 lines

  1.  
  2. 1.  IDRIS KERMIT
  3.  
  4. Authors:    Dan  L. Eisner,  C. Steven  Mayfield,  of  the  Perkin-Elmer Corp.
  5.             (Garden Grove, CA).  Based on the C KERMIT of Bill Catchings,  Bob
  6.             Cattani,   Chris   Maio,   Columbia   University  with  fixes  and
  7.             contributions from many others.  Bootstrap procedures coverted by
  8.             Chris Lent of the Cooper Union (New York, NY)
  9.  
  10.  
  11. Documentation:
  12.  
  13.             Dan  L.   Eisner,  Perkin-Elmer  Corp.(Garden  Grove, CA). Based on
  14.             documentation by Walter Underwood, Ford Aerospace (Palo Alto, CA)
  15.             Chris Lent, Cooper Union (New York, NY).
  16.  
  17. Version:    1.1(0)
  18.  
  19.  
  20. Date:       December 5, 1986
  21.  
  22. IDRIS PERKIN-ELMER 7000 SERIES KERMIT AT A GLANCE:
  23.  
  24.  
  25. Local operation:                        Yes
  26. Remote operation:                       Yes
  27. Transfers text files:                   Yes
  28. Transfers binary files:                 Yes
  29. Multiple file send:                     Yes
  30. ^X/^Y Interruption:                     No
  31. Filename collision avoidance:           No
  32. Timeouts:                               Yes
  33. 8th-bit Prefixing:                      Yes
  34. Repeat character compression:           Yes
  35. Alternate block check types:            Yes
  36. Communications settings:                Yes
  37. Terminal Emulation:                     No
  38. IBM Mainframe communications:           Yes
  39. Transaction logging:                    No
  40. Debug logging:                          Yes
  41. Raw Transmit:                           No
  42. Login scripts:                          No
  43. Act as server: (GET,SEND,FINISH)        Yes
  44. Talk to server: (GET,SEND,FINISH)       Yes
  45. Advanced commands for servers:          No
  46. Command/init files:                     No
  47. Handle file attributes:                 No
  48. Long Packets Support:                   No
  49. Sliding Windows Support:                No
  50.  
  51.  
  52. A  sample,  working implementation of the Kermit "kernel" was written in the C
  53. language, and widely distributed in the Kermit Protocol Manual.   This  kernel
  54. was  intended  merely  to illustrate the protocol, and did not include a "user
  55. interface", nor some of the fancy features like server support, 8-bit quoting,
  56. file warning, timeouts, etc.  Several sites have added the necessary trappings
  57. to make this a production version of Kermit, usually under the UNIX  operating
  58. system.
  59.  
  60. The keyword style of user/program interaction favored by Kermit (program types
  61. prompt, user types command followed by operands, program types another prompt,
  62. etc)  is contrary to the UNIX style, so UNIX implementations have a style more
  63. familiar to UNIX users.  C versions of Kermit are running successfully on  VAX
  64. and  PDP-11  UNIX systems, IBM 370 compatible mainframes under Amdahl UTS, and
  65. the SUN Microsystems MC68000-based and other workstations.
  66.  
  67. This version for the IDRIS system uses the same interface.
  68.  
  69.  
  70.                                      NOTE
  71.  
  72.      After   attempting   to   conditionalize   the  UNIX  versions,  the
  73.      conditionals  were  not  used.   The  required  interface  to  IDRIS
  74.      required too many changes to the UNIX version.  Instead a version to
  75.      complile and run on a IDRIS system was completed.  A  few  additions
  76.      to  the  UNIX version were added.  These additions are 8-bit quoting
  77.  
  78.      and repeat count prefixing.
  79.  
  80. 1.1 The IDRIS File system
  81.  
  82. IDRIS File Specifications
  83.  
  84. IDRIS filespecs are of the form
  85.  
  86. $   dir1/dir2/dir3/ ...  /filename
  87.  
  88. where  the tokens delimited by slashes form a path name, and by convention are
  89. each limited to 14 characters in length.  The final token in  a  path  is  the
  90. actual  file  name.   By convention, it is of the form name.type, but there is
  91. nothing special about the dot separating name and type;   to  UNIX  it's  just
  92. another character, and there may be many dots in a filename.
  93.  
  94. In the tradition of IDRIS, here's the UNIX Kermit "man page".
  95.  
  96.  
  97. INAME            Kermit - file transfer, virtual terminal over tty link
  98.  
  99.  
  100. SYNOPSIS        kermit -r[diutplb]
  101.  
  102.                 kermit -s[fdiutplb] file ...
  103.  
  104.                 kermit -g[fdiutplb] file....
  105.  
  106.                 kermit -x[dviutpl]
  107.  
  108.                 kermit -f[dtpl]
  109.  
  110.  
  111. DESCRIPTION     Kermit  provides  reliable file transfer and primitive virtual
  112.                 terminal  communication  between  machines.    It   has   been
  113.                 implemented   on   many   different   computers.    The  files
  114.                 transferred may be arbitrary ASCII data (7-bit characters) and
  115.                 may  be  of  any  length.   Binary  (8-bit)  files may also be
  116.                 transferred under most conditions.  The file transfer protocol
  117.                 uses  small  (96 character) checksummed packets, with ACK/NACK
  118.                 responses and timeouts.  Kermit currently uses  a  ten  second
  119.                 timeout and eight retries.
  120.  
  121.                 The  IDRIS  Kermit  command  line is in the style of TAR.  The
  122.                 arguments are a set of flags and, if this is  a  Send  or  Get
  123.                 operation a list of one or more files.
  124.  
  125.                 Kermit  has  four modes, Send, Receive, Get and Server.  These
  126.                 modes are for file transfer.  These modes are specified by the
  127.                 first  flag,  which  should  be  s,r,g,  or  x,  respectively.
  128.                 Exactly one mode must be specified.
  129.  
  130.                 The  d<integer  number>  flag  (debug) makes Kermit a bit more
  131.                 verbose.  The states Kermit goes  through  are  printed  along
  132.                 with  other traces of its operation.  A second parameter of an
  133.                 integer number must be present  with  the  d  flag.   A  value
  134.                 greater than 1 will cause Kermit to give an even more detailed
  135.                 trace.
  136.  
  137.                 The  i  flag  (image)  allows  slightly  more  efficient  file
  138.                 transfer between IDRIS machines.  Normally (on Kermits defined
  139.                 to  run on IDRIS systems) newline is mapped to CRLF on output,
  140.                 CR's are discarded on input, and bytes are sent  7  bits.   If
  141.                 this  is  set,  no  mapping is done on newlines, and all eight
  142.                 bits of each byte are sent or received.  This is  the  default
  143.                 for  all  other  Kermits.   The  parity is determined from the
  144.                 hardware or the input command line and the 8-bit quote flag is
  145.                 internally  set  with  respect  to  the  parity setting.  This
  146.                 determination of the parity produces image  transfers  if  the
  147.                 receiving or sending Kermit supports the 8-bit quote mode.  If
  148.                 the image mode is not supported (by  either  side)  and  image
  149.                 mode is requested by one of the sides, the transfer is aborted
  150.                 and an error message is sent.
  151.  
  152.                 The  u  flag  (upercase)  turns  off the file name conversion.
  153.                 Normally (the default) file names  are  converted  from  lower
  154.                 case  to  upper case on transfers out of the IDRIS machine and
  155.                 converted from upper case to lower case when a  file  name  is
  156.                 received by the IDRIS machine.  The u flag when off causes the
  157.                 file name to be not converted (case conversion only).
  158.  
  159.                 The  t  flag  (turnaround) tells Kermit while in protocol mode
  160.                 (sending or receiving) to  wait  for  a  turnaround  character
  161.                 (XON)  from the other host after receiving every packet.  This
  162.                 is necessary to run Kermit with a half duplex host such as  an
  163.                 IBM mainframe.
  164.  
  165.                 The  p<char> flag (parity) allows parity to be set on outgoing
  166.                 packets and stripped on incoming ones.   This  is  useful  for
  167.                 communicating  with  IBM  hosts  or  over  networks,  such  as
  168.                 TELENET, that usurp the parity bit.  The possible  values  for
  169.                 parity are mark, space, even, odd or none (the default).
  170.  
  171.                 The  l<device  string> flag (line) specifies the tty line that
  172.                 Kermit should use to communicate with the other machine.  This
  173.                 is specified as a regular filename, like "/dev/tty1".  If no l
  174.                 option is specified, /dev/lnk0 is used.
  175.  
  176.                 The  b<integer  number> flag (baud) sets the baud rate for the
  177.                 terminal line.  This means that the baud rate of the  terminal
  178.                 line  will  be  set  to the given speed.  Valid rates are 110,
  179.                 150, 300, 1200, 2400, 4800, and 9600.  The  normal  number  of
  180.                 stop bits is one except for 110 baud which is set to two.
  181.  
  182.                 The  v  flag  (verbose)  allows  the  output  of informational
  183.                 messages during a get operation.  The number  of  packets  are
  184.                 displayed  along with informational messages that are normally
  185.                 present with the send and receive commands. The v flag also
  186.         causes the version number of IDRIS Kermit to be printed.
  187.  
  188.                 The  file  arguments  are  only  meaningful  to  a Send or Get
  189.                 Kermit.  The Receiving Kermit will attempt to store  the  file
  190.                 with  the  same  name that was used to send it.  IDRIS Kermits
  191.                 normally convert outgoing file names to uppercase and incoming
  192.                 ones to lower case (see the u flag).  To disable this feature,
  193.                 turn on the u flag.  If a filename contains a slash (/) Kermit
  194.                 will  strip  off the leading part of the name through the last
  195.                 slash.  There may be multiple file names on the command  line.
  196.                 If "wild cards" are included in the file name the command line
  197.                 must be passed thru the shell processor  to  expand  the  file
  198.                 names.   The  Get command passes the complete file name string
  199.                 to the remote processor and it is up to the  remote  processor
  200.                 to parse the file names (including wild-cards).
  201.  
  202.  
  203. 1.2 Program Operation
  204.  
  205.  
  206. EXAMPLE         For  this  example  we will assume two IDRIS machines.  We are
  207.                 logged  onto  "IDRISa"  (the  local  machine),  and  want   to
  208.                 communicate  with  "IDRISb"  (the remote machine).  There is a
  209.                 modem on "/dev/tty3".
  210.  
  211.                 We  want to connect to "IDRISb", then transfer "file1" to that
  212.                 machine.
  213.  
  214. We type:
  215.  
  216. *                  cu -l/dev/tty3 -s1200
  217.  
  218. cu answers
  219.  
  220.                   recv
  221.  
  222.                 Now  we  dial  the  remote  machine  and  connect  the  modem.
  223.                 Anything typed on the terminal will  be  sent  to  the  remote
  224.                 machine  and any output from that machine will be displayed on
  225.                 our terminal.  We hit RETURN, get a "login:" prompt and login.
  226.  
  227.                 Now we need to start a Kermit on the remote machine so that we
  228.                 can send the file over.  First we start  up  the  remote,  (in
  229.                 this  case  receiving)  Kermit, then the local, (sending) one.
  230.                 Remember that we are talking to IDRISb right now.
  231.  
  232. We type:
  233.  
  234.                   kermit r
  235.  
  236.                 (there is now a Receive Kermit on IDRISb)
  237.  
  238.                 We type \ (the escape character) and then the letter q to kill
  239.                 the local (Connecting) cu
  240. We type:
  241.  
  242.                   kermit -s -l/dev/tty3 file1
  243.  
  244.                 Kermit answers:
  245.  
  246.                   Sending file1 as FILE1
  247.  
  248.                 When  the  transmission  is  finished, Kermit will type either
  249.                 "Send complete", or "Send failed.", depending on  the  success
  250.                 of  the  transfer.   If  we now wanted to transfer a file from
  251.                 IDRISb  (remote)  to  IDRISa  (local),  we  would  use   these
  252.                 commands:
  253.  
  254.                   cu -l/dev/tty3 -s1200
  255.  
  256.                   (connected to IDRISb)
  257.  
  258.                   kermit -s file9
  259.  
  260.                   \q (talking to IDRISa again)
  261.  
  262.                 kermit -r -l/dev/tty3
  263.  
  264.                 After  all  the  transfers were done, we should connect again,
  265.                 log off of IDRISb, kill the Connect Kermit  and  hang  up  the
  266.                 phone.
  267.  
  268. 1.3 IDRIS KERMIT FEATURES
  269.  
  270. FEATURES        Kermit  can  interact  strangely  with  the  tty  driver.   In
  271.                 particular, a tty with "hangup on last close" set (stty  hup),
  272.                 will  reset to 300 Baud between Kermit commands.  It will also
  273.                 hang up a modem at that time.  It is better to run with  "stty
  274.                 -hup", and use "stty 0" to explicitly hang up the modem.
  275.  
  276.                 The  Kermit  Protocol  uses  only  printing  ASCII characters,
  277.                 Ctrl-A, and CRLF.  Ctrl-S/Ctrl-Q  flow  control  can  be  used
  278.                 "underneath" the Kermit protocol.
  279.  
  280.                 Since  BREAK  is  not an ASCII character, Kermit cannot send a
  281.                 BREAK to the remote machine.  On some systems, a BREAK will be
  282.                 read as a NUL.
  283.  
  284.                 This  Kermit  does  have timeouts when run under IDRIS, so the
  285.                 protocol is stable  when  communicating  with  "dumb"  Kermits
  286.                 (that don't have timeouts).
  287.  
  288.  
  289. 1.4 IDRIS KERMIT ERROR MESSAGES
  290.  
  291. DIAGNOSTICS
  292.                 Diagnostics  are  of three formats.  "Kermit usage" are errors
  293.                 detected due to usage errors.  "Kermit" errors are during file
  294.                 receiving  and  abort  the program.  Messages without a prefix
  295.                 are informational messages.  A listing of errors follow:
  296.  
  297.         Kermit usage:  Invalid command line.  Not enough arguments
  298.                 Kermit was called without any arguments.
  299.  
  300.         Kermit usage:  Cannot open <device>.
  301.                 The  file  named in the line argument did not exist or had the
  302.                 wrong permissions.
  303.  
  304.         Kermit usage:  Only one command allowed -g !  r !  s !  x.
  305.                 The command line contained two commands.
  306.  
  307.         Kermit usage:  Finish with server or receive?
  308.  
  309.                 The finish flag was turned on along with the server or receive
  310.                 flag.  This  usage  is  incompatable  with  each  other.   The
  311.                 receive or server is told to finish from the remote Kermit and
  312.                 not from the local Kermit.
  313.  
  314.         Kermit usage:  Improper parity call out.
  315.                 The command line p flag did not contain a 'n' or 'e' or 'o' or
  316.                 'm' or 's'.
  317.  
  318.         Kermit usage:  File name required.
  319.                 The input command line did not contain a file name as required
  320.                 by the requested conmmand (get or send).
  321.  
  322.         Kermit usage:  Bad line speed.
  323.                 The baud rate inputed was not a valid baud rate.
  324.  
  325.         Kermit usage:  Get failed.
  326.                 The Get command failed.
  327.  
  328.         Kermit usage:  Send failed.
  329.                 The Send command failed.
  330.  
  331.         Kermit usage:  Receive failed.
  332.                 The Receive command failed.
  333.  
  334.         Kermit usage:  Finish failed.
  335.                 The Finished command failed.
  336.  
  337.         Get done.
  338.                 The Get command completed.
  339.  
  340.         Send done.
  341.                 The Send command completed.
  342.  
  343.         Receive done.
  344.                 The Receive command completed.
  345.  
  346.         Finish done.
  347.                 The Finish command completed.
  348.  
  349.         Requesting <inputed file name> as <converted file name>
  350.                 The  Get  command  is stating the files that it will be using.
  351.                 If file name conversion is in effect the data output will show
  352.                 the  conversion.   The  inputed  file  name  is  what the user
  353.                 requested, The converted file  name  is  what  the  system  is
  354.                 sending to the other system.
  355.  
  356.         Kermit:  Cannot open file <file name>
  357.                 The  open  file  request  from  the  Send command could not be
  358.                 completed.  The file may not exist or the user does  not  have
  359.                 access to the file.
  360.  
  361.         Sending <typed file name> as <converted file name>
  362.                 The Send command is stating the files that it will be using.
  363.  
  364.         Receiving <received file name> as <outputed file name>
  365.                 The  receive  processor  is stating the file names that it has
  366.                 received and the file names it will be storing the data into.
  367.  
  368.         Sending <inputed file name> as <outputed file name>
  369.                 The  send  processor is stating the file names that it will be
  370.                 using in the send process.
  371.  
  372.         <integer number> / <integer number>
  373.                 The  send packet routine is showing the total count of packets
  374.                 it has sent versus the total count of error packets that  have
  375.                 been sent or received.
  376.  
  377.         Kermit:  Abort with error from remote host:
  378.         <text from remote Kermit>
  379.                 The remote Kermit detected an error and is notifying the local
  380.                 Kermit what hat error was.
  381.  
  382.  
  383. REMOTE ERRORS   Invalid server command
  384.                 A  g  packet  was  received  and  the  command  has  not  been
  385.                 implemented or the command is not valid.
  386.  
  387.                 Unknown packet type
  388.                 The server received a packet which it did not recognize.
  389.  
  390.                 Cannot create <file name>
  391.                 The  receiving  Kermit could not create the file being sent to
  392.                 it.
  393.  
  394.                 Cannot open file <file name>
  395.                 The remote server could not open the file for sending.
  396.  
  397.                 Binary file transfer not supported
  398.                 The  send-init  parameters detected that binary file transfers
  399.                 were not possible.  The parity bit is on and 8-bit quoting  is
  400.                 off and image has been requested is an example of this error.
  401.  
  402.  
  403.                 The debug output messages are not listed.
  404.  
  405.  
  406. 1.5 INSTALLATION OF IDRIS KERMIT
  407.  
  408. 1.5.1    Bootstrapping from the communication line
  409.  
  410.     Two methods exist for transferring the Kermit bootstrap programs
  411.     to the Perkin-Elmer 7000 Series computer.  One method is to
  412.         use a terminal emulation package resident on the PE-7000 to
  413.         "download" the two files PE7BOO.BAS and PE7KER.BOO. Perkin-Elmer
  414.     supports the 'cu' command for terminal emulation with the 7000
  415.         Series computer.  The 'cu' program will log characters coming into
  416.         the RS-232 port, BUT ONLY if correctly instructed by the REMOTE host.
  417.  
  418.     The sequence is as follows:
  419.  
  420.     PE7000 User:                              Comments
  421.         $ cu -l/dev/tty2 -s9600                   <--User calls up terminal
  422.                                                   Emulator
  423.         recv                                      <--PE is ready termulate
  424.     Remote host ready                         <--Remote computer prompts
  425.         login:j.user
  426.         password:
  427.  
  428.         Welcome to N-IX System 3.141592 Release 2.718
  429.             .
  430.  
  431.         $ # Well, let's assume some Unix-ish remote computer environment
  432.                         .
  433.                         .
  434.  
  435.         [ By some means the user constructs a procedure to type
  436.          a backslash, a greater-than, a filename (the name the file
  437.          will be on the PE-7000), and a carriage-return line-feed. 
  438.          The procedure then lists a file (at 1200 baud or lower)
  439.          and finally types a backslash, a period and a carriage-return
  440.          line-feed sequence.  (Of course, all this must be done without
  441.          actually typing the \> sequence during the construction!)
  442.  
  443.          The backslash greater-than filename sequence tell cu to start
  444.          logging the terminal session to the filename given and stop
  445.          displaying anything else.  The terminal session will renew
  446.          with the backslash period carriage-return linefeed and
  447.          close the logfile.]
  448.  
  449.          [ Output required from remote host ]
  450.  
  451.          \>pe7ker.bas                           <---No space between > and
  452.                [List the pe7ker.bas file.]      <--- filename
  453.          \.
  454.  
  455.          [On UNIX this can be done with the following Bourne shell script]
  456.          $ cat >feedcu.sh
  457.          # feedcu.sh
  458.          # Usage feedcu.sh filename
  459.          echo '\''>'$1
  460.          cat $1
  461.          echo '\''.'
  462.          <control-d>
  463.          $ # and that's all folks
  464.          [Note that when you type the backslash in 'cu' it is not echoed
  465.           until the next character is typed. ]
  466.  
  467.          $ # So to download pe7boo.bas go
  468.          $ # Make feedcu.sh executable
  469.          $ chmod 0755 feedcu.sh
  470.          $ feedcu.sh pe7boo.bas
  471.          \> pe7boo.sh                               <---- PE-7000 indicate
  472.                                         <---- transfer in progress 
  473.          $ # When done check on the file.  The filename on the PE-7000 may
  474.          have spaces before or after it.  You may have to download
  475.          repeatedly to get a workable copy of pe7boo.sh
  476.          $ exit
  477.          [ and \q ] to quit the cu emulator. MAKE SURE TO HANG UP THE PHONE!
  478.  
  479.         The same procedure is repeated for pe7ker.boo, which is an
  480.         text-encoded version of the pe7ker.exe program.
  481.    
  482.         The other manner is comparatively more simple but requires more
  483.         of the remote host.  First start a login running on one of
  484.         the RS-232 ports of the PE-7000, as described in Vol. 2 Section 6
  485.         of the 7000 Series User's Guide.  Then with some other host
  486.         (usually a PC running MS-KERMIT 2.29 or above) you login to
  487.         the 7000 Series system and type :
  488.  
  489.         $ cat >pe7boo.bas
  490.  
  491.         and then use the ASCII uploading function, TRANSMIT, to send
  492.         the pe7boo.bas. (Most commercial terminal emulator packages have
  493.         some sort of ASCII upload function.)  Similarly after you've verified
  494.         that pe7boo.bas was uploaded correctly, upload pe7ker.boo.
  495. 1.5.2   DECODING .BOO files
  496.         
  497.         Now that the files, pe7boo.bas and pe7ker.boo are on the PE-7000,
  498.         type the following command:
  499.  
  500.     $ basic -rpe7boo.bas
  501.  
  502.         and after about 10 minutes the file PE7KER.EXE will be produced.
  503.         Please note the file name is in UPPERCASE.  The next task is to
  504.         retransfer pe7ker.boo with PE7KER.EXE so that you are assure
  505.         of a good working copy.  Lastly, so you won't have to repeat this
  506.         may a backup and put it somewhere safe and away from the computer
  507.         area.
  508.  
  509.         Note also that the .BOO format is also used to bootstrap the MS-DOS
  510.         version of Kermit and is compatible with the programs MSBPCT.BAS and
  511.         MSBMKB.EXE.
  512.  
  513. 1.5.3   PHONE
  514.  
  515.     PE7PHO.EXE is a Hayes modem control program for the PE-7000.
  516.         PE7PHO.BOO is a .BOO encoded version of PE7PHO.EXE.
  517.  
  518.         To convert PE7PHO.BOO to PE7PHO.EXE do the following steps:
  519.  
  520.             [Bootstrap procedure for PE7PHO.EXE]
  521.  
  522.              $ basic
  523.  
  524.              Perkin-Elmer 7000 Series Computer Basic  ver.  1.30
  525.              (c) 1983 PERKIN-ELMER  All Rights Reserved
  526.              (c) 1981, 1982 Hemenway Corp.  All Rights Reserved
  527.  
  528.              ready
  529.              load "pe7boo.bas"
  530.  
  531.              ready
  532.              list 65
  533.              65 k$="pe7ker.boo":rem filename case significant
  534.  
  535.              ready
  536.              65 k$="pe7pho.boo"
  537.              run
  538.              PE7BOO.BAS Version 2.3a (Derived from IBM-PC MSBPCT.BAS)
  539.              PE7PHO.EXE
  540.              Outputting to PE7PHO.EXE
  541.              Null:         14 
  542.              Null:           2 
  543.              Null:       3 
  544.              Null:        2 
  545.  
  546.                             [ And so on for five minutes ... ]
  547.  
  548.              Null:       4 
  549.              Null:       4 
  550.              Null:       5 
  551.  
  552.              Processing complete, elapsed time: 02:11:58 to 02:16:41
  553.              Output in PE7PHO.EXE
  554.  
  555.              ready
  556.  
  557.              system
  558.  
  559.              basic terminated
  560.              $ chmod +x PE7PHO.EXE
  561.              $ ./PE7PHO.EXE
  562.              Phone usage: No arguments given.
  563.              $
  564.  
  565.              [End of PE7PHO.EXE bootstrap procedure ]
  566.  
  567. 1.5.4 USING THE PHONE PROGRAM
  568.  
  569.     Phone is designed to intialize dial and hangup a Hayes modem attached
  570. to a serial port. The command line options are listed following:
  571.  
  572.    Usage:
  573.     $ PE7PHO.EXE -i -d -v -l -b -a -p -h -c
  574.  
  575.    where   i=init modem <flag>, d=debug level <number>, v=verbose <flag>,
  576.          l=line <device>, b=baud rate <number>, a=answer <flag>,
  577.          p=phone number <string>, h=hang-up request <'a' or 'o'>,
  578.          c=direct connect <'a' or 'o'>
  579.  
  580. 1.5.4.1 Sample session
  581.  
  582. The following session show dialing with PHONE in verbose mode, connecting
  583. for a terminal session with 'cu' and then hanging up the phone with PHONE.
  584.  
  585.           $ PE7PHO.EXE -v -l/dev/tty0 -b1200 -p 5551212
  586.           Phone: Initializing the modem
  587.           Phone: Dialing 5551212
  588.           Phone: Connect at 1200 Baud
  589.           $ cu -l/dev/tty0 -s 1200
  590.           recv
  591.  
  592.           [ And the terminal session starts]
  593.  
  594.                  ...
  595.  
  596.           [ Continues]
  597.       
  598.                  ...
  599.  
  600.           [ and ends]
  601.           \q                                     <--- to quit cu type '\q'
  602.           $ # Now to hangup the phone
  603.           $ PE7PHO.EXE -v -l/dev/tty0 -b1200 -ho
  604.           Phone: Hanging up
  605.           $ # Done.
  606.  
  607.           [End of example]
  608. 1.6  RECOMPILING FROM SOURCE
  609.  
  610.         If it possible to transfer the text files which make up
  611. IDRIS Kermit and PHONE, PE7INC.H, PE7TTY.H, PE7STD.H, PE7SYS.H,
  612. PE7MAI.C, PE7PTA.C, PE7PTB.C, and PE7PHO.C, the source may be
  613. re-compiled using the shell script routines (and the optional 'C'
  614. compiler). The scripts PE7KER.MAK and PE7PHO.MAK will reproduce
  615. a PHONE and KERMIT executable.
  616.  
  617.  
  618. 1.7  FUTURE CONSIDERATIONS
  619.  
  620.     With the generality of the current UNIX C-Kermit it may be
  621. possible to merge the IDRIS Kermit into the C-Kermit distribution along
  622. the lines of the Macintosh and VAX/VMS C-Kermit's.  If 'C' becomes
  623. popular on the PE-7000, more development may be seen.
  624.