home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / c-kermit / ckvbwr.txt < prev    next >
Text File  |  2020-01-01  |  69KB  |  1,560 lines

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