home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / cdccyber / cdckerdoc.txt < prev    next >
Text File  |  2020-01-01  |  22KB  |  501 lines

  1.  
  2.  
  3.  
  4. 1. CYBER 170 KERMIT
  5.  
  6. Authors:    Jim Knutson, University of Texas
  7. Version:    2.2
  8. Date:       September 1984
  9.  
  10. Cyber  Kermit  was  written  for a Cyber 170/750 in FTN5, CDC's FORTRAN 77 com-
  11. piler.  It should run on any NOS or NOS/BE system with only  minor  changes  to
  12. the I/O routines.  This is a necessary evil since every Cyber site seems to run
  13. a different front end.
  14.  
  15.  
  16. 1.1. Cyber File Systems
  17.  
  18. The  features  of  a Cyber file system of greatest interest to KERMIT users are
  19. storage class, file structure, file specifications and character sets.
  20.  
  21.  
  22. Cyber Storage Classes
  23.  
  24. The NOS and NOS/BE operating systems use the concept  of  local  and  permanent
  25. file  storage.  This means that files that are to be kept around after a job is
  26. finished must be moved to permanent storage first.  Jobs that  wish  to  use  a
  27. file  from  permanent  storage must copy to local storage first before using it
  28. (actually, direct access permanent files help alleviate this  problem).    Most
  29. Kermit users will only want to use local files.
  30.  
  31.  
  32. Cyber File Structure
  33.  
  34. Many Cyber files use internal structure information much like VMS files.  These
  35. internal  structures  are mainly used in executable binary files or certain CRM
  36. record types.  The internal structure of files is not  currently  supported  by
  37. Cyber Kermit.  Cyber executable binaries, and multi-record files are not trans-
  38. ferable using Kermit.
  39.  
  40.  
  41. Cyber File Specification
  42.  
  43. A  Cyber  file  name  consists of from 1 to seven alphanumeric characters.  NOS
  44. systems allow the first character to be numeric but most  Cyber  processors  do
  45. not support this.  Cyber Kermit allows the first character to be a digit on NOS
  46. systems.    Special  characters  are  not allowed in the file name.  File names
  47. beginning with ZZ or SCR should be  avoided,  since  these  are  commonly  used
  48. scratch  file  names.  The Cyber Kermit command processor does not support wild
  49. cards at this time.
  50.  
  51.  
  52. Cyber Character Sets
  53.  
  54. Until the recent Cyber 800 Series mainframes, the character set  used  by  most
  55. Cyber  systems was a six bit Display Code character set.  The six bit character
  56. sets supported by Cyber Kermit are the 63 character, 64  character  and  UT  64
  57. character  sets.    These  character sets not only differ in their ordering but
  58. also in the characters they use.  Some use the  underscore  and  percent  sign,
  59. others do not.  ASCII characters received by Cyber Kermit are translated to the
  60.  
  61.  
  62.  
  63. appropriate display code when possible.  A character that can not be translated
  64. will  be  set to a blank.  Users of the 64 character set may have problems with
  65. colons at the end of a line being truncated or  lines  with  sequential  colons
  66. being  split into two or more lines since the character value of a colon is 00B
  67. (half of an End-Of-Line).
  68.  
  69. There are also several ASCII character sets in use on the  various  Cyber  sys-
  70. tems.    One  set, called 6/12, uses 6 bit display code characters with certain
  71. characters set aside as flags to indicate case (upper/lower) or control charac-
  72. ters.  Cyber Kermit does not support the 6/12 character  set.    Another  ASCII
  73. character  set  is  the  8/12 character set.  This stores ASCII characters as 8
  74. bits in a 12 bit byte.  The exception to this is that an EOL  (End-Of-Line)  is
  75. indicated  by  the usual CDC convention of at least twelve bits of 0 (0000B) in
  76. the low order bits of the word.  NUL characters are  represented  as  4000B  to
  77. prevent  interpretation  as an EOL sequence.  Cyber Kermit also support UT 8/12
  78. ASCII.  The difference between this and NOS 8/12 ASCII is UT  8/12  ASCII  uses
  79. the  NEL  character  (205B)  from  the  256 character ASCII set to represent an
  80. End-Of-Line.
  81.  
  82.  
  83. 1.2. Program Operation
  84.  
  85. Cyber Kermit's prompt is "Kermit-170>".  It must be run interactively and with-
  86. out any parameters.  Commands can then be typed in like this:
  87.  
  88.   .kermit
  89.   Kermit-170>send foobar
  90.  
  91.     [file foobar sent]
  92.  
  93.   Kermit-170>status
  94.  
  95.     [performance statistics are printed]
  96.  
  97.   Kermit-170>receive
  98.  
  99.     [files are received]
  100.  
  101.   Kermit-170>exit
  102.   .
  103.  
  104. Cyber Kermit mimics the DEC-20 style command parser in  that  a  question  mark
  105. followed by a carriage return may be placed anywhere on the command line.  This
  106. will  display  the  options available at that point.  Unfortunately, the entire
  107. command will have to be retyped afterwards.
  108.  
  109. Command keywords may be abbreviated to their shortest unique combination.  This
  110. comes in very handy since Cyber Kermit does not support command completion.
  111.  
  112. Cyber Kermit may only be run as a remote Kermit.  It  must  be  watched  during
  113. transfer  if  the  local  Kermit  has  no  timeout  since  it  has  no  timeout
  114. capabilities.
  115.  
  116. A Cyber filename is restricted to 7  alphanumeric  characters  with  the  first
  117. character  being an alpha.  Kermit will use the first 7 valid characters of any
  118. file being sent to the Cyber.  If a file under that name already exists, an Er-
  119.  
  120.  
  121.  
  122. ror  packet stating so will be sent back and Cyber Kermit will abort the trans-
  123. fer.
  124.  
  125. If you are having trouble transferring files with Kermit, it may be due to  the
  126. parity.  Cyber Kermit has no way of determining the parity of the connection so
  127. it  just  guesses that it will be NONE.  If you are having problems getting the
  128. first packet to transfer, then this is probably the problem.  If you  are  run-
  129. ning  with  a  parity other than NONE, then you must use the SET PARITY command
  130. every time you enter Cyber Kermit.
  131.  
  132.  
  133. 1.3. Cyber Kermit Commands
  134.  
  135. The following is a list of Cyber Kermit commands and their description.
  136.  
  137. ! command       Execute a Cyber control command and then return to Kermit.
  138.  
  139. EXIT, QUIT      Exit from Kermit-170.  You may  also  stop  Kermit-170  in  the
  140.                 midst of a transfer or during server operations by aborting the
  141.                 program  (CTRL-C  or  CTRL-G ABORT); the program traps them and
  142.                 puts your terminal back to normal before halting.
  143.  
  144. HELP [topic]    Give Help.  There's a general help  text,  plus  separate  help
  145.                 texts for each Kermit-170 command.
  146.  
  147. PUSH            Exit  to  control  command  level saving the current Kermit en-
  148.                 vironment.  The environment will be  restored  when  Kermit  is
  149.                 reentered.
  150.  
  151. RECEIVE         Receive  a  file or group of files from the other host.  If the
  152.                 name in the header packet is not a legal Cyber file  name,  the
  153.                 first 7 legal characters will be used.
  154.  
  155.                 If  the  file  already exits as a local file, Kermit will abort
  156.                 the transfer.  If an error occurs  during  transfer,  the  file
  157.                 being  received will be removed from the local file list to al-
  158.                 low the transfer to be retried.  You should escape back to your
  159.                 local Kermit after entering RECEIVE mode and give the SEND com-
  160.                 mand.
  161.  
  162. SEND filename   Send a file to the other host.  The name of the file is  passed
  163.                 to the other host in a file header packet, so that the file can
  164.                 be  stored there with the same name.  You should escape back to
  165.                 your local Kermit and give the RECEIVE command.  If  you  don't
  166.                 do  this  fast  enough the "send-init" packet may arrive prema-
  167.                 turely.  To prevent this, use SET DELAY or hit the  RETURN  key
  168.                 on your microcomputer if it does not timeout.
  169.  
  170. SERVER          Act  as  a  server  for  another Kermit.  Whatever options were
  171.                 previously SET will be used.  The server may be shut down  from
  172.                 the  local  Kermit  by  using the BYE or FINISH commands, or by
  173.                 connecting back to the Cyber, and typing Control-C or Control-G
  174.                 ABORT.
  175.  
  176. SET keyword value
  177.                 Establish system-dependent parameters.  You can  examine  their
  178.  
  179.  
  180.  
  181.                 values  with  the SHOW command.  Numeric values may be decimal,
  182.                 octal (postfixed with a B), or hexadecimal (postfixed by an H).
  183.                 The following may be SET:
  184.  
  185.                 DATA-MODE ctype
  186.                         Set the character code to use  for  files  received  by
  187.                         Kermit-170.    Allowable  values for ctype are:  ASCII,
  188.                         DISPLAY-CODE, IMAGE-ASCII, NOS-ASCII.  The  interpreta-
  189.                         tion of these is dependent on the system.  DISPLAY-CODE
  190.                         will  be  the  six bit character set in use at the site
  191.                         (63 or 64).  ASCII will be NOS 8/12 ASCII for all sites
  192.                         except the University of Texas.  NOS-ASCII is  used  to
  193.                         describe  NOS 8/12 ASCII at UT while ASCII describes UT
  194.                         8/12 ASCII.  The default character set in use when Ker-
  195.                         mit starts up is DISPLAY-CODE.  Automatic character set
  196.                         recognition  is   used   for   sending   files   unless
  197.                         IMAGE-ASCII is set.
  198.  
  199.                 DEBUG option
  200.                         Show packet traffic explicitly.  Options are:
  201.  
  202.                         ALL     Set all debug options.
  203.  
  204.                         LOG-FILE filename
  205.                                 Log  states  and packets to the specified file.
  206.                                 The default log-file is file KERMLOG.
  207.  
  208.                         OFF     Don't display debugging  information  (this  is
  209.                                 the default).  If debugging was in effect, turn
  210.                                 it off and close any log file.
  211.  
  212.                         PACKETS Display   each  incoming  and  outgoing  packet
  213.                                 (lengthy).
  214.  
  215.                         STATES  Show kermit state transitions and  packet  num-
  216.                                 bers (brief).
  217.  
  218.                 DELAY decimal-number
  219.                         How  many  seconds  to  wait  before  sending the first
  220.                         packet.  This gives you time to "escape" back and issue
  221.                         a RECEIVE command.
  222.  
  223.                 DUPLEX keyword
  224.                         Changes the method of  echoing  characters  when  being
  225.                         prompted  for commands.  The choices are FULL and HALF.
  226.                         Full means the Cyber will echo the characters you type.
  227.                         Half means the local systems echoes them.  Full is  the
  228.                         default, and is used by most hosts.
  229.  
  230.                 INIT-RETRY decimal-number
  231.                         Set  the  maximum number of retries allowed for the in-
  232.                         itial connection before giving up.
  233.  
  234.                 PARITY keyword
  235.                         Allows you to adjust the parity on characters  sent  or
  236.                         received  by  Kermit-170  to  another system's require-
  237.  
  238.  
  239.  
  240.                         ments.    The possibilities are NONE, EVEN, ODD, SPACE,
  241.                         or MARK.  If NONE, then the 8th bit  can  be  used  for
  242.                         data when sending and receiving binary files.  If other
  243.                         than  NONE,  the 8th bit on outgoing characters will be
  244.                         set to achieve the desired parity, and the 8th  bit  on
  245.                         incoming  characters will be discarded.  The default is
  246.                         NONE.
  247.  
  248.                 RECEIVE parameter value
  249.                         These commands allow you to specify to the other Kermit
  250.                         what the packets it sends should look like, or  to  in-
  251.                         form  this  Kermit  what  to  expect.    Value  may  be
  252.                         specified as a  decimal  number,  an  octal  number  (B
  253.                         suffix),  or  a hexadecimal number (H suffix).  Charac-
  254.                         ters values are specified as the numeric equivalent  of
  255.                         the ASCII character.
  256.  
  257.                         END-OF-LINE value
  258.                                 The  octal  value  of the ASCII character to be
  259.                                 used as a line terminator or packets, if one is
  260.                                 required by the other system.  Carriage  return
  261.                                 (15B) is the default.
  262.  
  263.                         PACKET-LENGTH value
  264.                                 Maximum  packet length to send, decimal number,
  265.                                 between 20 and 94, 94 by default.
  266.  
  267.                         PAD-CHARACTER value
  268.                                 Character to use for padding.  Default is NUL.
  269.  
  270.                         PAD-LENGTH value
  271.                                 How much  padding  to  send  before  a  packet.
  272.                                 Default is no padding.
  273.  
  274.                         QUOTE-CHARACTER value
  275.                                 What  printable character to use for quoting of
  276.                                 control characters.
  277.  
  278.                         SYNC-CHARACTER value
  279.                                 The control character that marks the  beginning
  280.                                 of  the packet.  Normally SOH (Control-A, ASCII
  281.                                 1).  There should be no reason to change this.
  282.  
  283.                         TIME-OUT value
  284.                                 How many seconds the other Kermit  should  wait
  285.                                 for a packet before asking for retransmission.
  286.  
  287.                 RDELAY millisec
  288.                         Set  up  a  delay  of  millisec seconds before each TTY
  289.                         read.  This can be used for performance tuning by caus-
  290.                         ing enough delay that data will be ready when the  read
  291.                         is  issued.    If  data  is  not ready when the read is
  292.                         issued, the job will be swapped out.  The delay  should
  293.                         be  specified  as a multiple of 100.  The default delay
  294.                         is 100 milliseconds.
  295.  
  296.  
  297.  
  298.                 RETRY value
  299.                         Set  the  maximum  number of retries for a given packet
  300.                         before giving up.
  301.  
  302.                 SEND parameter value
  303.                         These commands allow you to specify how outgoing  pack-
  304.                         ets  should look, in case the other Kermit has nonstan-
  305.                         dard requirements.
  306.  
  307.                         END-OF-LINE value
  308.                                 The octal value of the ASCII  character  to  be
  309.                                 used  as  a line terminator for packets, if one
  310.                                 is required by  the  other  system.    Carriage
  311.                                 return (15B) by default.
  312.  
  313.                         PACKET-LENGTH value
  314.                                 Maximum  packet length to send, decimal number,
  315.                                 between 20 and 94, 94 by default.
  316.  
  317.                         PAD-CHARACTER value
  318.                                 Character to use for padding.  Default is NUL.
  319.  
  320.                         PAD-LENGTH value
  321.                                 How much  padding  to  send  before  a  packet.
  322.                                 Default is no padding.
  323.  
  324.                         QUOTE-CHARACTER value
  325.                                 What  printable character to use for quoting of
  326.                                 control characters.  The default is "#"  (43B).
  327.                                 there should be no reason to change this.
  328.  
  329.                         SYNC-CHARACTER value
  330.                                 The  control character that marks the beginning
  331.                                 of the packet.  Normally SOH (Control-A,  ASCII
  332.                                 1).  There should be no reason to change this.
  333.  
  334.                         TIME-OUT value
  335.                                 How  many seconds the other Kermit should wants
  336.                                 before being asked for retransmission.   Unfor-
  337.                                 tunately, the Cyber has no way of timing out so
  338.                                 this parameter is ignored.
  339.  
  340. SHOW            Display  current  SET  parameters,  version  of Kermit-170, and
  341.                 other information.
  342.  
  343. STATUS          Give statistics about the most recent file transfer.
  344.  
  345.  
  346. 1.4. Installation
  347.  
  348. Cyber Kermit is distributed in two forms.  If you  received  it  from  Columbia
  349. University,  the  sources are in UPDATE source format.  If you received it from
  350. the University of Texas, it will be in UPDATE program library  format.    Other
  351. formats may be written by the University of Texas upon request.
  352.  
  353. The  Cyber  Kermit  source comes in two files.  One file (KERMUPL) will contain
  354.  
  355.  
  356.  
  357. the  FTN5 source code for Kermit itself.  The other file (AZLBUPL) contains the
  358. COMPASS I/O and low level  support  routines  supplied  by  the  University  of
  359. Arizona.   Many of these routines are FORTRAN interface routines to the COMPASS
  360. system macros.  These should run as is on NOS/BE systems and most should run as
  361. is on NOS systems.  The routines  that  are  needed  from  AZLIB  (the  library
  362. produced from AZLBUPL) are: CPU.BTZ, CPU.MFS, CPU.VFN, CLOSE, CPU.MVC, CPU.SCS,
  363. CPU.SXT,  CPU.TXS,  OPEN,  READ,  WRITER, READC, READW, WRITEW, ENDRUN, RECALL,
  364. RTIME, MOVECH, XSCS, XSXT, XTXS, XVFN, RETFILE, XCON, EXCST, and MACREL.  These
  365. routines should be assembled and placed in the file AZLIB and  tested  to  make
  366. sure they work on your system.  The normal command sequence for this would be:
  367.  
  368.   .UPDATE,P=AZLBUPL,F.
  369.   .COMPASS,I.
  370.   .LIBGEN,P=AZLIB.
  371.  
  372. The  next thing to do is start building Kermit.  There are several things to do
  373. first, though.  Cyber Kermit uses conditional  compilation  for  the  different
  374. operating  systems  and  site dependent routines.  Modify the parameter defini-
  375. tions in common deck COMCKER to reflect your operating system and site.    Note
  376. that  the  site  definition  is  only usefull if you need to have site specific
  377. routines or code.  Currently, the only  site  specific  routines  are  used  to
  378. change  the  duplex from FULL to HALF and back again (ECHOPLX used at UA, BELLC
  379. used at UT).  Site specific code is used at UT due  to  our  strange  character
  380. sets, and for setting ASCII mode for I/O in subroutine FOPEN.  The display code
  381. character set parameter must also be modified in common deck COMCKER to reflect
  382. the appropriate character set (63, 64) in use at your site.
  383.  
  384. NOS sites will probably have to modify subroutine RDELAY to accomodate the dif-
  385. ferent  format returned by the RTIME macro.  If a NOS site would send it's mods
  386. back to the University of Texas, then this could be conditionally compiled  and
  387. other NOS sites would no longer have to worry about this.
  388.  
  389. Once  the  duplex changing (not neccessary at half duplex sites, but be sure to
  390. change the default duplex in subroutine BLOCK DATA to HALFDUP) and the code for
  391. setting ASCII I/O has been set up debugging can take place.   Decide  on  which
  392. version  of  Cyber  Kermit  you wish to run (OVCAP or SEGLOAD).  Most sites are
  393. running the OVCAP version and installing it in the system nucleus.    To  build
  394. the OVCAP version place the following lines in file UPDMODS:
  395.  
  396.   *IDENT,moddeck
  397.   *DEFINE,OVCAP
  398.  
  399. and run the commands:
  400.  
  401.   .UPDATE,P=KERMUPL,F,I=UPDMODS.
  402.   .FTN5,I,OPT=2.                      COMPILE KERMIT SOURCE
  403.   .FTN5,I,OPT=2,B=LIBREL.             COMPILE LIBRARY SOURCE
  404.   .LIBGEN,P=KERMLIB.                  BUILD KERMIT LIBRARY
  405.   .LDSET,MAP=SBEX.
  406.   .LOAD,LGO.                          LOAD KERMIT, KERMLIB AND AZLIB
  407.   .NOGO,KERMIT.
  408.  
  409. To  build the segload version, place the following segload directives into file
  410. KERMSEG:
  411.  
  412.  
  413.  
  414.           TREE    KERMIT-(SET,HLPCMD,EXECMD,SERVER-(RECEIVE,SEND))
  415.   SET     INCLUDE SHOW,STATUS,MATCH,SETVAL
  416.   RECEIVE INCLUDE RINIT,RFIEL,RDATA
  417.   SEND    INCLUDE SINIT,SFILE,SDATA,SEOF,SBREAK
  418.   KERMIT  GLOBAL  PROTO,PACKET,DEBUG,MESSAGE,FILEIO,FILEIOC
  419.           END     KERMIT
  420.  
  421. and run the commands:
  422.  
  423.   .UPDATE,P=KERMUPL,F.
  424.   .FTN5,I,OPT=2.                      COMPILE KERMIT SOURCE
  425.   .LDSET,LIB=AZLIB
  426.   .LDSET,MAP=SBEX.
  427.   .SEGLOAD,I=KERMSEG,B=KERMIT.        LOAD KERMIT, AZLIB
  428.   .LOAD,LGO.
  429.   .NOGO.
  430.  
  431. To aid in debugging of the OVCAP version, remove the line:
  432.  
  433.             LDSET    OMIT=SYSERR.
  434.  
  435. from  the  COMPASS  main  program.    This  was  put  there  to  remove uneeded
  436. (hopefully) code and reduce field length.
  437.  
  438. Be sure to read the implementation notes in the program source.    These  notes
  439. are likely to be the more upto date.
  440.  
  441. Planned  further  enhancements  to  Kermit-170  being done at the University of
  442. Texas include:
  443.  
  444.  
  445.   - Addition of new server functions: directory, type, delete, etc.
  446.   - Two and Three character checksums.
  447.   - 8th-bit quoting, to allow transfer of binary files with systems that
  448.     can't use the parity bit for data.
  449.   - Repeat processing for data compression.
  450.   - Badly needed performance tuning.  Currently we have been experiencing
  451.     700-900 baud effective data throughput on a 2400 baud line.
  452.  
  453.  
  454.  
  455. Index
  456.  
  457.  
  458.           !   2
  459.  
  460.           CDC   0
  461.           Character Set   3
  462.           Control-C   2
  463.           CYBER   0
  464.  
  465.           Debugging   3
  466.           Duplex   3
  467.  
  468.           EXIT   2
  469.  
  470.           Help   1, 2
  471.  
  472.           NOS   0
  473.           NOS/BE   0
  474.  
  475.           Parity   2, 3
  476.           Performance Tuning   4
  477.           PUSH   2
  478.  
  479.           QUIT   2
  480.  
  481.           RECEIVE   2
  482.  
  483.           SEND   2
  484.           SERVER   2
  485.           SET   2
  486.           SHOW   5
  487.           STATUS   5
  488.  
  489.  
  490.  
  491.                                Table of Contents
  492.  
  493. 1. CYBER 170 KERMIT                                                           0
  494.  
  495. 1.1. Cyber File Systems                                                       0
  496. 1.2. Program Operation                                                        1
  497. 1.3. Cyber Kermit Commands                                                    2
  498. 1.4. Installation                                                             5
  499.  
  500. Index                                                                         8
  501.