home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / ckv200txt.zip / ckvbwr.txt < prev    next >
Text File  |  2001-12-14  |  69KB  |  1,525 lines

  1.  
  2.                         C-Kermit 8.0 VMS Hints and Tips
  3.                                        
  4.    [ [1]Contents ] [ [2]C-Kermit ] [ [3]Kermit Home ]
  5.    
  6.       As of C-Kermit version: 8.0.200, 12 Dec 2001
  7.       This file last updated: Wed Dec 12 09:47:22 2001 (New York City
  8.    time)
  9.    
  10.      IF YOU ARE READING A PLAIN-TEXT version of this document, note that
  11.      this file is a plain-text dump of a Web page. You can visit the
  12.      original (and possibly more up-to-date) Web page here:
  13.      
  14.   [4]http://www.columbia.edu/kermit/ckvbwr.html
  15.  
  16.    Authors:
  17.           F. da Cruz, C. Gianone, Columbia University, New York, NY.
  18.           Terry Kennedy, Saint Peters College, Jersey City, NJ.
  19.     ________________________________________________________________________
  20.   
  21.   CONTENTS
  22.   
  23.   1. [5]INTRODUCTION
  24.   2. [6]THE C-KERMIT COMMAND PARSER
  25.   3. [7]COMMUNICATIONS
  26.   4. [8]GENERAL FAILURES
  27.   5. [9]LOCAL FILE OPERATIONS
  28.   6. [10]FILE TRANSFER
  29.   7. [11]OTHER TOPICS
  30.     ________________________________________________________________________
  31.   
  32.   1. INTRODUCTION [ [12]Top ] [ [13]Contents ] [ [14]Next ]
  33.   
  34.    SECTION CONTENTS:
  35.    
  36.   1.1. [15]Terminology
  37.   1.2. [16]Documentation
  38.   1.3. [17]Technical Support
  39.   1.4. [18]Other Sources of Information
  40.  
  41.    This is what used to be called the "beware file" for VMS C-Kermit,
  42.    formerly known as CKVBWR.TXT (and before that CKVKER.BWR). This
  43.    edition is current as of C-Kermit 8.0. It contains hints and tips
  44.    specific to the VMS version of C-Kermit not necessarily found in the
  45.    manual, or which developed since the manual was published ([19]Section
  46.    1.1). The General C-Kermit Hints and Tips document:
  47.    
  48.   [20]http://www.columbia.edu/kermit/ckcbwr.html
  49.  
  50.    formerly known as CKCBWR.TXT (and before that CKCKER.BWR), contains
  51.    similar material that applies to all C-Kermit versions: Unix, VMS,
  52.    VOS, etc.
  53.    
  54.    VMS C-Kermit installation instructions are in a separate document:
  55.    
  56.   [21]http://www.columbia.edu/kermit/ckcins.html
  57.  
  58.    (formerly known as CKVINS.TXT. Please be sure you have read that file
  59.    before concluding that C-Kermit isn't working right on VMS.
  60.    
  61.    [ [22]C-Kermit ] [ [23]Kermit Home ]
  62.     ________________________________________________________________________
  63.   
  64.   1.1. Terminology
  65.   
  66.    [ [24]Top ] [ [25]Contents ] [ [26]Section Contents ] [ [27]Next ]
  67.    
  68.    "VMS" as used in this document refers to both VMS and OpenVMS on VAX
  69.    processors and OpenVMS on Alpha (formerly known as AXP) processors,
  70.    and presumably any other architectures that VMS will be adapted to,
  71.    such as IA64, PowerPC, or PA-RISC. Most of the words in the first part
  72.    of the previous sentence are or were trademarks (TM) of Digital
  73.    Equipment Corporation and/or Compaq Computer Corporation.
  74.    
  75.    "DEC" is the way most people refer to Digital Equipment Corporation.
  76.    
  77.    Digital Equipment Corporation was acquired in 1998 by Compaq Computer
  78.    Corporation, and thus references to Digital Equipment Corporation or
  79.    DEC should be interpreted accordingly in light of the evolving
  80.    integration, transfer of copyrights and licenses, product renaming,
  81.    etc. In this document we stick with the traditional and familiar
  82.    nomenclature. Compaq, in turn, is on its way into the stomach of an
  83.    even bigger fish, most likely Hewlett Packard.
  84.    
  85.    There might be contradictory bits of advice in this file, since much
  86.    of the information was culled from different sources at different
  87.    times. Comments, reports, suggestions, contributions are always
  88.    welcome.
  89.    
  90.    [ [28]C-Kermit ] [ [29]Kermit Home ]
  91.     ________________________________________________________________________
  92.   
  93.   1.2. Documentation
  94.   
  95.    [ [30]Top ] [ [31]Contents ] [ [32]Section Contents ] [ [33]Next ] [
  96.    [34]Previous ]
  97.    
  98.     1. Frank da Cruz and Christine M. Gianone, [35]Using C-Kermit, Second
  99.        Edition, Digital Press / Butterworth-Heinemann, Woburn, MA, 1997,
  100.        622 pages, ISBN 1-55558-164-1. This is a printed book. It covers
  101.        C-Kermit 6.0.
  102.     2. The C-Kermit 7.0 Supplement:
  103.        [36]http://www.columbia.edu/kermit/ckermit2.html
  104.     3. The C-Kermit 8.0 Supplement:
  105.        [37]http://www.columbia.edu/kermit/ckermit3.html
  106.        
  107.    The C-Kermit home page is here:
  108.    
  109.   [38]http://www.columbia.edu/kermit/ckermit.html
  110.  
  111.    [ [39]C-Kermit ] [ [40]Kermit Home ]
  112.     ________________________________________________________________________
  113.   
  114.   1.3. Technical Support
  115.   
  116.    [ [41]Top ] [ [42]Contents ] [ [43]Section Contents ] [ [44]Next ] [
  117.    [45]Previous ]
  118.    
  119.      Email: [46]kermit-support@columbia.edu
  120.      News: [47]comp.protocols.kermit.announce
  121.      [48]comp.protocols.kermit.misc
  122.      <-- Announcements, moderated
  123.      <-- Discussion, unmoderated
  124.      Web: [49]http://www.columbia.edu/kermit/
  125.      [50]http://www.kermit-project.org/
  126.      [51]http://www.columbia.edu/kermit/faq.html <-- Kermit Project Home
  127.      Page
  128.      <-- Alternative Web address
  129.      <-- Frequently Asked Questions
  130.      Post: The Kermit Project
  131.      Columbia University
  132.      612 West 115th Street
  133.      New York NY 10025-7799
  134.      USA
  135.      Fax: +1 (212) 663-8202
  136.      +1 (212) 662-6442
  137.      
  138.    [ [52]C-Kermit ] [ [53]Kermit Home ]
  139.     ________________________________________________________________________
  140.   
  141.   1.4. Other Sources of Information
  142.   
  143.    [ [54]Top ] [ [55]Contents ] [ [56]Section Contents ] [ [57]Previous ]
  144.    
  145.    The OpenVMS Frequently Asked Questions (FAQ) document is available at
  146.    various sites on the Internet, including (checked Nov 2001):
  147.    
  148.   [58]ftp://ftp.digital.com/pub/Digital/dec-faq/vms
  149.   [59]ftp://rtfm.mit.edu/pub/usenet/news.answers/dec-faq/vms
  150.   [60]http://www.openvms.digital.com/wizard/openvms_faq.txt
  151.  
  152.    The following newsgroup is dedicated to discussion of VMS-related
  153.    topics:
  154.    
  155.   [61]comp.os.vms
  156.  
  157.    And this one to more general DEC-related topics:
  158.    
  159.   [62]comp.sys.dec
  160.  
  161.    [ [63]C-Kermit ] [ [64]Kermit Home ]
  162.     ________________________________________________________________________
  163.   
  164.   2. THE C-KERMIT COMMAND PARSER
  165.   
  166.    [ [65]Top ] [ [66]Contents ] [ [67]Next ] [ [68]Previous ]
  167.    
  168.    SECTION CONTENTS:
  169.    
  170.   2.1. [69]Running C-Kermit in DCL Command Procedures
  171.   2.2. [70]Running C-Kermit from ALL-IN-1
  172.   2.3. [71]Running C-Kermit under DECIntact
  173.  
  174.    VMS-style command-line editing (arrow keys, etc) is not supported.
  175.    Kermit does not use the VMS F$PARSE facility -- it has its own command
  176.    parser that lacks certain features of F$PARSE (arrow-key editing, etc)
  177.    but has many other features that F$PARSE lacks: context-sensitive
  178.    "?"-help and file lists, keyword and filename completion, filename
  179.    menus, variables, macros, etc. C-Kermit does, however, support command
  180.    recall via Ctrl-B (or Ctrl-P, same thing) and Ctrl-N.
  181.    
  182.    If you write a DCL command file that starts Kermit with a command-file
  183.    name as its first command-line argument, e.g.:
  184.    
  185.   $ kermit oofa.ksc
  186.  
  187.    and then SUBMIT this DCL command file as a batch job, be aware that
  188.    the batch job is executed out of your login directory, so if the
  189.    command file (OOFA.KSC in this case) is not in your login directory,
  190.    you must either SET DEFAULT to the directory it is in, or else give a
  191.    fully qualified filename:
  192.    
  193.   $ set default [mydir.mysubdir]
  194.   $ kermit oofa.ksc
  195.  
  196.    or:
  197.    
  198.   $ kermit [mydir.mysubdir]oofa.ksc
  199.  
  200.    Contrary to expectations of VMS users, the MSEND command does not use
  201.    commas to separate file specifications. E.g. say this:
  202.    
  203.   C-Kermit>msend ckc*.% cku*.% ckv*.%
  204.  
  205.    not this:
  206.    
  207.   C-Kermit>msend ckc*.%, cku*.%, ckv*.%
  208.  
  209.    CD (Change Directory) to a DECnet node does not work in VMS C-Kermit.
  210.    
  211.    The VMS 6.1 and 6.2 C Run Time Libraries (CRTL) have bugs in them that
  212.    prevent the CD command from working totally right when given no
  213.    argument, which is supposed to put you back in your login directory,
  214.    when SYS$LOGIN indicates a search list and/or hidden directories.
  215.    C-Kermit tries to work around this bug (technical explanation: use
  216.    CRTL chdir(), which is supposed to do all the right things; if it
  217.    fails then use the VMS sys$setddir() system service, which works in
  218.    cases where VMS 6.1/6.2 CRTL doesn't, but which applies to your whole
  219.    job rather than to Kermit's process tree only, and then when Kermit
  220.    exits, it tries to use sys$setddir() again to restore your startup
  221.    directory -- but if C-Kermit is interrupted or terminated abnormally
  222.    this won't work, etc etc.) If you have trouble with all this, then CD
  223.    to the desired device:directory explicitly or define a macro to do
  224.    this. (The problem, if it occurs, is in the library that C-Kermit was
  225.    linked with, not the one on your VMS system, so installing ECOs, etc,
  226.    would not help.)
  227.    
  228.    OPEN !WRITE does not work in VMS C-Kermit.
  229.    
  230.    VMS C-Kermit does not provide program status codes in the normal VMS
  231.    manner. Rather, it returns the codes described on pp. 323-324 of
  232.    "Using C-Kermit", by assigning them to the symbol CKERMIT_STATUS. For
  233.    example, if a RECEIVE operation failed:
  234.    
  235.   $ show symbol ckermit_status
  236.     CKERMIT_STATUS == "4"
  237.   $
  238.  
  239.    Arguments supplied to the EXIT (or QUIT) commands take precedence:
  240.    
  241.   C-Kermit>exit 1234
  242.   $ show symbol ckermit_status
  243.     CKERMIT_STATUS == "1234"
  244.   $
  245.  
  246.    If C-Kermit encounters no execution errors, and EXIT (QUIT) is given
  247.    without an operand, then:
  248.    
  249.   C-Kermit>exit
  250.   $ show symbol ckermit_status
  251.     CKERMIT_STATUS == "0"
  252.   $
  253.  
  254.    You can use the CKERMIT_STATUS symbol as in this DCL example:
  255.    
  256.   $ kermit -s oofa.txt
  257.   $ if ckermit_status .eq. 0 then goto ok
  258.  
  259.    [ [72]C-Kermit ] [ [73]Kermit Home ]
  260.     ________________________________________________________________________
  261.   
  262.   2.1. Running C-Kermit in DCL Command Procedures
  263.   
  264.    [ [74]Top ] [ [75]Contents ] [ [76]Section Contents ] [ [77]Next ]
  265.    
  266.    It is often desirable to wrap C-Kermit in a DCL command procedure.
  267.    Such a procedure, for example OOFA.COM, can be run either directly on
  268.    your job's controlling terminal by:
  269.    
  270.   $ @OOFA [ parameters ]
  271.  
  272.    or as a batch job via:
  273.    
  274.   $ SUBMIT OOFA [ switches ]
  275.  
  276.    When you are writing a DCL command procedure that runs C-Kermit, you
  277.    must make a choice:
  278.    
  279.     1. If you want to be able to include Kermit commands in the DCL
  280.        procedure as "image data" (i.e. lines that don't start with $),
  281.        then you can not include any Kermit commands that would require
  282.        access to the real console terminal's keyboard and screen, such as
  283.        CONNECT. That is, the person who runs the DCL procedure can not
  284.        interact directly with a remote computer. This type of DCL command
  285.        procedure can be run either on a terminal via @, or as a batch job
  286.        via SUBMIT.
  287.     2. If you want the user to be able to interact directly with the
  288.        remote computer through Kermit's CONNECT command, then:
  289.          a. The DCL procedure can be run only with @, not with SUBMIT.
  290.             That is, it cannot be a batch job; it must have access to the
  291.             console terminal.
  292.          b. You must include the following DCL command in the DCL
  293.             procedure immediately before starting Kermit:
  294.  
  295.   $ DEFINE /USER SYS$INPUT SYS$COMMAND
  296.          c. You can not include Kermit commands as "image data" in the
  297.             DCL command procedure. Instead, you must create a separate
  298.             Kermit command file, and use command-line arguments to
  299.             instruct Kermit to execute it; for example:
  300.  
  301.   $ define /user/nolog sys$input sys$command
  302.   $! Execute oofa.ksc instead of normal initialization file.
  303.   $ kermit -y oofa.ksc
  304.             or:
  305.  
  306.   $ define /user sys$input sys$command
  307.   $! Execute oofa.ksc after executing normal initialization file.
  308.   $ kermit "-C" "take oofa.ksc"
  309.        
  310.    Here is a sample DCL command procedure of the first type, which can be
  311.    run either on the controlling terminal or as a batch procedure, and
  312.    requires no interaction from the user. Lines beginning with dollar
  313.    sign ($) are DCL commands, other lines are fed to the application
  314.    program (Kermit).
  315.    
  316.   1. $ write sys$output "Hello from DCL"
  317.   2. $ set default [myuserid.mysubdirectory]
  318.   3. $ kermit
  319.   4. set background off
  320.   5. echo Hello from C-Kermit
  321.   6. @ write sys$output "Hello from DCL from inside C-Kermit"
  322.   7. take oofa.ksc
  323.   8. exit
  324.   9. $ write sys$output "All done."
  325.  
  326.    (The numbers are not part of the file.) Lines 1-3 are DCL commands.
  327.    Line 3 starts C-Kermit. Lines 4-8 are C-Kermit commands.
  328.    
  329.    Line 4 causes Kermit prompts and commands read as image data from the
  330.    remainder of the .COM file to be echoed to the batch log. Normally
  331.    this is not done, and the only material that goes into the batch log
  332.    is output from Kermit commands like ECHO (next item). The SET
  333.    BACKGROUND OFF command tells Kermit that even though it is running in
  334.    batch, it should issue its prompt and echo its commands. You can
  335.    accomplish the same thing by starting Kermit the "-z" command-line
  336.    option (line 3 would be "$ kermit -z").
  337.    
  338.    Line 5 shows how to enter messages in the batch log. Line 6 shows how
  339.    to run DCL commands from within Kermit (you can use @ (at-sign), !
  340.    (exclamation mark), or the word RUN -- all of them are synonyms,
  341.    followed by a DCL command). Line 8 exits from C-Kermit back to DCL.
  342.    
  343.    In line 7, C-Kermit is told to execute a script program from another
  344.    file, OOFA.KSC. Script programs to be run during the batch session are
  345.    best kept in separate C-Kermit command files because certain commands,
  346.    notably GOTO, FOR, WHILE, and IF, do not work when entered in the
  347.    interactive command stream. Here is a sample command file:
  348.    
  349.   set take echo on      ; Make Kermit commands appear in the batch log
  350.   set take error on     ; This stops execution automatically upon error
  351.   set input echo on     ; This makes INPUT material appear in the batch log
  352.   set host blah         ; Make a network connection to host "blah"
  353.   set file brief serial ; Use SERIAL or NONE for the batch log, not FULL or CRT
  354.   input 5 login:        ; Wait for a login prompt
  355.   output myuserid\13    ; Send my user ID and a carriage return
  356.   input 5 Password:     ; Wait for password prompt
  357.   output \$(P1)\13      ; Send my password (see below) and a carriage return
  358.   input 20 \13\10$\32   ; Wait for system prompt
  359.   output kermit\13      ; Start Kermit on host "blah"
  360.   input 5 Kermit>       ; Wait for Kermit> prompt
  361.   output server\13      ; Put remote Kermit in server mode
  362.   in 5 READY TO SERVE...; Wait for READY message
  363.   get oofa.txt          ; Get a file from the remote server
  364.   bye                   ; Terminate the remote session
  365.   end                   ; Return to local C-Kermit prompt
  366.  
  367.    Note that the commands from a TAKE file are not echoed to the batch
  368.    log unless you include SET TAKE ECHO ON.
  369.    
  370.    VERY IMPORTANT: Batched login scripts are inherently insecure because
  371.    the passwords are visible in plaintext, either in a file or else in
  372.    the batch queue entry. VMS presently offers no secure way that we know
  373.    of to enter a password into a batch job.
  374.    
  375.    Two very insecure methods can be used:
  376.    
  377.     1. Put the password in the Kermit script file. The risk here is that
  378.        anybody who gains access to the file, or to the system backup
  379.        tapes, can learn your password on the remote system.
  380.     2. Give the password as a parameter to the SUBMIT command when
  381.        starting the batch job, for example:
  382.  
  383.  $ SUBMIT OOFA /NOTIFY /PARAM=("mypassword")
  384.        (This sets the DCL parameter P1 to your password on the remote
  385.        host (for further information, give the DCL command "help submit
  386.        /param"). Quotation marks are necessary to preserve lowercase
  387.        letters (important when logging in to UNIX hosts). DCL parameters
  388.        may be referenced in Kermit commands as \$(P1), \$(P2), etc.) The
  389.        disadvantage here is that the VMS SHOW ENTRY/FULL command displays
  390.        the parameters from your SUBMIT command, making the password
  391.        visible to (at least) the system operator, and (most likely) also
  392.        to other users, such as members of your group (batch queues are,
  393.        by default, read-accessible by all members of their group).
  394.        
  395.    Both methods can be made somewhat safer by adjusting the protections
  396.    on the files and/or batch queues that will contain sensitive
  397.    information, but there can be no guarantees. Therefore: EXERCISE
  398.    EXTREME CAUTION with passwords in login scripts and batch jobs.
  399.    
  400.    And please note further that passwords passed in plain text -- as they
  401.    still must be in most cases, particularly those involving dialup
  402.    access -- are subject to discovery by various other means, including,
  403.    but not limited to, wire tapping, Ethernet packet tracing, etc.
  404.    
  405.    [ [78]C-Kermit ] [ [79]Kermit Home ]
  406.     ________________________________________________________________________
  407.   
  408.   2.2. Running C-Kermit from ALL-IN-1
  409.   
  410.    [ [80]Top ] [ [81]Contents ] [ [82]Section Contents ] [ [83]Next ] [
  411.    [84]Previous ]
  412.    
  413.    Contibuted by: Dr. David Kelly, Australian Environmental Protection
  414.    Authority, [85]kellyd@airmoon.epa.nsw.gov.au
  415.    
  416.    ALL-IN-1 uses mailboxes (MBX) devices, rather than terminals. TT: is
  417.    reassigned from the user's controlling terminal to a mailbox device.
  418.    C-Kermit uses TT: as its default line device and so doesn't work
  419.    straight off under ALL-IN-1. SYS$INPUT is reassigned to something else
  420.    again. SYS$OUTPUT remains assigned to the user's original terminal
  421.    line so it can be used to specify the line device for C-Kermit when
  422.    called from within ALL-IN-1. Below is a script which can be run from
  423.    ALL-IN-1 which calls C-Kermit to receive a file. SYS$OUTPUT is
  424.    temporarily redefined to stop some guff showing on the screen.
  425.    
  426.   $! RECEIVE_FROM_PC.COM
  427.   $!
  428.   $! Transfer file from PC into ALL-IN-1 using KERMIT
  429.   $! Invoked by TRANSFER_PC_TO_A1.SCP, which is in turn called by the RF
  430.   $! option on DT menu.
  431.   $!
  432.   $ set noon
  433.   $ on control_y then goto exit
  434.   $
  435.   $       tt1=f$trnlnm("sys$output")
  436.   $       kermit :== $epa__system:Ckermit
  437.   $       define/user sys$input sys$command
  438.   $       define sys$output sys$login:del.txt
  439.   $       kermit -l 'tt1' -b 9600 -r -a a1file.a1f -q -i
  440.   $       deassign sys$output
  441.   $       del sys$login:del.txt;
  442.   $exit:
  443.   $ exit
  444.  
  445.    Similarly a file can be sent :
  446.    
  447.   $! SEND_TO_PC.COM
  448.   $! Transfer document from ALL-IN-1 to the PC
  449.   $! invoked by TRANSFER_A1_TO_PC.SCP which is, in turn, called by the
  450.   $! SF option on the DT menu
  451.   $!
  452.   $ set noon
  453.   $ on control_y then goto exit
  454.   $!
  455.   $       write oamailbox "OA GET #CURDOC_FILENAM"
  456.   $       @dclmailbox:
  457.   $       a1file = "''result'"
  458.   $       vmsfile = "A1FILE.A1F"
  459.   $       copy/nolog/noconfirm 'a1file' 'vmsfile'
  460.   $       kermit :== $epa__system:Ckermit
  461.   $       define/user sys$input sys$command
  462.   $       tt1=f$trnlnm("sys$output")
  463.   $       define sys$output sys$login:del.txt
  464.   $       kermit -l 'tt1' -b 9600 -s A1FILE.A1F -q -i
  465.   $       deassign sys$output
  466.   $       del sys$login:del.txt;
  467.   $       if $severity .le. 1 then goto exit
  468.   $! if an error occurs, tell ALL-IN-1
  469.   $       write oamailbox "OA GET $PC_KERMIT_STATUS=0"
  470.   $       @dclmailbox:
  471.   $exit:
  472.   $ deletex/nolog a1file.a1f;*
  473.   $ exit
  474.  
  475.    [ [86]C-Kermit ] [ [87]Kermit Home ]
  476.     ________________________________________________________________________
  477.   
  478.   2.3. Running C-Kermit under DECintact
  479.   
  480.    [ [88]Top ] [ [89]Contents ] [ [90]Section Contents ] [ [91]Previous ]
  481.    
  482.    To use C-Kermit in remote mode under DECIntact, you must:
  483.    
  484.     a. Have C-Kermit 7.0 or later, and:
  485.     b. Tell it to "set line /share tt:".
  486.        
  487.    This might also work with ALL-IN-1 (Section 2.2).
  488.    
  489.    [ [92]C-Kermit ] [ [93]Kermit Home ]
  490.     ________________________________________________________________________
  491.   
  492.   3. COMMUNICATIONS
  493.   
  494.    [ [94]Top ] [ [95]Contents ] [ [96]Next ] [ [97]Previous ]
  495.    
  496.    SECTION CONTENTS:
  497.    
  498.   3.1. [98]Serial and LAT Communications
  499.   3.2. [99]Network Communications
  500.  
  501.    Also see:
  502.    
  503.      * [100]Section 6 of the [101]Installation Instructions: Using Modems
  504.        by Richard B. Gilbert.
  505.      * [102]http://www.tmesis.com/modem/.
  506.        
  507.   3.1. Serial and LAT Communications
  508.   
  509.    [ [103]Top ] [ [104]Contents ] [ [105]Section Contents ] [ [106]Next ]
  510.    
  511.    SUBSECTION CONTENTS:
  512.    
  513.   3.1.1. [107]Dialing
  514.   3.1.2. [108]Speed
  515.   3.1.3. [109]Echoing
  516.   3.1.4. [110]Modem Signals
  517.   3.1.5. [111]Buffering and Flow Control
  518.   3.1.6. [112]LAT
  519.  
  520.    If you are experiencing very poor performance on serial connections,
  521.    use the VMS command SHOW TERMINAL to make sure that the terminal
  522.    device has the DMA (Direct Memory Access) characteristic. If it does
  523.    not, try setting it (or get your system manager to, in case privilege
  524.    is required):
  525.    
  526.   $ SET TERMINAL device_name /PERMANENT/DMA
  527.  
  528.    On some slower VAX models with built-in serial ports, such as the
  529.    VAXstation 3100 or MicroVAX-II, receiving files on serial ports at
  530.    (say) 19200 bps results in high CPU utilization, slowing down the
  531.    system for other processes. This is because on certain systems, such
  532.    as the VS3100, serial ports interrupt the CPU every time a character
  533.    arrives. Most VMS systems nowadays, however, support either DMA for
  534.    serial port i/o, or have their users coming in through terminal
  535.    servers.
  536.    
  537.     3.1.1. Dialing
  538.     
  539.    If dialing out a serial port does not work at all -- modem ignores
  540.    commands sent to it, etc -- make sure the terminal port has the /MODEM
  541.    characteristic, e.g.:
  542.    
  543.   $ SET TERMINAL TTA0 /MODEM /PERM
  544.  
  545.    Dialing is possible only on LAT devices and on serial ports that have
  546.    that have the /MODEM attribute (e.g. "set term tta0 /modem /altypahd
  547.    /perm"). The modem must be configured for "DSR tracks CD" -- that is,
  548.    it must not turn on its DSR signal before the connection is made;
  549.    otherwise VMS will hang up on it during the dialing process. C-Kermit
  550.    7.0 and later include "&S1" in the initialization string for modems
  551.    that use the AT command set. If you are modifying init strings or
  552.    defining your own modem type, be sure to include this command or the
  553.    equivalent.
  554.    
  555.    If a DIAL or SET SPEED command gives the error:
  556.    
  557.   ?ttbin: sys$qiow: %SYSTEM-F-NOLOG_IO, operation requires LOG_IO privilege
  558.  
  559.    then either the user must be given LOG_IO privilege or else the device
  560.    must be given the SET_SPEED attribute. However, note that under
  561.    certain versions of VMS the TT2$M_SETSPEED bit in TTY_DEFCHAR2 is not
  562.    properly propogated to LAT devices. It is best to issue the command
  563.    SET TERM/PERM/SET_SPEED LTA31: at startup when the LTA31 device is
  564.    initially created (which, of course, would be done by a sufficiently
  565.    privileged account).
  566.    
  567.    "How do I dial with C-Kermit and then exit, leaving the connection
  568.    open so I can use it from another application?" Prior to starting
  569.    Kermit, tell VMS to set the device to /NOMODEM. Another possibility is
  570.    to allocate the line BEFORE you run C-Kermit. Ownership is defined as
  571.    either having a channel assigned to the device or having allocated the
  572.    device. All the channels get closed when the image exits, but
  573.    allocation persists.
  574.    
  575.     3.1.2. Speed
  576.     
  577.    Prior to C-Kermit 6.0, there was no way to select a serial
  578.    communications speed higher than 38400 bps. In version 6.0, it is
  579.    possible to SET SPEED 57600, 76800, and 115200, since these speeds are
  580.    supported in VMS 6.x and later. However, the fact that you can set a
  581.    particular speed doesn't mean this will work. The device might not
  582.    support it. In some cases, the device will actually use the low-order
  583.    bits of the speed value, because its speed register is smaller than
  584.    the codes used for the new higher speeds.
  585.    
  586.     3.1.3. Echoing
  587.     
  588.    If you CONNECT to a modem or other device, and see a neverending
  589.    stream of messages, the terminal device probably has the /LOCAL_ECHO
  590.    characteristic. As of edit 189, C-Kermit attempts to turn off this
  591.    characteristic automatically as part of the SET LINE procedure.
  592.    
  593.     3.1.4. Modem Signals
  594.     
  595.    SUBSECTION CONTENTS:
  596.    
  597.   3.1.4.1. [113]The SET CARRIER-WATCH Command
  598.   3.1.4.2. [114]The SHOW COMMUNICATIONS Command
  599.   3.1.4.3. [115]The WAIT Command
  600.   3.1.4.4. [116]The HANGUP Command
  601.  
  602.    A VMS serial communication device has either the /MODEM or else the
  603.    /NOMODEM characteristic. You can view a device's configuration with
  604.    the VMS SHOW TERMINAL command, for example:
  605.    
  606.   $ SHOW TERMINAL TTA0:
  607.  
  608.    and you can change it with SET TERMINAL, e.g.:
  609.    
  610.   $ SET TERMINAL TTA0: /MODEM
  611.  
  612.    When a /MODEM device is opened (e.g. with C-Kermit's SET LINE
  613.    command), VMS asserts the DTR signal (assuming the interface and cable
  614.    support modem signals), and allows I/O with the device even if the
  615.    device is not asserting the CD signal. However, once the device does
  616.    assert CD (or, perhaps more accurately, whenever the phone is "off
  617.    hook"), VMS requires CD to stay up for further I/O; if the CD signal
  618.    goes off, VMS returns a hangup (SS$_HANGUP) indication.
  619.    
  620.    When a /NOMODEM device is opened, VMS does not assert any modem
  621.    signals, including DTR, and does not require or test for any modem
  622.    signals from the device. Thus the /NOMODEM is of little use with any
  623.    kind of data communication equipment (e.g. modems, terminal servers,
  624.    multiplexers) that require DTR (some modems can be configured to
  625.    ignore DTR, e.g. with AT&D0).
  626.    
  627.    On the other hand, /NOMODEM is probably necessary for VMS serial ports
  628.    that do not support modem signaling (such as the one on the VAXstation
  629.    3100), or cables that do not contain all the needed wires (such as
  630.    DEC's MMJ connector; looks like an RJ45 modular jack, but with an
  631.    offset tab). If you use a /NOMODEM port, the device it is connected to
  632.    must be configured to operate without seeing DTR, and in any case
  633.    C-Kermit will not be able to detect connection loss.
  634.    
  635.    Setting /MODEM or /NOMODEM on a LAT device has no effect on the LAT
  636.    port itself, nor, evidently, on VMS -- reportedly, SS$_HANGUP is still
  637.    reported when the LAT device hangs up, even when set to /NOMODEM.
  638.    
  639.    Although it is within the power of an application such as C-Kermit to
  640.    switch the device between /MODEM and /NOMODEM, it is not practical
  641.    because doing so hangs up the device. Thus C-Kermit lets the VMS
  642.    terminal driver control the modem signals, and interprets and reacts
  643.    to indications about modem signals from VMS as best it can, according
  644.    to your preferences.
  645.    
  646.     3.1.4.1. The SET CARRIER-WATCH Command
  647.     
  648.    When CARRIER-WATCH is ON or AUTO, C-Kermit checks for carrier at the
  649.    beginning of any communications-related command (CONNECT, SEND, GET,
  650.    FINISH, INPUT, OUTPUT, etc), and each of these commands fails at any
  651.    time during its execution if VMS reports a "data set hangup"
  652.    (SS$_HANGUP). Thus, it is not possible to CONNECT to a modem and type
  653.    AT commands before the modem has made a connection if CARRIER-WATCH is
  654.    ON or AUTO.
  655.    
  656.    When CARRIER-WATCH is OFF, the aforementioned checks are not made, and
  657.    any SS$_HANGUP errors that occur are ignored.
  658.    
  659.    If the device is set to /NOMODEM, all checks for carrier will fail,
  660.    and the device will be unusable unless CARRIER-WATCH is OFF.
  661.    
  662.    On LAT devices, the initial checks are never made since LAT devices do
  663.    not reveal their modem signals to VMS. SS$_HANGUP errors, however, are
  664.    treated as they are for real serial ports.
  665.    
  666.     3.1.4.2. The SHOW COMMUNICATIONS Command
  667.     
  668.    As of C-Kermit 7.0, SHOW COMMUNICATIONS should display modem signals
  669.    on both VAX and Alpha when the SET LINE device is a local serial-port
  670.    device. Modem signals are not displayed for LAT devices.
  671.    
  672.     3.1.4.3. The WAIT Command
  673.     
  674.    As of C-Kermit 7.0, the WAIT command (which waits a specified amount
  675.    of time for a given set of modem signals to appear on the current SET
  676.    LINE device) should work on both VAX and Alpha serial port devices. It
  677.    does not work on LAT devices.
  678.    
  679.     3.1.4.4. The HANGUP Command
  680.     
  681.    When used on a serial communication device, the HANGUP command (as
  682.    well as the CONNECT-mode escape command, H, and the hangup done by the
  683.    DIAL command when DIAL HANGUP is ON) takes at least 3 (three) seconds;
  684.    perhaps as many as six. This is a feature of VMS.
  685.    
  686.    If you use the HANGUP command on a /NOMODEM device that is,
  687.    nevertheless, connected to a modem, be sure that Kermit has been told
  688.    to:
  689.    
  690.   SET MODEM HANGUP-METHOD MODEM-COMMAND
  691.  
  692.     3.1.5. Buffering and Flow Control
  693.     
  694.    During terminal connection (SET LINE) and file transfer over a serial
  695.    device, buffer-overrun or BYTLM-quota-exceeded messages might appear.
  696.    It is essential that any VMS system that needs to use Kermit or any
  697.    other program to transfer files over serial devices, especially when
  698.    long packets or sliding windows are to be used, be SYSGEN'd with large
  699.    typeahead buffers, and that user accounts be given large BYTLM quotas.
  700.    See the [117]Installation Instructions.
  701.    
  702.      Note that LATmaster software (optional as of VMS V5.4-1, mandatory
  703.      as of VMS V5.5) requires a minimum Alt-Typeahead buffer of 2064
  704.      bytes. Thus, you may already have increased the size.
  705.      
  706.    To get around problems on systems where users have small BYTLM quotas,
  707.    the txbufr() routine in CKVTIO.C has been limited to reading 512-byte
  708.    chunks at a time from the communication device. This does not appear
  709.    to have an adverse affect on performance. If it does, a quick fix is
  710.    to recompile CKVTIO.C, defining CKV_IO_SIZE to be something bigger,
  711.    e.g.
  712.    
  713.   /define=("CKV_IO_SIZE=8192")
  714.  
  715.    or whatever. A better fix might be to have txbufr() check the user's
  716.    remaining BYTLM quota before doing each read. But the overhead in
  717.    doing this might cancel out the advantage of doing it.
  718.    
  719.    The SET FLOW RTS/CTS command is not supported in the VMS version of
  720.    C-Kermit. VMS versions prior to 7.0 do not support RTS/CTS (hardware)
  721.    flow control. However, RTS/CTS flow control can still be used on LAT
  722.    ports that support it.
  723.    
  724.    VMS flow control is governed by two SET TERMINAL parameters: /TTSYNC
  725.    and /HOSTSYNC. TTSYNC lets the terminal control the flow of data from
  726.    the host and HOSTSYNC lets the host control the flow of data from the
  727.    terminal. In general, these are implemented as Xon/Xoff flow control
  728.    in each direction, but on LAT and TCP/IP connections, they can also
  729.    affect the internal networking protocol, and they can be implemented
  730.    on the LAT server's serial interface with any flow control method at
  731.    all - Xon/Xoff, RTS/CTS, etc.
  732.    
  733.    In VMS C-Kermit, SET FLOW XON/XOFF is equivalent to $ SET TERM
  734.    /HOSTSYNC /TTSYNC. There should never be a reason to SET FLOW NONE in
  735.    VMS -- in fact, it is almost always a bad idea (see [118]File Transfer
  736.    section).
  737.    
  738.    When C-Kermit is in "remote mode", i.e. it is on the far end of a
  739.    connection, and is not establishing a connection itself, it uses your
  740.    current VMS SET TERMINAL parameters for flow control during command
  741.    processing. During packet mode, however, it obeys your C-Kermit SET
  742.    FLOW-CONTROL setting to ensure the chances of lost data are minimal.
  743.    
  744.    When C-Kermit is in "local mode", i.e. it is being used to establish a
  745.    connection with SET LINE or TELNET, there are two components to your
  746.    connection: the part between your terminal and C-Kermit (call this
  747.    "Part A"), and the part between C-Kermit and the remote computer or
  748.    service that you have connected to ("Part B"). At all times, the flow
  749.    control used on Part A is governed by your VMS SET TERMINAL
  750.    parameters, and the flow control used on Part B is always governed by
  751.    C-Kermit's SET FLOW-CONTROL command.
  752.    
  753.    If you are using C-Kermit in local mode to access a remote host to use
  754.    the EMACS editor, you might find that the Ctrl-S (Search) and Ctrl-Q
  755.    (Quote) commands don't work -- your screen and keyboard "freeze" when
  756.    you type Ctrl-S, and Ctrl-Q seems to have no effect (except unfreezing
  757.    your session after Ctrl-S). This means that your VMS command terminal
  758.    has the /TTSYNC characteristic; Ctrl-S and Ctrl-Q are being used for
  759.    flow control between your terminal and the VMS system -- the remote
  760.    system and EMACS never see them. There are two ways around this
  761.    problem:
  762.    
  763.     1. Tell VMS to SET TERM /NOTTSYNC before starting C-Kermit. In this
  764.        case, you are in danger of losing data on the connection,
  765.        particularly if your connection to VMS is through a LAT device.
  766.     2. Leave the /TTSYNC characteristic in force and use the long forms
  767.        for the EMACS commands: ESC-X Search-Forward and ESC-X
  768.        Quoted-Insert. Or assign these functions to other EMACS keys in
  769.        your EMACS initialization file.
  770.        
  771.     3.1.6. LAT
  772.     
  773.    It is possible to SET LINE to an LTA (LAT) device, but correct
  774.    operation is reportedly dependent on the version of DECserver code and
  775.    the VMS version, and which patches have been applied, and of course
  776.    the way the whole setup is configured. More about LAT configuration in
  777.    the [119]Installation Instructions.
  778.    
  779.    If you use C-Kermit to SET LINE to an LTA device and receive a hangup
  780.    message immediately:
  781.    
  782.   contti: ttiosb.status: %SYSTEM-F-HANGUP, data set hang-up
  783.  
  784.    then:
  785.    
  786.      * Perhaps the line is already being used on another system that is
  787.        connected to the same terminal server (in this case SET HOST /DTE
  788.        will fail the same way). Unfortunately LAT has no way to signal
  789.        this condition.
  790.      * Make sure you've created an LTA port on your VMS system which is
  791.        mapped to the DECserver port that the modem is connected to.
  792.      * Can you use the VMS SET HOST/DTE command to connect to that line?
  793.        If you get the same error (which you should) there's a
  794.        configuration problem in the DECserver setup for that port, or the
  795.        devices protection, or your privileges or quotas, or somesuch.
  796.      * In order for VMS to connect to the dial-out modem, it needs to see
  797.        the carrier detect signal asserted. If that signal isn't asserted,
  798.        the server will return a "hangup" error on the first character
  799.        sent to the port. C-Kermit's SET CARRIER command has no effect in
  800.        VMS.
  801.      * Additionally, some modems want to see various settings on RTS/CTS
  802.        and DSR/DTR before they will accept input. If you have a breakout
  803.        box and someone who is skilled at using it, you can usually
  804.        resolve these problems.
  805.        
  806.    C-Kermit puts LAT terminal servers into PASSTHRU mode, which disables
  807.    their forward/backward session switch characters.
  808.    
  809.    Reportedly, if you have CONNECTed out through a LAT device, the
  810.    CONNECT-mode escape command to hang up (<esc-char>U) does not work.
  811.    Reason: unknown. Cure: unknown (The LAT programming interface is very
  812.    poorly documented). Workaround: SET LINE <cr> or CLOSE <cr> to close
  813.    the SET LINE device.
  814.    
  815.    Reportedly, although Kermit can SET LINE to a LAT device and work OK,
  816.    the same can't be said for a "LAT group" (whatever that is). The user
  817.    who submitted this report said that this problem could be worked
  818.    around by telling VMS to SET TERM <blah> /NOALTYPEAHD before starting
  819.    Kermit (take this one with a grain of salt).
  820.    
  821.    Reportedly, to use C-Kermit with a LAT device under LATmaster, the
  822.    associated terminal device must be set /NOREADSYNC.
  823.    
  824.    Reportedly, when transferring files TO a VMS system over a LAT
  825.    connection (for example, from a PC equipped with PATHWORKS or SuperLAT
  826.    and MS-DOS Kermit), packet sizes greater than 255 (some reports say
  827.    70!) cannot be used, irrespective of the VMS SYSGEN parameters
  828.    regarding MAXBUF, etc. The problem seems to lay in the LAT protocol
  829.    itself, or the particular implementation of it, whereby applications
  830.    are not informed of -- and cannot find out -- limits on transmission.
  831.    (And yet, others say they have no problems with file transfers over
  832.    LAT connections, even with packet sizes greater than 1000.)
  833.    
  834.    [ [120]C-Kermit ] [ [121]Kermit Home ]
  835.     ________________________________________________________________________
  836.   
  837.   3.2. Network Communications
  838.   
  839.    [ [122]Top ] [ [123]Contents ] [ [124]Section Contents ] [
  840.    [125]Previous ]
  841.    
  842.    SECTION CONTENTS:
  843.    
  844.   3.2.1. [126]X.25
  845.   3.2.2. [127]TCP/IP
  846.  
  847.    There is (as yet) no support for initiating connections over DECnet,
  848.    nor for VAX/PSI. Certain types of TCP/IP are supported (including DEC
  849.    TCP/IP (UCX), CMU-OpenVMS/IP ("CMU/Tek"), TGV MultiNet, Wollongong
  850.    WIN/TCP or PathWay, Process Software TCPware); other types: not yet
  851.    (e.g. Fusion).
  852.    
  853.     3.2.1. X.25
  854.     
  855.    Poor performance has been observed when C-Kermit is receiving files on
  856.    a VAX/PSI (X.25) system, attached to a certain X.25 network (Autonet),
  857.    but not others, attached via a DSW42 interface: huge numbers of I/O
  858.    requests drive the load way up. Reportedly, "this is due to a VAX PSI
  859.    feature called Synchronized Echo Protocol (SEP), which is supposed to
  860.    coordinate echo by the X.25 PAD, e.g. when typing ahead. When
  861.    disabling this feature, the file transfers proceed fast and efficient.
  862.    This feature is a network-specific X.25 1"facility" negotiated at
  863.    call-setup time, not an X.3 parameter (standard or otherwise) --
  864.    Facility Number 66 (decimal, or 42 hex). It could not even be set or
  865.    viewed by the user or the VAX administrator. It had to be disabled by
  866.    the network provider. I think that most X.25 networks do not even
  867.    implement this feature and thus is it not common issue. In any case,
  868.    in our situation, I asked the X.25 network provider to disable this
  869.    feature, and now C-Kermit is performing efficiently, but now, of
  870.    course, echoing (e.g. of material that is typed ahead) is no longer
  871.    synchronized."
  872.    
  873.     3.2.2. TCP/IP
  874.     
  875.    Reportedly CMU/IP support in C-Kermit 7.0 and later does not work at
  876.    all. Cause and cure unknown.
  877.    
  878.    The TCPware version works correctly with TCPware versions 4.1-2 or
  879.    later; earlier versions, such 3.1-3, have a bug that can result in
  880.    failure of C-Kermit to make network connections, with a message like:
  881.    
  882.  ?contti: network sys$qio: %SYSTEM-F-IVCHAN, invalid I/O channel
  883.  
  884.    Process Software recommends upgrading to the current TCPware release.
  885.    
  886.    DEC TCP/IP (UCX) 2.0C and earlier, which runs only on VAXes, has a bug
  887.    that prevents TCP port lookup by name from working as expected, so if
  888.    you tell C-Kermit to "telnet blah" or "set host blah", you'll get a
  889.    "Connection refused" error. If you don't specify a port, Kermit
  890.    substitutes the service name "telnet" and then asks UCX to look it up;
  891.    UCX finds it but erroneously returns a port number with its bytes
  892.    swapped (e.g. 5888 instead of 23), and then Kermit tries to connect to
  893.    port 5888 on the host; most hosts will refuse the connection; if they
  894.    don't, you probably didn't reach a Telnet port anyway. The workaround
  895.    is to include a port number (not name) in your command. Any of the
  896.    following will work:
  897.    
  898.   set host blah:23
  899.   set host blah 23
  900.   telnet blah:23
  901.   telnet blah 23
  902.  
  903.    A patch was issued after C-Kermit 6.0.192 was released, adding the
  904.    following command to VMS C-Kermit versions built on VAXes with UCX:
  905.    
  906.   SET TCP UCX-PORT-BUG { ON, OFF }
  907.  
  908.    If you have UCX 2.0C or earlier, and C-Kermit won't make Telnet
  909.    connections, tell it to:
  910.    
  911.   SET TCP UCX-PORT-BUG ON
  912.  
  913.    In case your version of C-Kermit 6.0 does not have this patch, then
  914.    use the workaround of specifying a port number.
  915.    
  916.    The previous hint also applies when running UCX versions of C-Kermit
  917.    under Wollongong or other TCP/IP products that have a UCX
  918.    compatibility mode. If you get "connection refused", then include the
  919.    port number in the TELNET or SET HOST command.
  920.    
  921.    The UCX version of Kermit works on MultiNet systems too, because
  922.    MultiNet automatically goes into "UCX compatibility mode" when a UCX
  923.    application is run.
  924.    
  925.    You can also use the non-network version of C-Kermit on a MultiNet
  926.    system to make TCP/IP connections as follows:
  927.    
  928.   $ telnet/create foo.bar.baz.com
  929.   Trying...
  930.   TELNET session now connected to _NTY5:
  931.   %DCL-I-ALLOC, _$4$NTY5: allocated
  932.  
  933.   $ kermit
  934.   C-Kermit 8.0.200, OpenVMS AXP
  935.   Type ? or HELP for help
  936.   C-Kermit>set line telnet_nty
  937.   C-Kermit>connect
  938.   etc...
  939.  
  940.    If you enter the VAX from elsewhere through a TELNET connection, and
  941.    the VAX is running CMU-OpenVMS/IP, Fusion, or an early version of DEC
  942.    TCP/IP (UCX), you might notice that file transfers into the VAX fail
  943.    almost immediately. If this happens, it is most likely the result of
  944.    small VMS typeahead buffers. See the [128]Installation Instructions
  945.    for how to increase typeahead buffer sizes, or work around the problem
  946.    by telling VMS C-Kermit to ask for smaller packets, for example:
  947.    
  948.   C-Kermit>set receive packet-length 65  ; (Use the longest length that works)
  949.  
  950.    When using the CMU-OpenVMS/IP TCP/IP transport, assign the system
  951.    logical INET$SERVICE_TELNET_TCP to the telnet port as follows:
  952.    
  953.   $ DEFINE /SYSTEM INET$SERVICE_TELNET_TCP 23
  954.  
  955.    This is only required if the -j option is used without specifying a
  956.    port to use (e.g. -j host). If this logical assignment is not made
  957.    using `-j host' option will fail with the error:
  958.    
  959.   %CKERMIT-E-FATAL, can't open host connection
  960.  
  961.    The default port, hardcoded in C-Kermit, is 23. Another port may be
  962.    specified using the -j option as `-j host:port'.
  963.    
  964.    SET INPUT ECHO OFF seems to have no effect when given to VMS C-Kermit
  965.    and the INPUT command is reading from the console terminal.
  966.    
  967.    [ [129]C-Kermit ] [ [130]Kermit Home ]
  968.     ________________________________________________________________________
  969.   
  970.   4. GENERAL FAILURES
  971.   
  972.    [ [131]Top ] [ [132]Contents ] [ [133]Next ] [ [134]Previous ]
  973.    
  974.    General failures can sometimes occur for reasons beyond Kermit's
  975.    control, many of them related to VMS system parameters or limits on
  976.    the user or process: disk quotas, user pagefile quotas (AUTHORIZE
  977.    parameter PGFLQUO), system pagefile space filling up, etc. See the
  978.    [135]Installation Instructions for details.
  979.    
  980.    To increase a user's pagefile quota, tell AUTHORIZE to MODIFY
  981.    username/PGFLQUO=number. The system itself might be running out of
  982.    pagefile space, which would cause the system to grind to a halt and
  983.    eventually crash. You can check the system pagefiles with SHOW
  984.    MEMORY/FILE: add up the "Free" numbers for the [*]*PAGEFILE.SYS files
  985.    and see if the total is big enough (there should normally be at least
  986.    100K free pages on an active system). If not, the system manager would
  987.    use the procedure @SYS$UPDATE:SWAPFILES to resize the files.
  988.    
  989.    VMS C-Kermit can hang or crash with an "access violation" under
  990.    certain conditions when trying to hang up a modem-controlled device
  991.    that is already hung up; investigation shows that the hang or crash
  992.    happens in VMS kernel space, not in Kermit.
  993.    
  994.    Reportedly, on certain VMS configurations (but not others), the
  995.    following sequence can cause C-Kermit to crash:
  996.    
  997.   set host somewhere
  998.   connect
  999.   (escape back)
  1000.   receive
  1001.   Ctrl-C
  1002.   connect
  1003.  
  1004.    The problem appears to be in the VMS C library's implementation of
  1005.    signal handling and longjumps.
  1006.    
  1007.    "Zombie" process can be left behind under certain conditions when a
  1008.    VMS Kermit server has been sent a BYE command, particularly over a
  1009.    TCP/IP connection (connection disappears before VMS has a chance to
  1010.    print its "logged out" message, and now there is nothing to print it
  1011.    on).
  1012.    
  1013.    One user reported "massive failures" when transferring files with VMS
  1014.    C-Kermit through a particular kind of terminal server. She had
  1015.    followed all the directions in the manual, the CKVINS.TXT file, and
  1016.    the CKVBWR.TXT files (as it was before this item was added). The
  1017.    terminal server, an Equinox ELG48, uses TELNET protocol to a
  1018.    DECstation 3000 Model 600 running VMS 6.1 and TGV MultiNet 3.3. Later,
  1019.    she reported: "It turned out that upgrading the software on our
  1020.    terminal server has fixed the problem. It's so odd that the problem
  1021.    only occured after we upgraded from VMS V5.5-2 to V6.1, since the
  1022.    terminal server worked fine before the upgrade. It's also weird that
  1023.    this terminal server has always worked fine for our Suns, also. Here's
  1024.    the details of the terminal server if you want to keep these details
  1025.    on file: Equinox PBX 20 with ELG 48 board. The ELG 48 rev was 2.30.
  1026.    After upgrading it to V2.33, everything works fine."
  1027.    
  1028.    [ [136]C-Kermit ] [ [137]Kermit Home ]
  1029.     ________________________________________________________________________
  1030.   
  1031.   5. LOCAL FILE OPERATIONS
  1032.   
  1033.    [ [138]Top ] [ [139]Contents ] [ [140]Next ] [ [141]Previous ]
  1034.    
  1035.    As of edit 190, VMS C-Kermit supports append operations: the various
  1036.    logs (packet, debug, transaction, etc) can be opened in append mode by
  1037.    including the APPEND keyword after the filename, e.g.:
  1038.    
  1039.   LOG TRANSACTIONS TRANSACT.LOG APPEND
  1040.  
  1041.    An arbitrary file can be opened for output in append mode:
  1042.    
  1043.   OPEN APPEND OOFA.TXT
  1044.  
  1045.    and the SET FILE COLLISION APPEND option now works during file
  1046.    transfer.
  1047.    
  1048.    When using append operations:
  1049.    
  1050.      * Be careful not to append files of different types together, such
  1051.        as a text file to an indexed file, or a fixed-record binary file
  1052.        to a text file, etc. The result will generally be unusable.
  1053.      * SET FILE COLLISION APPEND does not work when the FILE TYPE is
  1054.        LABELED. This is deliberate: labeled transfers are designed to
  1055.        give you an exact copy of the file, including attributes.
  1056.        
  1057.    There is no facility in C-Kermit to distinguish between "overwriting"
  1058.    and "versioning". SET FILE COLLISION OVERWRITE always creates a new
  1059.    version in VMS.
  1060.    
  1061.    BUG: As of this writing, APPEND operations do not use the RMS "first
  1062.    free byte", and so start on a new block boundary.
  1063.    
  1064.    [ [142]C-Kermit ] [ [143]Kermit Home ]
  1065.     ________________________________________________________________________
  1066.   
  1067.   6. FILE TRANSFER
  1068.   
  1069.    [ [144]Top ] [ [145]Contents ] [ [146]Next ] [ [147]Previous ]
  1070.    
  1071.    SECTION CONTENTS:
  1072.    
  1073.   6.1. [148]Automatic Transfer Mode
  1074.   6.2. [149]Oddball File Formats
  1075.   6.3. [150]Disk Quotas
  1076.   6.4. [151]Control-Character (Un)Prefixing
  1077.   6.5. [152]External Protocols
  1078.   6.6. [153]Miscellaneous
  1079.  
  1080.    Remember that VMS file formats are substantially different from those
  1081.    on UNIX, DOS, Windows, etc. Be sure to consult the VMS Appendix of
  1082.    "Using C-Kermit" on this topic, and to find out the special commands
  1083.    and procedures that apply to VMS.
  1084.    
  1085.    C-Kermit 7.0 has the following problems, which we hope can be resolved
  1086.    before the final release:
  1087.    
  1088.      * LABELED mode lacks relative pathname option; directory-tree
  1089.        transfers don't work between two VMS systems because they go into
  1090.        LABELED mode automatically (this one should be fixed in C-Kermit
  1091.        7.0).
  1092.      * Confusion about SET TRANSFER MODE { AUTOMATIC, MANUAL } vs FILE
  1093.        TYPE IMAGE (should AUTOMATIC unset IMAGE? Should IMAGE set MANUAL?
  1094.        ...)
  1095.      * Need better error message for failure to receive a file in text
  1096.        mode that has lines longer than 32K, or else a way to recover when
  1097.        this happens, e.g. by breaking the long line.
  1098.        
  1099.    C-Kermit 7.0 also enables proper transfer of fixed-length-record files
  1100.    with odd record lengths, and fixes problems with overstrike records in
  1101.    Fortran Carriage Control files. These fixes should go a long way
  1102.    towards eradicating the complaints about files that Kermit-32 could
  1103.    transfer correctly, but C-Kermit could not.
  1104.    
  1105.    [ [154]C-Kermit ] [ [155]Kermit Home ]
  1106.     ________________________________________________________________________
  1107.   
  1108.   6.1. Automatic Transfer Mode
  1109.   
  1110.    [ [156]Top ] [ [157]Contents ] [ [158]Section Contents ] [ [159]Next ]
  1111.    
  1112.    File transfer modes (TEXT vs BINARY) are set automatically for each
  1113.    file when sending. The SET FILE TYPE BINARY and SET FILE TYPE TEXT
  1114.    commands are ignored when sending files. So (in C-Kermit 7.0) are
  1115.    filename patterns (SET FILE PATTERNS). To force binary-mode
  1116.    transmission, use SET FILE TYPE IMAGE. See the VMS appendix of
  1117.    [160]Using C-Kermit.
  1118.    
  1119.    One notable consequence of this fact is that if you send a file from
  1120.    VMS C-Kermit in IMAGE mode (because it would not be transferred in
  1121.    binary mode without this setting), then any attempt to RESEND or REGET
  1122.    it must also be done with VMS C-Kermit in IMAGE mode.
  1123.    
  1124.    The other aspect of automatic transfer mode is that VMS-to-VMS
  1125.    transfers shift automatically into LABELED mode (again, see the
  1126.    [161]manual). One consequence of this is that any "as-name" that you
  1127.    give for the file is ignored. To defeat this, use "set transfer mode
  1128.    manual".
  1129.    
  1130.    DEC PATHWORKS file services normally create files in stream mode, but
  1131.    this can be overridden when the file service is created:
  1132.    
  1133.   $ ADMIN/PCSA
  1134.   PCSA> SET FILE_SERVER SERVICE service-name/ATTRIBUTES=SEQUENTIAL_FIXED
  1135.  
  1136.    The normal stream files will be treated as TEXT by Kermit. To transfer
  1137.    PATHWORKS files that are really binary, such as executables, use IMAGE
  1138.    mode.
  1139.    
  1140.    [ [162]C-Kermit ] [ [163]Kermit Home ]
  1141.     ________________________________________________________________________
  1142.   
  1143.   6.2. Oddball File Formats
  1144.   
  1145.    [ [164]Top ] [ [165]Contents ] [ [166]Section Contents ] [ [167]Next ]
  1146.    [ [168]Previous ]
  1147.    
  1148.    When sending binary files that have an odd record length, please note
  1149.    that these files are actually stored with an even record length on
  1150.    disk. For example, suppose DIR/FULL X.VDM says "fixed-length records,
  1151.    record length 17". On disk, the file really has 18-byte records; each
  1152.    17-byte record is padded with a NUL (0) byte to make its length even;
  1153.    this is revealed by DUMP. Prior to version 7.0, C-Kermit sent the raw
  1154.    records, INCLUDING THE PADDING. In 7.0 and later, odd-length records
  1155.    are sent without padding.
  1156.    
  1157.    If a text file is accidentally sent to VMS C-Kermit in binary mode,
  1158.    you can fix it afterwards (in recent VMS versions) with a DCL command
  1159.    like:
  1160.    
  1161.  $ SET FILE/ATTRIBUTES=(RFM:STM,LRL:0,MRS:0) filename
  1162.  
  1163.    Transfer of VFC (Variable with Fixed Control) files, such as those
  1164.    created by DCL, is problematic, since the meaning of the control bytes
  1165.    is defined by the application.
  1166.    
  1167.    VMS MAIL messages: If you want to download mail messages to a PC (or
  1168.    other non-VMS system), select the message of interest using the SELECT
  1169.    and DIRECTORY commands within VMS MAIL, then EXTRACT/ALL to extract
  1170.    all the selected messages to a normal text file, then use Kermit to
  1171.    SEND this file. Don't even think about trying to transfer your mail
  1172.    file as-is to a non-VMS system; it is a complicated indexed file,
  1173.    possibly containing pointers to other files, etc.
  1174.    
  1175.    ZIP files: If you have trouble transferring ZIP files into or out of
  1176.    VMS using BINARY mode, use IMAGE mode instead (SET FILE TYPE IMAGE).
  1177.    The same applies to binary files created by VMS UNZIP.
  1178.    
  1179.    [ [169]C-Kermit ] [ [170]Kermit Home ]
  1180.     ________________________________________________________________________
  1181.   
  1182.   6.3. Disk Quotas
  1183.   
  1184.    [ [171]Top ] [ [172]Contents ] [ [173]Section Contents ] [ [174]Next ]
  1185.    [ [175]Previous ]
  1186.    
  1187.    Incoming files are rejected if the available space on the disk device
  1188.    is less than the size of the file. However, the user's disk quota is
  1189.    not checked. Quota checking could erroneously report that a user
  1190.    couldn't store a file for a number of reasons: for example, the user
  1191.    has the EXQUOTA privilege, C-Kermit is installed with EXQUOTA
  1192.    privilege (not recommended!), overdraft, etc. Because of the large
  1193.    potential for denying a transfer that would fit, the file is accepted
  1194.    regardless of the disk quota. This is consistent with the way other
  1195.    VMS utilities work.
  1196.    
  1197.    [ [176]C-Kermit ] [ [177]Kermit Home ]
  1198.     ________________________________________________________________________
  1199.   
  1200.   6.4. Control-Character (Un)Prefixing
  1201.   
  1202.    [ [178]Top ] [ [179]Contents ] [ [180]Section Contents ] [ [181]Next ]
  1203.    [ [182]Previous ]
  1204.    
  1205.    Exercise caution when sending files to VMS when C-Kermit is in remote
  1206.    mode. Aside from all the buffering limitations of LAT and VMS, please
  1207.    note the following:
  1208.    
  1209.      * On most VMS systems, the controlling terminal MUST have the
  1210.        /TTSYNC and /HOSTSYNC characteristics, even on Telnet connections,
  1211.        or else massive amounts of data can be lost.
  1212.      * There are evidently certain control characters that can not be
  1213.        safely unprefixed when sending to VMS, no matter how far C-Kermit
  1214.        goes to put the job's controlling terminal in "passthrough" mode.
  1215.        These include:
  1216.  
  1217.   Ctrl-Q  XOFF  17
  1218.   Ctrl-S  XON   19
  1219.   Ctrl-C  ETX    3
  1220.   Ctrl-N  SO    14
  1221.   Ctrl-O  SI    15
  1222.   Ctrl-X  CAN   24
  1223.   Ctrl-Y  EM    25
  1224.  
  1225.    As well as 141, 145, 147 (CR, XOFF, XON with their high bits set). If
  1226.    you find file transfers into VMS stalling, it is very likely because
  1227.    one or more of the these characters is unprefixed.
  1228.    
  1229.    On a related note, Carriage Return (13) and IAC (255) must be prefixed
  1230.    on Telnet connections, and Kermit's start-of-packet character
  1231.    (normally SOH, ASCII 1) should also be prefixed. NUL (0) should be
  1232.    prefixed too.
  1233.    
  1234.    [ [183]C-Kermit ] [ [184]Kermit Home ]
  1235.     ________________________________________________________________________
  1236.   
  1237.   6.5. External Protocols
  1238.   
  1239.    [ [185]Top ] [ [186]Contents ] [ [187]Section Contents ] [ [188]Next ]
  1240.    [ [189]Previous ]
  1241.    
  1242.    You can use the ZMODEM SZ and RZ commands as "external protocols" over
  1243.    a connection you have established with C-Kermit, to a host or service
  1244.    that does not support Kermit protocol. Start the file transfer on the
  1245.    remote end, escape back to C-Kermit, give the SPAWN command, and then
  1246.    (for example):
  1247.    
  1248.   $ define tt xxx:
  1249.   $ rz
  1250.  
  1251.    where xxx is the designation of the terminal device (TT or LTA) that
  1252.    you have dialed out on. When the transfer is complete, LOGOUT from the
  1253.    SPAWN'd subprocess and you'll be back at the C-Kermit prompt.
  1254.    
  1255.    [ [190]C-Kermit ] [ [191]Kermit Home ]
  1256.     ________________________________________________________________________
  1257.   
  1258.   6.6. Miscellaneous
  1259.   
  1260.    [ [192]Top ] [ [193]Contents ] [ [194]Section Contents ] [
  1261.    [195]Previous ]
  1262.    
  1263.    The file size shown in the file transfer display when sending a file
  1264.    might be incorrect under certain conditions (but the file is still
  1265.    transferred correctly).
  1266.    
  1267.    Incoming files, if accepted, are always stored as a new file with the
  1268.    next highest version number, even when FILE COLLISION is set to
  1269.    OVERWRITE or RENAME.
  1270.    
  1271.    When you send a BYE command to a VMS C-Kermit server, it does not
  1272.    guarantee that the VMS job will be logged out. If C-Kermit was SPAWN'd
  1273.    from another process, only C-Kermit itself disappears in this case.
  1274.    Even if the whole VMS session ends, if the user came in through a LAT
  1275.    terminal server, they will be back at the "Local>" prompt and the
  1276.    phone line won't be disconnected.
  1277.    
  1278.    When transferring files in LABELED mode, the file transfer display
  1279.    will show the name the file was sent as, not the "true" name within
  1280.    the labeled file. Also, note that a transfer may fail with an obscure
  1281.    error (can't create output file) if there is something incorrect with
  1282.    the label information (for example, if you specified that the file
  1283.    should be restored to the original directory and you don't have
  1284.    privilege to write to that directory on this system).
  1285.    
  1286.    Reportedly, when VMS C-Kermit is in local mode and transferring a file
  1287.    (file transfer display is showing) over a MultiNet TCP/IP connection
  1288.    and a broadcast from a completing batch job (SUBMIT/NOTIFY) arrives,
  1289.    it crashes C-Kermit with %SYSTEM-F-ACCVIO, access violation. The stack
  1290.    dump shows this occurs in the netinc() routine while reading a packet
  1291.    (rpack).
  1292.    
  1293.    [ [196]C-Kermit ] [ [197]Kermit Home ]
  1294.     ________________________________________________________________________
  1295.   
  1296.   7. OTHER TOPICS
  1297.   
  1298.    [ [198]Top ] [ [199]Contents ] [ [200]Previous ]
  1299.    
  1300.    (So far just one...)
  1301.    
  1302.   7.1. Non-DEC Terminal Types
  1303.   
  1304.    Non-DEC terminal types are not well supported under VMS. While it
  1305.    might be possible to install a definition for a non-DEC terminal (such
  1306.    as the IBM 3151) in the SMG database, very few applications actually
  1307.    use this information. Also, although C-Kermit 5x and 6.x used SMG,
  1308.    C-Kermit 7.0 bypasses it entirely due to problems discovered during
  1309.    the development cycle.
  1310.    
  1311.    [ [201]Top ] [ [202]Contents ] [ [203]C-Kermit Home ] [ [204]Kermit
  1312.    Home ]
  1313.      _________________________________________________________________
  1314.    
  1315.    
  1316.     C-Kermit 8.0 VMS Hints and Tips / The Kermit Project / Columbia
  1317.     University / 12 Dec 2001
  1318.  
  1319. References
  1320.  
  1321.    1. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1322.    2. http://www.columbia.edu/kermit/ckermit.html
  1323.    3. http://www.columbia.edu/kermit/index.html
  1324.    4. http://www.columbia.edu/kermit/ckvbwr.html
  1325.    5. http://www.columbia.edu/kermit/ckvbwr.html#x1
  1326.    6. http://www.columbia.edu/kermit/ckvbwr.html#x2
  1327.    7. http://www.columbia.edu/kermit/ckvbwr.html#x3
  1328.    8. http://www.columbia.edu/kermit/ckvbwr.html#x4
  1329.    9. http://www.columbia.edu/kermit/ckvbwr.html#x5
  1330.   10. http://www.columbia.edu/kermit/ckvbwr.html#x6
  1331.   11. http://www.columbia.edu/kermit/ckvbwr.html#x7
  1332.   12. http://www.columbia.edu/kermit/ckvbwr.html#top
  1333.   13. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1334.   14. http://www.columbia.edu/kermit/ckvbwr.html#x2
  1335.   15. http://www.columbia.edu/kermit/ckvbwr.html#x1.1
  1336.   16. http://www.columbia.edu/kermit/ckvbwr.html#x1.2
  1337.   17. http://www.columbia.edu/kermit/ckvbwr.html#x1.3
  1338.   18. http://www.columbia.edu/kermit/ckvbwr.html#x1.4
  1339.   19. http://www.columbia.edu/kermit/ckvbwr.html#x1.1
  1340.   20. http://www.columbia.edu/kermit/ckcbwr.html
  1341.   21. http://www.columbia.edu/kermit/ckcins.html
  1342.   22. http://www.columbia.edu/kermit/ckermit.html
  1343.   23. http://www.columbia.edu/kermit/index.html
  1344.   24. http://www.columbia.edu/kermit/ckvbwr.html#top
  1345.   25. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1346.   26. http://www.columbia.edu/kermit/ckvbwr.html#x1
  1347.   27. http://www.columbia.edu/kermit/ckvbwr.html#x1.2
  1348.   28. http://www.columbia.edu/kermit/ckermit.html
  1349.   29. http://www.columbia.edu/kermit/index.html
  1350.   30. http://www.columbia.edu/kermit/ckvbwr.html#top
  1351.   31. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1352.   32. http://www.columbia.edu/kermit/ckvbwr.html#x1
  1353.   33. http://www.columbia.edu/kermit/ckvbwr.html#x1.3
  1354.   34. http://www.columbia.edu/kermit/ckvbwr.html#x1.1
  1355.   35. http://www.columbia.edu/kermit/ckmanual.html
  1356.   36. http://www.columbia.edu/kermit/ckermit2.html
  1357.   37. http://www.columbia.edu/kermit/ckermit3.html
  1358.   38. http://www.columbia.edu/kermit/ckermit.html
  1359.   39. http://www.columbia.edu/kermit/ckermit.html
  1360.   40. http://www.columbia.edu/kermit/index.html
  1361.   41. http://www.columbia.edu/kermit/ckvbwr.html#top
  1362.   42. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1363.   43. http://www.columbia.edu/kermit/ckvbwr.html#x1
  1364.   44. http://www.columbia.edu/kermit/ckvbwr.html#x1.4
  1365.   45. http://www.columbia.edu/kermit/ckvbwr.html#x1.2
  1366.   46. mailto:kermit-support@columbia.edu
  1367.   47. news:comp.protocols.kermit.announce
  1368.   48. news:comp.protocols.kermit.misc
  1369.   49. http://www.columbia.edu/kermit/
  1370.   50. http://www.kermit-project.org/
  1371.   51. http://www.columbia.edu/kermit/faq.html
  1372.   52. http://www.columbia.edu/kermit/ckermit.html
  1373.   53. http://www.columbia.edu/kermit/index.html
  1374.   54. http://www.columbia.edu/kermit/ckvbwr.html#top
  1375.   55. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1376.   56. http://www.columbia.edu/kermit/ckvbwr.html#x1
  1377.   57. http://www.columbia.edu/kermit/ckvbwr.html#x1.3
  1378.   58. ftp://ftp.digital.com/pub/Digital/dec-faq/vms
  1379.   59. ftp://rtfm.mit.edu/pub/usenet/news.answers/dec-faq/vms
  1380.   60. http://www.openvms.digital.com/wizard/openvms_faq.txt
  1381.   61. news:comp.os.vms
  1382.   62. news:comp.sys.dec
  1383.   63. http://www.columbia.edu/kermit/ckermit.html
  1384.   64. http://www.columbia.edu/kermit/index.html
  1385.   65. http://www.columbia.edu/kermit/ckvbwr.html#top
  1386.   66. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1387.   67. http://www.columbia.edu/kermit/ckvbwr.html#x3
  1388.   68. http://www.columbia.edu/kermit/ckvbwr.html#x1
  1389.   69. http://www.columbia.edu/kermit/ckvbwr.html#x2.1
  1390.   70. http://www.columbia.edu/kermit/ckvbwr.html#x2.2
  1391.   71. http://www.columbia.edu/kermit/ckvbwr.html#x2.3
  1392.   72. http://www.columbia.edu/kermit/ckermit.html
  1393.   73. http://www.columbia.edu/kermit/index.html
  1394.   74. http://www.columbia.edu/kermit/ckvbwr.html#top
  1395.   75. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1396.   76. http://www.columbia.edu/kermit/ckvbwr.html#x2
  1397.   77. http://www.columbia.edu/kermit/ckvbwr.html#x2.2
  1398.   78. http://www.columbia.edu/kermit/ckermit.html
  1399.   79. http://www.columbia.edu/kermit/index.html
  1400.   80. http://www.columbia.edu/kermit/ckvbwr.html#top
  1401.   81. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1402.   82. http://www.columbia.edu/kermit/ckvbwr.html#x2
  1403.   83. http://www.columbia.edu/kermit/ckvbwr.html#x2.3
  1404.   84. http://www.columbia.edu/kermit/ckvbwr.html#x2.1
  1405.   85. mailto:kellyd@airmoon.epa.nsw.gov.au
  1406.   86. http://www.columbia.edu/kermit/ckermit.html
  1407.   87. http://www.columbia.edu/kermit/index.html
  1408.   88. http://www.columbia.edu/kermit/ckvbwr.html#top
  1409.   89. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1410.   90. http://www.columbia.edu/kermit/ckvbwr.html#x2
  1411.   91. http://www.columbia.edu/kermit/ckvbwr.html#x2.2
  1412.   92. http://www.columbia.edu/kermit/ckermit.html
  1413.   93. http://www.columbia.edu/kermit/index.html
  1414.   94. http://www.columbia.edu/kermit/ckvbwr.html#top
  1415.   95. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1416.   96. http://www.columbia.edu/kermit/ckvbwr.html#x4
  1417.   97. http://www.columbia.edu/kermit/ckvbwr.html#x2
  1418.   98. http://www.columbia.edu/kermit/ckvbwr.html#x3.1
  1419.   99. http://www.columbia.edu/kermit/ckvbwr.html#x3.2
  1420.  100. http://www.columbia.edu/kermit/ckvins.html#x6
  1421.  101. http://www.columbia.edu/kermit/ckvins.html
  1422.  102. http://www.tmesis.com/modem/
  1423.  103. http://www.columbia.edu/kermit/ckvbwr.html#top
  1424.  104. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1425.  105. http://www.columbia.edu/kermit/ckvbwr.html#x3
  1426.  106. http://www.columbia.edu/kermit/ckvbwr.html#x3.2
  1427.  107. http://www.columbia.edu/kermit/ckvbwr.html#x3.1.1
  1428.  108. http://www.columbia.edu/kermit/ckvbwr.html#x3.1.2
  1429.  109. http://www.columbia.edu/kermit/ckvbwr.html#x3.1.3
  1430.  110. http://www.columbia.edu/kermit/ckvbwr.html#x3.1.4
  1431.  111. http://www.columbia.edu/kermit/ckvbwr.html#x3.1.5
  1432.  112. http://www.columbia.edu/kermit/ckvbwr.html#x3.1.6
  1433.  113. http://www.columbia.edu/kermit/ckvbwr.html#x3.1.4.1
  1434.  114. http://www.columbia.edu/kermit/ckvbwr.html#x3.1.4.2
  1435.  115. http://www.columbia.edu/kermit/ckvbwr.html#x3.1.4.3
  1436.  116. http://www.columbia.edu/kermit/ckvbwr.html#x3.1.4.4
  1437.  117. http://www.columbia.edu/kermit/ckvins.html
  1438.  118. http://www.columbia.edu/kermit/ckvbwr.html#x6
  1439.  119. http://www.columbia.edu/kermit/ckvins.html
  1440.  120. http://www.columbia.edu/kermit/ckermit.html
  1441.  121. http://www.columbia.edu/kermit/index.html
  1442.  122. http://www.columbia.edu/kermit/ckvbwr.html#top
  1443.  123. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1444.  124. http://www.columbia.edu/kermit/ckvbwr.html#x3
  1445.  125. http://www.columbia.edu/kermit/ckvbwr.html#x3.1
  1446.  126. http://www.columbia.edu/kermit/ckvbwr.html#x3.2.1
  1447.  127. http://www.columbia.edu/kermit/ckvbwr.html#x3.2.2
  1448.  128. http://www.columbia.edu/kermit/ckvins.html
  1449.  129. http://www.columbia.edu/kermit/ckermit.html
  1450.  130. http://www.columbia.edu/kermit/index.html
  1451.  131. http://www.columbia.edu/kermit/ckvbwr.html#top
  1452.  132. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1453.  133. http://www.columbia.edu/kermit/ckvbwr.html#x5
  1454.  134. http://www.columbia.edu/kermit/ckvbwr.html#x3
  1455.  135. http://www.columbia.edu/kermit/ckvins.html
  1456.  136. http://www.columbia.edu/kermit/ckermit.html
  1457.  137. http://www.columbia.edu/kermit/index.html
  1458.  138. http://www.columbia.edu/kermit/ckvbwr.html#top
  1459.  139. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1460.  140. http://www.columbia.edu/kermit/ckvbwr.html#x6
  1461.  141. http://www.columbia.edu/kermit/ckvbwr.html#x4
  1462.  142. http://www.columbia.edu/kermit/ckermit.html
  1463.  143. http://www.columbia.edu/kermit/index.html
  1464.  144. http://www.columbia.edu/kermit/ckvbwr.html#top
  1465.  145. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1466.  146. http://www.columbia.edu/kermit/ckvbwr.html#x7
  1467.  147. http://www.columbia.edu/kermit/ckvbwr.html#x5
  1468.  148. http://www.columbia.edu/kermit/ckvbwr.html#x6.1
  1469.  149. http://www.columbia.edu/kermit/ckvbwr.html#x6.2
  1470.  150. http://www.columbia.edu/kermit/ckvbwr.html#x6.3
  1471.  151. http://www.columbia.edu/kermit/ckvbwr.html#x6.4
  1472.  152. http://www.columbia.edu/kermit/ckvbwr.html#x6.5
  1473.  153. http://www.columbia.edu/kermit/ckvbwr.html#x6.6
  1474.  154. http://www.columbia.edu/kermit/ckermit.html
  1475.  155. http://www.columbia.edu/kermit/index.html
  1476.  156. http://www.columbia.edu/kermit/ckvbwr.html#top
  1477.  157. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1478.  158. http://www.columbia.edu/kermit/ckvbwr.html#x6
  1479.  159. http://www.columbia.edu/kermit/ckvbwr.html#x6.2
  1480.  160. http://www.columbia.edu/kermit/ckmanual.html
  1481.  161. http://www.columbia.edu/kermit/ckmanual.html
  1482.  162. http://www.columbia.edu/kermit/ckermit.html
  1483.  163. http://www.columbia.edu/kermit/index.html
  1484.  164. http://www.columbia.edu/kermit/ckvbwr.html#top
  1485.  165. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1486.  166. http://www.columbia.edu/kermit/ckvbwr.html#x6
  1487.  167. http://www.columbia.edu/kermit/ckvbwr.html#x6.3
  1488.  168. http://www.columbia.edu/kermit/ckvbwr.html#x6.1
  1489.  169. http://www.columbia.edu/kermit/ckermit.html
  1490.  170. http://www.columbia.edu/kermit/index.html
  1491.  171. http://www.columbia.edu/kermit/ckvbwr.html#top
  1492.  172. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1493.  173. http://www.columbia.edu/kermit/ckvbwr.html#x6
  1494.  174. http://www.columbia.edu/kermit/ckvbwr.html#x6.4
  1495.  175. http://www.columbia.edu/kermit/ckvbwr.html#x6.2
  1496.  176. http://www.columbia.edu/kermit/ckermit.html
  1497.  177. http://www.columbia.edu/kermit/index.html
  1498.  178. http://www.columbia.edu/kermit/ckvbwr.html#top
  1499.  179. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1500.  180. http://www.columbia.edu/kermit/ckvbwr.html#x6
  1501.  181. http://www.columbia.edu/kermit/ckvbwr.html#x6.5
  1502.  182. http://www.columbia.edu/kermit/ckvbwr.html#x6.3
  1503.  183. http://www.columbia.edu/kermit/ckermit.html
  1504.  184. http://www.columbia.edu/kermit/index.html
  1505.  185. http://www.columbia.edu/kermit/ckvbwr.html#top
  1506.  186. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1507.  187. http://www.columbia.edu/kermit/ckvbwr.html#x6
  1508.  188. http://www.columbia.edu/kermit/ckvbwr.html#x6.6
  1509.  189. http://www.columbia.edu/kermit/ckvbwr.html#x6.4
  1510.  190. http://www.columbia.edu/kermit/ckermit.html
  1511.  191. http://www.columbia.edu/kermit/index.html
  1512.  192. http://www.columbia.edu/kermit/ckvbwr.html#top
  1513.  193. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1514.  194. http://www.columbia.edu/kermit/ckvbwr.html#x6
  1515.  195. http://www.columbia.edu/kermit/ckvbwr.html#x6.5
  1516.  196. http://www.columbia.edu/kermit/ckermit.html
  1517.  197. http://www.columbia.edu/kermit/index.html
  1518.  198. http://www.columbia.edu/kermit/ckvbwr.html#top
  1519.  199. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1520.  200. http://www.columbia.edu/kermit/ckvbwr.html#x2
  1521.  201. http://www.columbia.edu/kermit/ckvbwr.html#top
  1522.  202. http://www.columbia.edu/kermit/ckvbwr.html#contents
  1523.  203. http://www.columbia.edu/kermit/ckermit.html
  1524.  204. http://www.columbia.edu/kermit/index.html
  1525.