1 VAXNET
!
! VAXNET.HLP by Robin Miller.  Last Update:  July 7, 1986.
!
! Use the command "DEFINE HLP$LIBRARY disk:[directory]VAXNET.HLB" to
! make the help file available to the program and the DCL help command.
!
 VAXNET  is  a program which allows communcations between two computers
 using  an  asynchronous  terminal  port.  The systems can be connected
 either  directly  using  a  null  modem  cable  or via a dialup modem.
 Communications  with  the remote system is accomplished using a second
 port on the local system.

 After  the  initial dialogue, you simply login to the remote system as
 an interactive user.  If a log file was specified, all output from the
 remote  system  is written to the log file.  Thus, if you want to copy
 a  file from the remote system to the local system, simply display the
 file  at  the  terminal using the TYPE command.  If you want to send a
 file  to the remote system, open a file using the CREATE command, then
 use the VAXNET DUMP command to send the file to the remote.

 An alternate method of transferring files requires the KERMIT, SNDRCV,
 or VMODEM programs on  the  remote  system.  These progras allows file
 transmission of ASCII files with error checking. A program called MISH
 can be used to convert any  type of file into printable ASCII for file
 transmission.  Refer  to the MISH and SNDRCV help sections for details
 on using these programs.

2 AUTO_LOGIN
 This command is used to automatically login to the remote system.
 To  use  this  command,  several  DCL  symbols must be defined to
 describe the login sequence:

  $ LOGIN_START :== "^M"                ! To start VMS login.
                    "HEL^M"             ! To start RSX-11M login.
                    "^C"                ! To start MIT login.

 This  symbol  defines  the character(s) to send the remote to get
 the  login started.  All characters preceeded by the up-arrow are
 converted to control characters.  Thus, the ^M above is converted
 to  a carriage return.  These character(s) are sent in one second
 intervals  until  the  remote system responds.  For systems which
 display its' login prompt automatically, this symbol doesn't need
 to be defined (i.e., EASYLINK).

  $ LOGIN_PROMPT :== "Username:"        ! Prompt for VAX/VMS.
                     "Account or name:" ! Prompt for RSX-11M.
                     "U#"               ! Prompt for Crossfile.
                     "ID?"              ! Prompt for EASYLINK.

 This  symbol  defines  the characters the remote system sends for
 its' login prompt.  The login command will not be sent until this
 prompt is received from the remote.

  $ LOGIN_CMD :== "ROBIN/NOCOM"

 This  symbol  defines  the  characters to send in response to the
 login prompt.

  $ PASS_PROMPT :== "Password:"

 This  symbol  defines the password prompt displayed by the remote
 system. If specified, VAXNET waits for this string before sending
 the password string.

  $ PASSWORD :== "your_password"

 This  symbol  defines  the  characters to send in response to the
 password  prompt.  For  systems which specify the password on the
 login command line, this symbol should not be defined.

  $ LOGIN_ERROR :== "User authorization failure"

 This symbol defines the login error displayed by the remote system
 if  the  login is invalid.  If this message is detected, the login
 is retried up to three times by default.

 The following symbols can be defined for a secondary login.  They
 perform the same function as those described above.

  $ LOGIN_PROMPT2 :== "secondary login prompt"
  $ LOGIN_CMD2    :== "secondary login command"
  $ PASS_PROMPT2  :== "secondary password prompt"
  $ PASSWORD2     :== "secondary password"
  $ LOGIN_ERROR2  :== "secondary login error message"

 In addition to the above DCL symbols, the following symbols can be
 defined to override default retry and timeout counts.  The current
 default is used as the value to define the symbols. The previously
 undocumented symbol names appear in parentheses on the next line.

  $ LOGIN_DELAY   :== 0     ! Time to delay between the header
    (Same name)             ! message and the login prompt.
  $ LOGIN_RETRYS  :== 10    ! Number of times to send the start
    (LOGIN_TRYS)            ! login prompt string.
  $ PROMPT_RETRYS :== 3     ! Number of times to look for the
    (PROMPT_TRYS)           ! login and/or password prompts.
  $ AFTER_TIMEOUT :== 5     ! Number of seconds to wait after login
    (AFTER_TMO)             ! to read login messages, mail, etc.
  $ IDLE_TIMEOUT  :== 1     ! Number of seconds to wait between
    (AFTER_TMO)             ! characters after the first character
                            ! is read.  For speeds of less than 1200
                            ! baud, this value is increased to 2.
  $ LOGIN_TIMEOUT :== 30    ! Time to wait for the first character
    (LOGIN_TMO)             ! of the login prompt.  This timeout is
                            ! also used for the password timeout.

2 BYE
 This command is used to send a Logout command to the remote KERMIT
 running in server mode to have it exit and logoff the system.

 Command Format:

   Vaxnet> BYE

2 CABLE
 A null modem cable is required to communicate directly between two
 computers  without  using  modems.  A straight  through  cable  is
 normally used with modems.  This cable is constructed as follows:

           WIRING DIAGRAM FOR NULL MODEM CABLE

        TD      2 ..................... 3      RD

        RD      3 ..................... 2      TD

        GND     7 ..................... 7      GND

        DSR     6 ..................... 20     DTR

        DTR     20 .................... 6      DSR

2 CALL_BACK
 If  your system has autodial modems on it, you can run VAXNET in a
 batch job to have it call you back. This is useful for those of us
 who  have  to make long distance phone calls to access the system.
 After  the  autodial modem calls you back, you simply login to the
 system normally. There are two DCL symbols used with this feature:

   $ CALL_ME_BACK   :== Y      ! Enable the call-me-back feature.
   $ CALL_ME_DELAY  :== 30     ! Number of seconds (1-59) to delay
                               ! before dialing the phone number.

 If you desire a longer delay, submit the batch job with the /AFTER
 switch (i.e., /AFTER="+:1" to delay one minute).

 System  managers  who wish to make this feature available to users
 must  either  enable  the MODHANGUP characteristic using sysgen or
 disable  the  HANGUP  characteristic  for the remote port.  If the
 HANGUP  characteristic  is  enabled  then  VMS automatically hangs
 up the modem after the connection is established and VAXNET exits.

 The  MODHANGUP  characteristic  must  be changed by sysgen because
 there  isn't  an  associated  "SET TERMINAL" command to enable it.
 To  enable this characteristic, a value of eight must be ored into
 the second  terminal characteristics word (TTY_DEFCHAR2).  If this
 characteristic  is  enabled,  then  VAXNET  can  modify the HANGUP
 characteristic without needing logical or physical I/O privilege.

2 CLEAR
 This  command is used to clear the local and remote counters which
 are  set  during interactive mode.  These counters are used during
 debugging to help tune the read delay and read timeout counts.

 Command Format:

   Vaxnet> CLEAR

2 COMMAND_FILE
 A  command  file  can be specified at the Vaxnet command prompt to
 allow  you change many parameters or to execute many commands.  If
 you don't specify an extension, it defaults to .COM. If any errors
 occur  while  executing these commands, the command file is closed
 immediatly.  The symbol VAXNET_CMD can be defined with the name of
 the  command  file  to  automatically change parameters at startup
 time.  The command lines can be in either upper or lowercase since
 the command line is converted to all uppercase after being read.

 Command Format:

   Vaxnet> @VCMD

 Contents of file VCMD.COM:
        set protocol xmodem
        set file_type binary
        status

2 CROSSFILE
 This command is used with the GE Crossfile System. After the modem
 is online, the character "H" is sent in one second intervals until
 the login prompt "U#:" is received.  This command is automatically
 executed  at  startup  time  and  during a dial or redial when the
 system type is CROSSFILE.

 Command Format:

   Vaxnet> CROSSFILE

2 DCL
 There are two commands used to execute a DCL command.  If you type
 "$ dcl_command",  the  command is executed without copying the DCL
 symbols  and  logical names.  If you type "SPAWN dcl_command", the
 DCL symbols and logical names are copied.  With either command, if
 a DCL command is not specified, a new process is created.

 For example, to get a directory, type:

   Vaxnet> $ DIRECTORY

2 DIAL
 This command is used to specify the phone number for the auto dial
 modem to dial. The modem is automatically hungup before attempting
 to dial the new phone number.

 Command Format:

   Vaxnet> DIAL phone_number

2 DIALER_PORT
 The  dialer port is the terminal line used to communicate with the
 autodialer  when  the dialer is seperate from the modem(s).  These
 routines  are  currently  used  by the Racal Vadic VA811 Automatic
 Calling  Unit,  the  VA831A/B  Adapter, and the VA3480 modem.  The
 logical name DIALER$PORT can be defined to specify the dialer port
 to use.

2 DIALER_SPEED
 This command is used specify the baud rate of the autodialer port.
 The  program  automatically  sets the dialer port to the speed you
 specify.  The  autodialer  speed at Northern Telecom in Concord is
 set  to  1200  baud.  The speed is switch selectable to one of the
 baud rates listed below.

   The valid baud rates are:

        110     134     150     300     1200    2400

2 DISCONNECT
 This  command  is used to disconnect from the remote system.  When
 this command is issued, the modem is hungup. Usually, this command
 isn't  needed  since  Vaxnet automatically hangs up the modem when
 you  exit  the  program.  This command is the same as the "HANGUP"
 command.

 Command Format:

   Vaxnet> DISCONNECT

2 DUMP
 This  command  is used to dump a file to the remote system.  It is
 usually used if the remote system doesn't have the SNDRCV program.
 When  using  this  command, there must be a program running on the
 remote  system to accept the characters being dumped to it.  Using
 the  "CREATE file_name"  command works very nice.  When the end of
 file  is  detected, you can optionally have a dump terminator sent
 by specifying the symbol DUMP_TERM.  The default dump read timeout
 is three seconds if the remote echoes, zero if it doesn't echo.

 Command Format:

   Vaxnet> DUMP file1, file2, ... filen

 DCL Symbols:

   $ DUMP_TIMEOUT :== 1       ! The dump read timeout in seconds.
   $ DUMP_DELAY   :== "00.25" ! Delay between dumping each record.
   $ DUMP_ECHO    :== N       ! Disable echo of dumped records.
   $ DUMP_TERM    :== "^Z"    ! Send CTRL/Z at end of file.

2 EASYLINK
 Western  Union's  EASYLINK  service is an advanced electronic mail
 service  offering  a  broad  range  of  value-added  communication
 features  designed  to  meet today's business needs.  EASYLINK can
 satisfy  user's  needs  for simple, convenient, quick and low-cost
 message communications.

 A subscriber to EASYLINK can send and receive messages between and
 among  other  EASYLINK  subscribers.  A  subscriber  can also send
 messages  to  destinations  served  by  TELEX  I,  TELEX II (TWX),
 INTERNATIONAL  TELEX,  INFOCOM,  and  as MAILGRAMS, TELEGRAMS, and
 INTERNATIONAL CABLEGRAMS.

 Subscribers can prepare and send messages using most existing data
 terminals,  word  processors  and personal computers equipped with
 dial  telephone communications capability.  Subscribers can choose
 between  two  message delivery methods.  One choice is to have the
 messages  delivered  directly to any of the above devices equipped
 with  automatic  answer  capability.  The  other choice is to have
 messages delivered to and held in an electronic mailbox, for later
 retrieval by a subscriber at his convenience.

        The rest of the EASLINK documentation was removed
        since it is quit lengthy.  It can be recreated by
        using  a VAXNET logfile and typing /HELP commands
        to EASYLINK after getting logged in.

2 EXIT
 This  command  is  used to exit from VAXNET.  You can also exit by
 typing  a CTRL/Z.  The log file (if open) is closed, and the modem
 is  automatically hungup if you were using a modem.  If a log file
 is  being closed, the command "REF log_file_name" is executed when
 exiting to automatically reformat the log file.

2 FINISH
 This command is used to send a Finish command to the remote KERMIT
 running in server mode to have it exit and return to the system.

 Command Format:

   Vaxnet> FINISH

2 GET
 This command is used to GET (receive) a file from a remote system.
 The  remote  system  MUST be running the KERMIT, SNDRCV, or VMODEM
 program before issuing this command. If you don't specify the file
 names on the command  line,  you  are  prompted for the names.  If
 you type "*" or the  RETURN  key for the VAX file name, the REMOTE
 file name is used.  At the present time  for the SNDRCV and VMODEM
 programs,  only  one  file  at  a  time can be tranferred from the
 remote  system  (no wildcards).  While the file transmission is in
 progress,  you  can  type  the ESCAPE key to get a one line status
 report of the current file.

 Command Format:

   Vaxnet> GET remote_file vax_file

3 REMOTE_FILE
 The  REMOTE  file  name must be a legal file specification for the
 system  you are talking to.  At the current time, only one file at
 time can be transferred.  When getting files from a remote KERMIT,
 you  may  specify  a logical name or a directory specification for
 the VAX file name.  If the VAX file ends in a colon (:) or a right
 bracket  (]),  the  file  name  received from the remote KERMIT is
 appended to this string to create the VAX file specification.

3 VAX_FILE
 The  VAX file name can be any VAX file specification.  If you type
 the  return  key,  the  remote  file name is used on the VAX.  The 
 remote  file  name  is  taken  exactly  as  is.  This includes the
 directory  name  (i.e., [1,24] or [ROBIN]).  If you don't have the
 specified  directory  on the VAX, you will have to specify the VAX
 file name.

2 HANGUP
 This  command  is  used  to hangup the modem.  The modem is hungup
 automatically  when  you  exit Vaxnet and also before an auto dial
 is attempted.  If you are using a modem, ensure the remote port is
 setup as modem with the following command:

  $ SET TERMINAL TTcn:/MODEM/PERM

 If  the remote port is not setup as modem, all auto dial questions
 (and/or  symbols)  are  bypassed, and the modem is not hungup when
 VAXNET  exits.  If  you don't want the modem hungup when you exit,
 issue  the  "SET HANGUP OFF" command before exiting.  This command
 is the same as the "DISCONNECT" command.

 Command Format:

   Vaxnet> HANGUP

2 HELP
 Help can be obtained on a particular topic by typing :

   HELP  topic  subtopic  subsubtopic  ...

   A topic can have the following format :
     1) an alphanumeric string (e.g. a command name, option, etc...)
     2) the match-all symbol "*"
     3) any of the above followed by "..." (on first topic only)

   Examples:
      HELP GET
      HELP SEND...

   Abbreviations result in all matches being displayed.

2 INTRO
 VAXNET  is  a  program  which  allows  communcations  between  two
 computers using an asynchronous terminal port.  The systems can be
 connected either directly using a null modem cable or via a dialup
 modem.  Communications  with  the  remote  system  is accomplished
 using a second port on the local system.

 When  VAXNET  is  prompting  you  for  a  question,  you  have the
 following options:

 o  typing the escape key or typing "?" will give you help,
 o  typing  an  exclaimation  point (!) followed by the return key
    backs up to the previous question.
 o  typing  the  return key selects the default answer if there is
    one.  Default answers are shown in parenthesis; i.e., (DEC)
 o  typing a CTRL/Z will exit from VAXNET.

 If  you  are communicating with the remote system, and you want to
 exit,  you  must  first  type  the  interrupt  character to get to
 command level, and then type either CTRL/Z or EXIT.

2 MISH
 This  program  is  used  to  compress and convert input files into a
 printable  ASCII format.  The file attributes are stored in a header
 record  which is used when decompressing to restore the file to its'
 original  file  format.  This  mished  file format is useful for any
 communication program which transfers ASCII files.

 This  version  of  MISH  also allows the compressed files to left in
 binary  format  if the /BINARY qualifier is specified.  This type of
 file can be used on HASP and 2780 punch streams.

 An  additional qualifier /XMODEM can be specified to generate a file
 which  can  be  transferred using the XMODEM program in binary mode.
 These files are created with 128 byte records.

 Command line format:
  
    $ MISH input_file output_file/qualifiers

    Qualifiers:

      /ASCII      Convert file from/to ASCII format.    (Default)
      /BINARY     Convert file from/to BINARY format.
      /COMPRESS   Compress the specified input file.    (Default)
      /DECOMPRESS Decompress the specified input file.
      /NOTOTALS   Disable the final totals report.
      /TOTALS     Display the final totals report.      (Default)
      /XMODEM     Convert file to/from XMODEM format.

 If  the  input  file  is not specified, the user is prompted for the
 input file name.  If the output file name is not specified, the file
 name is generated from the input file name if /COMPRESS, or from the
 file name in the header record if /DECOMPRESS.

 The default file extension for /ASCII files is .MIS
 The default file extension for /BINARY files is .MSH

 For  those  users who used the MACRO-11 MISH/MASH programs, you will
 notice  there  isn't  a /ANALYZE qualifier.  This option allowed the
 header record and data to be displayed.  This option may be added at
 a later date but it's currently incomplete.

   [ Reference file HISTORY.TXT for more information about MISH. ]

2 MODEM_USAGE
 Once  the  port  being  used  is  patched  in  properly (see "HELP
 REMOTE_PORT"),  the modem connection can be established. The phone
 call  to  the remote system MUST be made from the phone being used
 for  the modem.  You CAN NOT transfer the call to the modem as you
 can with synchronous modems; you'll loose the connection.

 Use the following procedure to manually orginate a phone call:

 o  the voice/data switch must be in the voice position to place
    the call.  Make sure the Data Terminal Ready (TR) lamp is lite.

 o  After you establish the connection with the remote system, you
    will hear the carrier signal (high pitch), place the voice/data
    switch in the data position.

 o  Once in the data position, you should see to following LEDs:
    VADIC:  Data Set Ready (DSR), Clear To Send (CTS), Carrier (CXR),
            and High Speed (HS).
    RIXON:  Data Set Ready (MR), Carrier (MC lamp goes out),
            and High Speed (HS).
    DF03:   Data Set Ready (DSR), Carrier (CAR), and High Speed (HS).

    Note:  The High Speed (HS) LED is only lite if at 1200 baud.

2 NEW_FEATURES
 This  section  describes problems fixed and new features available
 with the current version of the VAXNET program:

 o  The  KERMIT  protocol  is  now supported.  VAXNET talks to both
    server and non-server remote KERMITs.  The default protocol has
    also been changed to KERMIT.

 o  A GENERIC autodial routine has been added which allows the user
    to define various DCL symbols to tell VAXNET how to program the
    modem.  Refer to the document GENERIC.MEM for more information.

 o  A problem with the MISH program decompressing indexed files has
    been fixed.  Previously the program would exit with a SS$_ABORT
    status code.

 o  The  MISH program was modified to prevent a problem on VMS V4.4
    when  opening  files  for shared read.  On VMS V4.4, the RTL no
    longer sets the User Provided Interlock (UPI) bit in the shared
    option byte of the FAB when a User File Open (UFO) is performed
    on a FORTRAN OPEN statement.

 o  Changed the FORTRAN READ and WRITE statements so they don't use
    an  implied  DO  list.  This reduces the elapsed time used only
    slightly but reduces the CPU time by approximatly 50 percent.

 o  Changed  all  descriptors created by the program to fill in the
    descriptor  data  type  and class fields.  This was done so the
    DEBUGger  will  examine  these  descriptors.  Previously, DEBUG
    would report the error "The descriptor is not setup yet".

 o  Fixed  a  problem  where  part  of the SNDRCV status report was
    being lost after file transmission was complete.

 o  Fixed  a problem setting up the remote terminal characteristics
    which  prevented  VAXNET  from receiving files using the XMODEM
    protocol with eight data bits enabled (text or binary mode).

 ---------------------------------------------------------------------------

 New features in VAXNET Version 11:

 o  A  MODEM_CHECK  feature  has  been added to check for the modem
    going  to  not  ready  when  in virtual terminal mode.  See the
    "SET MODEM_CHECK" help section for more information.

 o  The translate logical name system service has been changes from
    the  old  service (SYS$TRNLOG) to the new service (SYS$TRNLNM).
    The  new  routine allows lookup of logical names in all logical
    name tables or selective logical name tables.

 o  The  ability  to  restrict access to autodial modems and making
    long  distance  phone  calls  has  been added.  This feature is
    enabled  by  defining the logical name VAXNET$PHONE_AUTH to the
    authorization  file  to  use.  This  logical  can be defined in
    either  the GROUP or SYSTEM logical name tables.  Refer to file
    PHONEINFO.MEM for more information.

 o  The  ability  to  log  phone calls for autodial modems has been
    added.  This  feature  is  enabled by defining the logical name
    VAXNET$PHONE_LOG to the phone log file to use. This logical can
    be  defined  in  the PROCESS, GROUP, and/or SYSTEM logical name
    tables.  Refer to file PHONEINFO.MEM for more information.

 o  The  autodial modem is usually hungup be before dialing a phone
    number.  This  has  been changed so the modem is only hungup if
    the modem carrier is asserted.  This change was made to prevent
    unnecessary  logging  of  hangup  log  entrys.  This  action is
    controlled by the MODEM_CHECK feature (enabled by default).

 o  Broadcast  messages  written to the local terminal when running
    in  virtual  terminal  mode  are now captured via a mailbox and
    written to the terminal. Previously, broadcast messages weren't
    delivered because the terminal is set to PASSALL mode.

 o  The  new  terminal  characteristic  PASTHRU  can  be enabled or
    disabled  by  the command "SET PASTHRU ON/OFF".  The default is
    disabled  in the present version of VAXNET.  It appears Digital
    doesn't  want  to  support PASSALL anymore since it's no longer
    documented in VMS V4.  What does PASTHRU gain me?

 o  The  VMODEM  program  is now linked with the C Run-Time Library
    since  the  LINKer doesn't find this reference in IMAGELIB.OLB.
    This  results  in reducing the VMODEM executable from 96 blocks
    to 23 blocks.

 o  Fixed  problem in the REFormat program where the output records
    were  not  getting broken at a single line-feed character <LF>.
    this  caused  single line feeds in the output file which had to
    be removed/modified when editing.

 o  Modified  the  REFormat program to strip single carriage-return
    and/or  line-feed  characters  from  the end of output records.
    This  now  makes  REF useful to reformat log files generated by
    the "$ SET HOST node/LOG=logfile" DCL command.  These log files
    normally contain nulls and embedded carriage-returns.

3 VERSION_10
 New features in VAXNET Version 10:

 o  The MISH program has been rewritten in VAX FORTRAN.  All VAXNET
    utility programs are now native mode.

 o  The  VMODEM  program  which  implements the XMODEM protocol has
    been  rewritten  to  fix  a  number  of problems.  The terminal
    characteristics  are  now restored properly and the program can
    be aborted via the CANcel (CTRL/X) code.

 o  The REFormat program was modified to properly break at <CR><LF>
    sequences.  Some files were not getting reformatted properly.

 o  The  log  file  is  now  gernated with 510 byte variable length
    records which completly fills one block with the internal count
    field which the file system adds.  Previously, log file records
    were being written with 512 byte records.

 o  The PARITY is now setup properly if the parity is being changed
    by a particular system type at startup time.

 o  Auto  dial  support  has  been  added for the Anderson Jacobsen
    AJ1259 and for dedicated modems.

 o  The  autodial  questions  are  now  bypassed  if the DCL symbol
    MODEM_TYPE  is  defined to an empty string.  This was added for
    systems  with terminal servers which usually have all ports set
    as  MODEM.   Also,  the phone number is not displayed as "None"
    if not using an autodial modem.

 o  The "SET FILE_TYPE BINARY" command used with the VMODEM program
    will no longer generate access violations.

 o  A problem  created by the VMS 4.2 FORTRAN compiler optimization
    has been fixed in module COMMANDS by rewriting an IF statement.
    This problem caused the user to get stuck in command mode.

 o  When  using the VA3480 autodial modem type, the dialer port now
    gets  deassigned  if the connection fails.  This was done since
    many  users were letting VAXNET sit at the command prompt after
    the  connection  failed  which prevented other users from using
    the dialer.

 o  The CALLBACK command procedure now accepts any a time string to
    be  used  with  the SUBMIT /AFTER qualifier.  Prevously, only a
    number of seconds to delay before callback was acceptable.

 o  Documentation  on  transferring file is now available in Runoff
    form  in  file EXAMPLES.RNO.  This has examples of transferring
    files with SNDRCV, VMODEM, and MISH.

 o  Additional controller types (DMZ32, DHV11, and DHU11) have been
    added  to  the  SHOW  SIGNALS display.  The routines associated
    with this command were moved to module SIGNALS.FOR.

 o  VAXNET  now checks for running in batch mode via JPI$K_BATCH in
    JPI$MODE  instead of PCB$M_BATCH in JPI$_STS.  Also changed the
    $GETJPI to $GETJPIW to always wait for the system service.

 o  A  write  delay  was added to slow down local writes.  This was
    added  on  our system when VAXNET is being used through the DEC
    terminal  server  to  have  the terminal display properly.  See
    "HELP SET WRITE_DELAY" for more information.

 o  If  the  local  terminal  port  has eight bit data enabled, the
    remote port will also be set to eight bit.  This was changed to
    allow terminals to operate properly in eight bit mode.

3 VERSION_9
 New features in VAXNET Version 9:

 o  Support for Racal-Vadic VA811/VA831/VA3480 autodialer/modem.

 o  The  call-back  feature  allows users to use autodial modems to
    call  them  back  from  a  batch  job.  The  command  procedure
    CALLBACK.COM can be customized for your installation.

 o  A  list of remote port symbols can be specifed at startup time.
    If  this  list  exists,  then  VAXNET  will  allocate the first
    available  port.  This feature is useful when you have multiple
    ports  with autodial modems.  See the "SET PORT PORT_LIST" help
    section for details on defining these symbols.

 o  In  conjunction  with the list of remote ports, a list of modem
    types  and  remote  speeds can also be setup via symbols.  This
    is  useful  when  you  have  different types of autodial modems
    which  may  operate  at  different  speeds.  See the "SET MODEM
    MODEM_LIST"  help and the "SET SPEED SPEED_LIST" for details on
    defining these symbols.

 o  DCL  symbols  can  now  be defined to have VAXNET automatically
    start  the  remote  transfer  program  (i.e., SNDRCV).  See the
    "START_REMOTE" help section for details.

 o  The PARITY command can be used to change the remote parity. See
    the "SET PARITY" help section for details.

 o  The  program  no  longer attempts to change the HANGUP terminal
    characteristic unless the MODHANGUP characteristic is enabled.

 o  The  default  DISPLAY_SCREEN  count is changed from 25 to 10 if
    the remote speed is 1200 baud or less.

 o  The  auto-login feature is no longer restricted at startup time
    to use with autodial modems only.

 o  Fixed  problems  during auto-login when using a secondary login
    and password.
    
 o  The  names  of  the previously undocumented DCL symbols used by
    auto-login  and scripting have changed.  These symbols are used
    to override the default retry and timeout counts. The new names
    are  now  documented  in  the  "AUTO_LOGIN"  and  "SCRIPT" help
    sections.

 o  When executing a VAXNET command file (i.e., Vaxnet> @file.com),
    the  display  of  the  command lines read are controlled by the
    "SET VERIFY ON or OFF" command.  By default, verify is enabled.

 o  Fixed  a re-transmission problem when receiving files using the
    XMODEM protocol.

 o  The  symbol  UNIX_MODE can be set true to disable informational
    messages.   This  prevents  startup  messages,  messages  when
    spawning a new process, and when transmitting the break signal.

 o  Auto  dial support has been added for the RACAL-VADIC VA212 and
    VA3450, the HAYES SMARTMODEM 1200/U.S. Robotics, DEC DF112, the
    VENTEL, and the RIXON R212A Intelligent modems.

 o  The  MISH and REFormat  programs have been rewritten in FORTRAN
    so the optional VAX/RSX-11 layered product is not required.

3 VERSION_8
 New features in VAXNET Version 8:

 o  Multiple  protocols are now supported.  The PROTOCOL command is
    used to select either the VAXNET or XMODEM protocol.

 o  The  number of data bits can be changed. The 7BIT/8BIT commands
    specify the number of data bits to use with the XMODEM protocol.

 o  The  type of file to be used with XMODEM can be specified.  The
    FILE_TYPE command is used to select either ASCII or BINARY.

 o  Command files can be specified at the Vaxnet command level.

 o  The  TIMEOUT  command  can  be used to change the timeout count
    used by the protocol.

 o  The  RETRY_LIMIT  command  can  be used to change the number of
    retrys on transmission errors.

 o  The SHOW command is used to display all or selective parameters.

3 VERSION_7
 New features/bugs fixed in VAXNET Version 7:

 o  VAXNET no longer gets hung in an MWAIT/HIBERNATE state.

 o  Running in batch mode is now detected properly.

 o  Terminal generated XOFF/XON is now handled properly.  The VT100
    can  now  be  used  in  smooth scroll and the NO SCROLL key now
    works properly.

 o  The  help  module previously written in BLISS has been rewitten
    in FORTRAN.  All of VAXNET is now written in FORTRAN.

 o  Additional DCL symbols used in dump file.  See DUMP section.

 o  The logical name VAXNET$PORT can be defined for the remote port.

 o  The DISPLAY command is used to enable/disable or alter how often
    the record statistics are output during file transmissions.

 o  The REF command is used to enable/disable automatic reformatting
    of the log file.

 o  The PAUSE command will pause VAXNET if it was spawned.

 o  The SPAWN and "$" commands are used to spawn DCL commands.  The
    SPAWN command copied DCL symbols and logical names while the "$"
    command does not (for speed).  If no DCL command is specified,
    a new process is created.

 o  The  TYPEAHEAD command specifies the limit the remote typeahead
    buffer is allowed to reach before reading the characters.  The
    value is currently set at 32 to allow XOFF/XON to work properly.

 o  The WATCH command is used to enable/disable watching file names
    being copied (same as COPY /LOG).

 o  The retry limit is now enforced during file transmissoins.

 o  Current settings are now displayed in questions.

 o  The  log  file name now has the default extension .LOG appended
    if you don't specify an extension.

 o  Wildcards,  command files, and multiple files are now supported
    for the DUMP, SCRIPT, and SEND commands.

 o  An  out-of-band  AST is enabled during file transmissions which
    allows  you  to  type  the  ESCAPE key to get a one line status
    report of the cuurent file.  This was added mainly for hardcopy
    terminals and for when the record display is disabled.

 o  The  command line "REF logfile_name" is now spawned to reformat
    the log file instead of "MCR REF ...".  This means a DCL symbol
    must be setup to active the reformat program.

3 VERSION_6
 New features of VAXNET Version 6:

 o  The  library  routine  LIB$SPAWN  us  used  when  executing DCL
    commands from the Vaxnet prompt.

 o  Support a new command called SCRIPT.  A script files is used in
    conjunction with auto-login to send a series of commands at the
    remote  system.  Refer to the "HELP SCRIPT" section for further
    information.

 o  The symbol VAXNET_CMD can be defined so a vaxnet command can be
    executed  automatically  at  startup  time.  This was added for
    script  files.  For  example "VAXNET_CMD := "SCRIPT SCRIPT.COM"
    will startup scripting with SCRIPT.COM as the script file.

 o  Hooks  are  in  place  to  run  in batch mode but have not been
    tested.  The exit status is always success at the current time.
    A  variable  called EXIT_STATUS can be used by various routines
    to exit with a specific status.

2 PAUSE
 If  VAXNET was started via the DCL SPAWN command, you can use this
 to pause VAXNET.  Pausing VAXNET returns you to DCL level and puts
 VAXNET  into  a  hibernate state.  You can then continue VAXNET by
 using the ATTACH "process_name" command from DCL.

2 PHONE_AUTHORIZATION
 This feature allows the system manager or group leader to restrict
 access  to  autodial modem use.  To enable the phone authorization
 feature,   define   the  logical  name  VAXNET$PHONE_AUTH  to  the
 authorization file to use. The program looks for this logical name
 in  the  GROUP and SYSTEM logical name tables.  This allows access
 to be controlled by either group, system wide, or both. The format
 of the phone authorization file is as follows:

    username  [ LOCAL ]  [! Comments. ]

 The first field contains the users login name which can optionally
 be followed by the keyword "LOCAL" and comments. The fields can be
 separated  by  tabs and/or spaces.  The second field if defined to
 "LOCAL"  prevents  the user from making long distance phone calls.
 If  "LOCAL"  isn't  specified,  the user is allowed both local and
 long  distance phone calls.  The third field is for comments which
 are ignored by the program.

  [ For further information, refer to file PHONEINFO.RNO or .MEM]

2 PHONE_LOGGING
 This  feature allows phone calls to be logged to a specified file.
 To  enable  the  phone  logging  feature,  define the logical name
 VAXNET$PHONE_LOG  to the phone log file to use.  The program looks
 for this logical name in the  PROCESS,  GROUP,  and SYSTEM logical
 name tables and makes entrys in each file found.  Please note that
 the  phone  log  files  pointed to by the GROUP and SYSTEM logical
 name  must  have write access for group or world respectively.  If
 the  initial  log file doesn't exist, VAXNET creates the file with
 the default protection of the current user. Thereafter, the entrys
 are appended to the end of the phone log file. 

  [ For further information, refer to file PHONEINFO.RNO or .MEM]

2 PORT_SETUP
 The remote port should be setup as follows by the system manager:

   $ SET TERM TTcn:/NOTYPEAHEAD/PERM   ! Disable typeahead to
   $ SET TERM TTcn:/ALTYPEAHEAD/PERM   ! enable alternate typeahead
   $ SET TERM TTcn:/TYPEAHEAD/PERM     ! buffer which is larger.
   $ SET TERM TTcn:/MODEM/PERM         ! If connected to a modem.
   $ SET TERM TTcn:/NOBROADCAST        ! Disables broadcast messages.

 All  other  terminal  characteristics  are  automatically setup by
 VAXNET.  The  above  characteristics  should  be  done in the site
 specific startup command file because they require privileges.

2 PUSH
 This  command  is  used to spawn a DCL command.  If a command line
 isn't specified, a new process is created which you must logout of
 to return to VAXNET.

 Command Format:

   Vaxnet> PUSH command_line

2 RECEIVE
 This command is used to receive file(s) from a remote KERMIT which
 is  operating  in  non-server mode.  If you don't specify the file
 name  on the command  line,  you  are  prompted for the file name.
 If  you type "*" or the RETURN key for the VAX file name, the file
 name sent from the remote KERMIT is used.

 Command Format:

   Vaxnet> RECEIVE vax_file

2 REDIAL
 This  command is used with auto dial modems to redial a previously
 entered  phone  number.  This command is useful when the modem has
 been  hungup for some reason (i.e., invalid login, etc.) or if you
 want to redial the remote hoping to get a better phone line.

2 RETURN
 After  typing  the interrupt character to enter the VAXNET command
 level, type the RETURN key to return to the remote system.

 Command Format:

   Vaxnet> <RETURN>

2 SCRIPT
 A  script file is used to drive an interactive terminal session at
 the  remote  system.  It  is normally used in conjunction with the
 auto-login  feature  to  drive the remote session from batch.  The
 script  file contains commands just as you would type them in from
 a terminal.  Normally each command line is sent to the remote with
 a  carriage  return appended to it.  There are two exceptions.  If
 the first character of a command line is an up arrow (^), then the
 all  ^char's  on  the line are converted to control charatcers and
 sent to the remote without a carriage return. The second exception
 is if the line begins with the script command .WAIT.  This command
 is  used  to define a string to wait for (such as a prompt) before
 sending  the  next  command.  Refer  to  the  example  script file
 "SCRIPT.MAI" for more information.

 Command Format:

   Vaxnet> SCRIPT file1, file2, ... filen

3 SYMBOLS
 Several  DCL  symbols can be used to override the default timeouts
 and retry count. The default values are adequate for most systems.
 However, a very heavily loaded system may require longer timeouts.
 The  current  default  is used as the value to define the symbols.
 The  previously undocumented symbol names appear in parentheses on
 the next line.

 The  symbol SCRIPT_TIMEOUT can be defined to specify the number of
 seconds  to  wait  for  the first character from the remote system
 after sending a command line.

  $ SCRIPT_TIMEOUT :== 1    ! Number of seconds to wait for the
    (SCRIPT_TMO)            ! the first character from the remote.

 The  symbol  SCRIPT_RETRYS can be defined to specify the number of
 times  to  wait looking for the specified wait string.  If no wait
 string  is  specified,  the retry count has no affect.  The remote
 system  must response within (SCRIPT_TIMEOUT * SCRIPT_RETRYS) with
 the wait string.  After this limit, we presume the wait string was
 lost of specified incorrectly and continue sending the next record.

  $ SCRIPT_RETRYS :== 5     ! Number of times to wait for the
    (WAIT_TRYS)             ! specified wait string.

 The  symbol  IDLE_TIMEOUT  can be defined to specify the number of
 seconds to wait between reading characters from the remote system.

  $ IDLE_TIMEOUT  :== 1     ! Number of seconds to wait between
    (AFTER_TMO)             ! characters after the first character
                            ! is read.  For speeds of less than 1200
                            ! baud, this value is increased to 2.

2 SEND
 This  command  is  used  to  send  (transmit) a file to the remote
 system.  The  remote  system MUST be running the KERMIT, SNDRCV or
 VMODEM  programs  prior  to  issuing  this  command.  If you don't
 specify  the  file  names on the command line you are prompted for
 them.  The  VAX file name can contain wildcards (%, *, and ...) or
 you  can  specify  a  command file.  If you specify wildcards or a
 command file, you are prompted for the remote directory to put the
 files  in.  While  the  file  transmission is in progress, you can
 type the ESCAPE key to get a one line status report of the current
 file.

 Command Format:

   Vaxnet> SEND vax_file remote_file

3 VAX_FILE
 The VAX file name can be any file specification including wildcard
 characters.  You  can also specify a command file via "@cmd_file".
 If  you  don't  specify an extension for the command file, .COM is
 the  default.  The  command  file must have one file specification
 per line (wildcards are permitted).  Trailing spaces are ignored.

3 REMOTE_FILE
 The  REMOTE  file  name must be a valid file specification for the
 system  you are talking to.  If wildcards or command file input is
 not active, then typing the RETURN key uses the VAX file name.

 If wildcards or command file input is active, you must specify the
 remote  directory.  BEWARE  of files with multiple version numbers
 since  the  file  version number is not sent as part of the remote
 file name.  Your options are:

     <CR> or *      - Send the file name only.
 [*], [*...], [*,*] - Send the [directory] and file name.  Anything
                      before the [*] is appended to the file name.
    [directory...]  - Replace top VAX directory with specified.
 device:[directory] - Else append the file name to specified directory.

2 SET
 This command is used to set various Vaxnet parameters.

 Command Format:

   Vaxnet> SET keyword parameter

3 7BIT
 This  command is used to set the number of data bits used.  This is
 the default for the VAXNET protocol.

 Command Format:

   Vaxnet> SET 7BIT

3 8BIT
 This  command is used to set the number of data bits used.  This is
 the default for the KERMIT and XMODEM protocol.

 Command Format:

   Vaxnet> SET 8BIT

3 AUTODIAL_LIMIT
 This  command  is used to specify the auto dial retry limit.  This
 is the number of times a phone number is redialed while attempting
 to connect to a far-end modem.  The default retry limit is three.

 Command Format:

   Vaxnet> SET AUTODIAL_LIMIT value

3 BREAK
 This  command  is  used to specify the break character.  The break
 character  is  used  to  send  a  transmission break to the remote
 system.  Some  systems  such as IBM use BREAK to interrupt program
 execution,  and some systems such as Digitals' 11/23, use BREAK to
 enter  the  console ODT.  The break signal causes the transmission
 line to be forced to the zero state for approximatly two character
 times.  Vaxnet  simulates  the  break signal by setting the remote
 speed to 1/2 the current baud rate, transmitting a zero byte, then
 setting the speed back to the original baud rate you specified.

 Command Format:

   Vaxnet> SET BREAK ^B

3 DEBUG
 This  command  is  used  to  display  addition information in file
 transfer  mode (GET or SEND).  It also displays several additional
 lines in the STATUS report.

 Command Format:

   Vaxnet> SET DEBUG ON or OFF

3 DIALER_PORT
 This  command  is  used to set the dialer port for the VA3480 auto
 dialer.  The  autodialer  used  with  this  modem is attached to a
 separate terminal port.

 Command Format:

   Vaxnet> SET DIALER ddcn:

3 DISPLAY
 This  command is used to enable or disable the display used during
 file  transmissions.  If the local terminal is a scope, a one line
 status  report  is  displayed every 25 records (by default) to let
 you  know  its working.  If the remote speed is 1200 baud or less,
 then  the  default  is  every  10  records.  If your terminal is a
 hardcopy or if running in batch, the display is disabled.  The DCL
 symbol  DISPLAY_RECORD  can  be defined to change the frequency of
 the record display.  If you specify zero, the display is disabled.
 The  status  report  can  be  obtained  at  any  time  during  the
 transmission by typing the escape key.

 Command Format:

   Vaxnet> SET DISPLAY [value] or [ON or OFF]

 DCL Symbol:

   $ DISPLAY_RECORD :== 100

3 DUMP_DELAY
 This  command  is  used to specify a delay before sending the next
 record.  You  may  need  to  specify  a delay if the remote system
 needs  time to process the previous record.  The dump delay format
 is  "ss.mm" where  ss = seconds (up to 59)  and  mm = milliseconds
 (up to 99).  By default, the dump delay is not defined.

 Command Format:

   Vaxnet> SET DUMP_DELAY ss.mm

 DCL Symbol:

   $ DUMP_DELAY   :== "00.25" ! Delay between dumping each record.

3 DUMP_ECHO
 This  command is used to control whether records dumped to the are
 are displayed at the terminal.  If you're terminal is running at a
 slow  speed, you way want to disable the display.  By default, the
 records are displayed.

 Command Format:

   Vaxnet> SET DUMP_ECHO OFF

 DCL Symbol:

   $ DUMP_ECHO    :== N       ! Disable echo of dumped records.

3 DUMP_TERMINATOR
 This  command  is  used to define the string to send the remote at
 end  of file.  This  string  usually contains the commands used to
 close the file.  Characters preceeded by an up arrow are converted
 to control characters.

 Command Format:

   Vaxnet> SET DUMP_TERM "^Z"

 DCL Symbol:

   $ DUMP_TERM    :== "^Z"    ! Send CTRL/Z at end of file.

3 DUMP_TIMEOUT
 This command is used to change the dump read timeout.  For systems
 which  don't echo, this value should be set to zero.  This command
 isn't  normally  used  since  the system type question sets up the
 dump timeout based on the remote system you are using. The default
 dump  read timeout is three seconds if the remote echoes, and zero
 if it doesn't echo.

 Command Format:

   Vaxnet> SET DUMP_TIMEOUT value

 DCL Symbol:

   $ DUMP_TIMEOUT :== 1       ! The dump read timeout in seconds.
 
3 ECHO
 This command is used to enable or disable local echo.  For systems
 which  don't echo characters sent to it, Vaxnet does a local echo.
 This  command  isn't  normally  used  since  Vaxnet  automatically
 enables or disables echoing based on the remote system type.

 Command Format:

   Vaxnet> SET ECHO ON or OFF

3 ESCAPE
 This  command is used to specify the escape character.  The escape
 character  is  the character you type to get to command level when
 in  virtual  terminal  mode.  Any  character  except  for carriage
 return,  escape, question mark, or exclaimation point can be used.
 All  characters except the escape character are sent to the remote
 system in virtual terminal mode.  The escape character is the same
 as  the interrupt character.  When using the SET command, preceed-
 ing the character with an up arrow causes the next character to be
 converted to a control character.  This command is the same as the
 "SET INTERRUPT" command.

 Command Format:

   Vaxnet> SET ESCAPE ^P

3 FILE_TYPE
 This  command sets up the type of file to be tranferred when using
 the KERMIT or XMODEM protocol (VAXNET protocol is ASCII only). The
 default file type is ASCII.

 Command Format:

   Vaxnet> SET FILE_TYPE ASCII or BINARY

3 HANGUP
 This  command  is used to control whether the modem is hungup when
 the program exits.  By default the modem is hungup.

 Command Format:

   Vaxnet> SET HANGUP ON or OFF

3 IDLE_TIMEOUT
 This command is used to change the idle timeout.  The idle timeout
 is  the  number  of  seconds  to wait between characters after the
 first  character  is  read.  The default value is one second.  For
 speeds of less than 1200 baud, this value is increased to 2.  This
 value  affects auto-login, scripting, and remote program starting.
 For systems with a front-end terminal server such as an ABLE, this
 value must be increased to 2 for 1200 baud and possibly 3 for less
 than 1200 baud.

 Command Format:

   Vaxnet> SET IDLE_TIMEOUT value

3 INTERRUPT
 This  command  is  used  to  specify the interrupt character.  The
 interrupt  character  is  the character you type to get to command
 level  when  in  virtual  terminal mode.  Any character except for
 carriage  return, escape, question mark, or exclaimation point can
 be  used.  All  characters except the interrupt character are sent
 to the remote system in virtual terminal mode.  When using the SET
 command, preceeding the character with an up arrow causes the next
 character to be converted to a control character.  This command is
 the same as the "SET ESCAPE" command.

 Command Format:

   Vaxnet> SET INTERRUPT ^P

3 LINE
 This  command  is  used to setup the line used to communicate with
 the  remote  computer.  This line can be either connected directly
 to an in-house system using a null modem cable, or connected using
 a modem.  The  logical  name VAXNET$PORT can be defined to specify
 the remote line to use.  This command is the same as "SET PORT".

 Command Format:

   Vaxnet> SET LINE ddcn:

3 LOGFILE
 This command allows you to specify the name of a log file to write
 the  output  from  the remote system.  If you don't specify a file
 extension,  .LOG  is  appended automatically.  The output from the
 remote  system and questions asked by VAXNET (unless disabled) are
 written to both the log file and the terminal.

 Command Format:

   Vaxnet> SET LOGFILE logfile_name

4 OPEN_LOGFILE
 If a log file is already open, you have the option of either using
 the  current  log  file, or you can close the current log file and
 specify a new log file name.

3 LOGLOCAL
 This  command is used to enable or disable writing local output to
 the  log  file.  Local  output  includes  questions and all status
 reports output by the program.  If  you  only  want  remote output
 in the log file, answer "No" to this question.
     
 Command Format:

   Vaxnet> SET LOGLOCAL ON or OFF

3 MODEM_CHECK
 This  command  controls  whether the program checks for the modem
 going  to  not  ready  when  in  virtual  terminal mode.  This is
 normally enabled and is activated by the user typing two RETURN's
 in  a row without a response from the remote system.  This scheme
 was  used  to  cut  down on system overhead since the modem check
 isn't  performed  on each key stroke.  This check is only enabled
 if  you  have  selected  one of the auto dial modems supported by
 VAXNET.  This  was  done so the user isn't prevented from talking
 to a modem which isn't supported by VAXNET. The following message
 is displayed if this feature is enabled and the modem isn't ready:

  *** The modem has gone to NOT READY, upon returning to the ***
   *** command prompt you may either DIAL, REDIAL, or EXIT. ***

 Command Format:

   Vaxnet> SET MODEM_CHECK ON or OFF

3 MODEM_TYPE
 This  command  is  used to set the type of auto dial modem to use.
 VAXNET supports the following auto dial modems:

   AJ      For the Anderson Jacobsen AJ1259 auto dial modem.

   DF03    For  the  DEC DF03 auto dial modem.  The DF03 only works
           with rotary (pulse) dialing telephones.
 
   DF112   For the DEC DF112 auto dial modem.  The DF112 works with
           both rotary (pulse) and tone dialing telephones.

   GENERIC For  selecting the generic autodial.  When this modem is
           selected,  you  must  define various DCL symbols to tell
           VAXNET  how to program the autodial modem.  Refer to the
           document GENERIC.MEM for more information.

   HAYES   For the HAYES Smartmodem 1200. The smartmodem works with
           both rotary  (pulse)  and tone dialing telephones.  This
           modem driver also works with the U.S. Robotics Password/
           Courier modem.

   NULLMODEM
           You  should  specify  NULLMODEM  for  systems which have
           dedicated  modems  so  VAXNET  will bypass the auto dial
           modem questions. When NULLMODEM is specified, requesting
           of the phone number and modem dialing are bypassed.

   R212A   For  the  RIXON  R212A Intelledent auto dial modem.  The
           R212A  works  with  both rotary (pulse) and tone dialing
           telephones.

   RIXON   For the RIXON R212 auto dial modem.  The R212 works with
           both rotary (pulse) and tone dialing telephones.

   VA212   For  the Racal Vadic auto dial VA3450 series modem.  The
           VA3450  series  works  with both rotary (pulse) and tone
           dialing telephones.

   VA3450  For  the Racal Vadic auto dial VA3450 series modem.  The
           VA3450  series  works  with  rotary  (pulse)  dialing
           telephones  and  there are some that also work with tone
           dialing telephones.

   VA3480  For  the Racal Vadic VA811 Automatic Calling Unit, VA831
           Adapter, and VA3480 modem(s).

   VENTEL  For the Ventel 212A auto dial modem.

   VENTEL31 For the Ventel 1200-31 auto dial modem.

 If  you  are  not  using an auto dial modem, typing the RETURN key
 bypasses the remaining auto dial modem questions.

 If the remote port is not setup as /MODEM, all auto dial questions
 (and/or symbols)  are  bypassed,  and the modem is not hungup when
 VAXNET exits.

 Command Format:

   Vaxnet> SET MODEM DF112
  
4 MODEM_LIST
 You  can  also  setup  a  list of modem types to access at startup
 time.  These  modems  are  defined by the DCL symbols MODEM_TYPE_n
 where  'n'  is  the remote port slot.  This list of modem types is
 normally used in conjunction with a list of remote ports to access
 multiple  ports with different autodial modems.  The normal symbol
 MODEM_TYPE must NOT be defined to use these alternate symbol names.

 For example:

    $ MODEM_TYPE_0 :== DF03     ! Modem type for remote port 0.
    $ MODEM_TYPE_1 :== R212A    ! Modem type for remote port 1.
    $ MODEM_TYPE_2 :== VA3480   ! Modem type for remote port 2.

3 NOLOGFILE
 This  command is used to close a log file which is currently open.
 If automatic reformatting is enabled, the command "REF logfile" is
 spawned to reformat the log file.

 Command Format:

   Vaxnet> SET NOLOGFILE

3 PACKET_LENGTH
 This  command  is used to change the KERMIT packet length which by
 default is set to 80.  A range between 20 and 94 is permitted.

 Command Format:

   Vaxnet> SET PACKET_LENGTH n

3 PARITY_TYPE
 This command is used to change the remote parity.  By default, the
 remote  parity  is not altered.  This command allows you to change
 the parity to EVEN, ODD, or no parity.  The DCL symbol PARITY_TYPE
 can be defined to automatically set the parity at startup time.

 Command Format:

   Vaxnet> SET PARITY EVEN, ODD, or NONE

3 PASTHRU
 This command is used to enable or disable the new PASTHRU terminal
 characteristic  on VMS V4.  It appears that this characteristic is
 a  replacement  for  the PASSALL characteristic which is no longer
 documented.  Since  I'm not sure what this characteristic gains me
 or  on the impact of program operation, the default is for PASTHRU
 to be disabled.

 Command Format:

   Vaxnet> SET PASTHRU ON or OFF

3 PHONE_NUMBER
 This  section  describes the various formats of phone numbers that
 each type of auto dial modem supports:

 Command Format:

   Vaxnet> SET PHONE_NUMBER phone_number

4 AJ
 I don't know the format of the numbers allowed for the Andersen
 Jacobsen auto dial modem.  (Any help would be appreciated).

4 DF03
 The DF03 does not allow spaces and/or dashs in the phone number.
 It must consist of all numbers.

    Example:  1234567

4 DF112
 The  DF112  accepts  the digits 0-9, "P", "T", or "=" in the phone
 number.  Other  characters  can  be  used for formatting the phone
 number since VAXNET strips all invalid characters when constructing
 the  number to send the auto dialer.  The "=" character is used to
 wait for a secondary dial tone.  The characters "T" (Tone) and "P"
 (Pulse)  can  also be entered in with the phone number to have the
 modem  switch  between  Tone  and Pulse dialing.  The modem starts
 with pulse dialing and if the user wishes to use tone dialing then
 the phone number must be started with a "T."

    Example:  T9=(603)-123-4567

5 GENERIC
 When the generic autodialer is chosen, you must define DCL symbols
 to  tell VAXNET how to program your autodial modem.  The following
 is an example of defining symbols to program the RIXON modem:

 $!
 $!    Define the DCL symbols for programming the RIXON R212A.
 $!
 $! NOTE:  The options setup on my modem doesn't the ENQ option.
 $!        The documentation has this listed as option number 9.
 $!
 $ modem_type            = "generic"     ! Select generic dialer.
 $ gen_attn              = "^M^M"        ! Signon to the modem.
 $ gen_attn_rsp          = "$"           ! Search for prompt string.
 $ gen_attn_nowait       = "True"        ! By-pass the write delay.
 $ gen_dial_abort        = "^M"          ! Any character aborts dialing.
 $ gen_dial_prefix       = "K"           ! Do a "K"eyboard dial command.
 $ gen_dial_prefix_rsp   = "NUMBER:"     ! Search for "NUMBER:" response.
 $ gen_dial_postfix      = "^M"          ! Phone number terminator.
 $ gen_dial_postfix_rsp  = "DIALING:"    ! Search for "DIALING:" response.
 $!
 $! Define the various modem dial responses.
 $!
 $ gen_dial_rsp_0 = "ON-LINE | S | The modem is on-line"
 $ gen_dial_rsp_1 = "BUSY | E | The number called is busy"
 $ gen_dial_rsp_2 = "NO ANSWER | E | Number ringing, but no answer"
 $ gen_dial_rsp_3 = "DEAD LINE | F | No ringback or busy, or answered manually"
 $!
 $! All RIXON dial responses are terminated with a carriage-return/
 $! line-feed pair.  We'll terminate reads on the line-feed character.
 $!
 $ gen_dial_terms        = "^J"          ! Terminate on line-feed.
 $!gen_fallback          = "Y"           ! Check for fallback speed.
 $ gen_hangup            = "Q"           ! Quit (signoff) the modem.
 $!
 $! R212A Options Setup:
 $!
 $! 1 = Disable Disconnect Character. 2 = Automatic Quit.
 $! 3 = Dialer Echo.                  4 = Turn Data Sat Ready (DSR) off.
 $! 5 = Turn Clear To Send (CTS) off. 6 = Character Length.
 $! 7 = Blink Dialing.                8 = Select Tone Dialing (NT SL-1).
 $! A = Online Message.               0 = Exit Options Setup.
 $!
 $ gen_setup             = "<O1N2Y3Y4N5N6107N8TAY0>
 $ gen_setup_rsp         = "$"           ! Search for prompt string.
 $!gen_test              = ""            ! Perform modem self-test.
 $!gen_test_rsp          = ""            ! 
 $ gen_write_delay       = "00.25"       ! 1/4 second write delay.
 $ gen_valid_chars    = "0123456789&%PT" ! Valid dialing characters.

4 HAYES
 The  Hayes  Smartmodem  (or U.S. Robotics Password/Courier) allows
 spaces  and/or  dashes  in  the  phone number to make it easier to
 read.  The  character  ","  (comma)  cause the modem to wait for a
 second   dial  tone  before  continuing  with  the  dialing.   The
 characters  "T" (Tone) and "P" (Pulse) can also be entered in with
 the  phone  number to have the modem switch between Tone and Pulse
 dialing.  The  modem  starts  with  pulse  dialing and if the user
 wishes  to  use  tone  dialing  then  the  phone  number  must  be
 started with a "T".

    Example:  T9,123-4567

4 R212A
 The  RIXON R212A allows spaces and/or dashs in the phone number to
 make  it  easier to read.  The character "&" is tells the modem to
 wait for an intermediate dial tone.

    Example:  9&123-4567

4 RIXON
 The  RIXON  R212 allows spaces and/or dashs in the phone number to
 make  it  easier to read.  The character "&" is tells the modem to
 wait for an intermediate dial tone.

    Example:  9&123-4567

4 VA212
 The  Racal  Vadic  VA212  series allows spaces and/or dashs in the
 phone  number to make it easier to read.  The character "K" causes
 the  modem  to  wait  for  a  dial tone before continuing with the
 dialing.  

    Example:  9K123-4567

 This  modem  can also detect ringing, busy signals and voices, and
 will display an approriate message if and when such is detected.

4 VA3450
 The  Racal  Vadic  VA3450 series allows spaces and/or dashs in the
 phone  number to make it easier to read.  The character "K" causes
 a  5  second  delay in dialing and allows the modem to wait for an
 intermediate dial tone.

    Example:  9K123-4567

4 VA3480
 The  Vadic VA3480 accepts the digits 0-9, "<", "=", or "*" and "#"
 for tone dialing.  Other characters can be used for formatting the
 phone  number  since  VAXNET  strips  all  invalid characters when
 constructing   the   number  to  send  the  autodialer.  The  "="
 character is used to wait for a secondary dial tone.

    Example:  9=(603)-123-4567

4 VENTEL
 I'm not sure what characters the VENTEL modem uses for dialing.

 The  character  "&" is tells the modem to wait for an intermediate
 dial tone.

    Example:  9&1234567

4 VENTEL31
 I'm not sure what characters the VENTEL modem uses for dialing.

 The  character  "&" is tells the modem to wait for an intermediate
 dial tone.

    Example:  9&1234567

3 PROGRAM_START
 This  command  is  used to define the string to send to the remote
 system to start the file transfer program (i.e., SNDRCV or XMODEM).

 Command Format:

   Vaxnet> SET PROGRAM_START "RUN SNDRCV"

 DCL Symbol:

   $ PROGRAM_START :== "RUN SNDRCV"     ! Start the SNDRCV program.

3 PROGRAM_TIMEOUT
 This  command  is used to change the timeout used when waiting for
 the remote file transfer program to start.  The default timeout is
 5 seconds.  If  this  is  set  to  zero,  we'll presume the remote
 doesn't echo or display a start message and not wait for anything.

 Command Format:

   Vaxnet> SET PROGRAM_TIMEOUT value

3 PROGRAM_VERIFY
 This command is used to define the string used to verify that the
 remote  file  transfer  program   was started successfully.  This
 should  be set to any sub-string displayed by the remote program.
 If  this  isn't  defined, we'll read any echo from the remote and
 then continue without verifying.

 Command Format:

   Vaxnet> SET PROGRAM_VERIFY "started"

 DCL Symbol:

   PROGRAM_VERIFY :== "started"    ! Search for "started" string.

3 PROMPT
 This  command  allows  you  to  change  the  prompt string used at
 command  level.  This is useful if you need to distinguish between
 multiple copies of Vaxnet.

 Command Format:

   Vaxnet> SET PROMPT "Robin Miller> "

3 PROTOCOL_TYPE
 This  command is used to specify the type of protocol to use.  The
 default protocol is KERMIT.

 Command Format:

   Vaxnet> SET PROTOCOL KERMIT, VAXNET, or XMODEM

3 READ_DELAY
 This  command  is  used  to  change the default read delay string.
 This  delay  is  used  in  interactive mode to wait for additional
 characters  to  arrive  in  the  typeahead buffer before issuing a
 read.  The  default  delay  string is "00.01" which delays only 10
 milli-seconds.  This delay probably needs to be increased at lower
 speeds  to  reduce  the amount of CPU time used.  More performance
 measurments  need  to  be  done to find the best value for various
 speeds.

 Command Format:

   Vanxet> SET READ_DELAY ss.mm (ss=seconds, mm=milli-seconds)

3 READ_TIMEOUT
 This command is used to enable or disable a read with timeout when
 operating  in interactive mode.  This is an alternate method which
 VAXNET  can  use  to  accept  characters from the local and remote
 terminals  which  may  reduce  the amount of CPU time used.  Since
 more  performance  measurments  need  to  be  done, this method is
 disabled.

 Command Format:

   Vaxnet> SET READ_TIMEOUT [ON or OFF] or [timeout_count]

3 REFORMAT
 This  command is used to enable or disable the reformatting of the
 of  the  log  file.  By default, the log file is reformatted.  You
 can  also disable waiting for reformat to complete.  If waiting is
 disabled,  the  reformat program is spawned without waiting for it
 to complete so another log file can be openned immediatly.

 Command Format:

   Vaxnet> SET REF [ON or OFF] or [WAIT/NOWAIT]

4 REF_INFO
 After  exiting from VAXNET, the log file must be reformatted.  The
 log file is created with 512 byte records with no carriage control.
 A program called "REF" is used to reformat the log file to generate
 an  file  with  implied carriage control.  After reformatting, the
 file is in a format which can then be edited (if desired).

 If a log file is being closed when VAXNET exits, then command line
 "REF log_file_name"  is automatically executed to reformat the log
 file.  You must have a symbol setup to start the reformat program.

 For example:

   $ REF :== $SYS$SYSTEM:REF

4 REF_HELP
 The  REFormat  program is used to reformat VAXNET log files.  This
 version  has  been rewritten in FORTRAN so the VAX/RSX-11 optional
 layered  product  is  not  required.  This  program  is useful for
 converting  any  file with embedded carriage control to a variable
 length file with carriage-return carriage control.
  
 Command line format:
  
   $ REF input_file output_file

 If  the  input file is not specified, the user is prompted for the
 input and output file names.  If the output file is not specified,
 the input file name is used with the next highest version number.
  
3 PORT
 This  command  is  used to setup the port used to communicate with
 the  remote  computer.  This port can be either connected directly
 to an in-house system using a null modem cable, or connected using
 a modem.  The  logical  name VAXNET$PORT can be defined to specify
 the remote port to use.  This command is the same as "SET LINE".

 Command Format:

   Vaxnet> SET PORT ddcn:

4 PORT_LIST
 You  can  also  setup  a list of remote ports to access at startup
 time.  These  ports  are  defined by the DCL symbols REMOTE_PORT_n
 where  'n'  starts at zero.  The program continues to loop looking
 for remote  ports until it either allocates a port or can't locate
 the next remote symbol.  The normal symbol REMOTE_PORT must NOT be
 defined to use these alternate symbol names.

 For example:

    $ REMOTE_PORT_0 :== TXG0:
    $ REMOTE_PORT_1 :== TXG1:
    $ REMOTE_PORT_2 :== ""
    $ REMOTE_PORT_3 :== TXG3:

 If the symbol name is left blank as shown above for REMOTE_PORT_2,
 then  the program goes on to the next remote symbol.  This is used
 to skip ports and/or modems which have hardware problems.

3 RETRY_LIMIT
 This command is used to set the retry limit for file transmissions.
 This  is the number of times a record/block is retransmitted.  The
 default is 10 retrys.

 Command Format:

   Vaxnet> SET RETRY_LIMIT value

3 SLOT
 This  command  is  used  to  set the modem slot used by the VA3480
 autodialer.  The  modem slot value is normally setup automatically
 at  startup time based on the first port found free.  This command
 is used for debugging purposes.

3 SPEED
 This command is used specify the baud rate of the remote computer.
 VAXNET automatically sets the remote port to the speed you specify.
 If  you  are  communicating  with the remote system using a dialup
 modem, the baud rate will be either 300 or 1200 baud.

 Command Format:

   Vaxnet> SET SPEED baud_rate

   The valid baud rates are:

        50, 75, 110, 134, 150, 300, 600, 1200, 1800,
        2000, 2400, 3600, 4800, 7200, 9600, or 19200.

4 SPEED_LIST
 You  can  also  setup a list of remote speeds to access at startup
 time.  These  speeds are defined by the DCL symbols REMOTE_SPEED_n
 where  'n' is the remote port slot.  This list of remote speeds is
 normally used in conjunction with a list of remote ports to access
 multiple  ports  or autodialers with different speeds.  The normal
 symbol  REMOTE_SPEED  must  NOT  be defined to use these alternate
 symbol names.

 For example:

    $ REMOTE_SPEED_0 :== 300     ! Speed for remote port 0.
    $ REMOTE_SPEED_1 :== 1200    ! Speed for remote port 1.
    $ REMOTE_SPEED_2 :== 9600    ! Speed for remote port 2.

3 SYSTEM_TYPE
 This  command is used to specify the type of remote system you are
 communicating  with.  This  sets up various flags within VAXNET to
 determine  how to talk to the remote.  For example, if you specify
 IBM, a  local  echo will be performed since IBM (TSO) doesn't echo
 characters sent to it.  The valid system types are:

 APPLE, AS6, CROSSFILE, DATAIO, DEC, EASYLINK, IBM, UNIX, and XXDP.

 Command Format:

   Vaxnet> SET SYSTEM_TYPE system_type

3 TIMEOUT_COUNT
 This  commands  is  changes  the  timeout  count used during file
 transmissions.  The default is 10 seconds.

 Command Format:

   Vaxnet> SET TIMEOUT value

3 TYPEAHEAD_LIMIT
 This  command is used to specify the limit the typeahead buffer is
 allowed to fill to before the characters are read.  It also limits
 the  maximum number of characters which are read at one time.  The
 default typeahead limit is set to 32. This small limit is required
 to allow terminal generated XOFF/XON to work properly.  This limit
 also appears to work with the VT100 in smooth scroll.

 Command Format:

   Vaxnet> SET TYPEAHEAD value

 DCL Symbol:

   $ TYPEAHEAD_LIMIT :== 32

3 UNIX_MODE
 This  command  displays the state of UNIX mode.  When this mode is
 enabled, informational messages are not displayed by VAXNET.  This
 mode may be desirable to the advanced VAXNET user.

 Command Format:

   Vaxnet> SET UNIX_MODE ON or OFF

3 VERIFY_MODE
 This  command  is  used  to enable or disable the verification of
 commands  being  executed  in a VAXNET command file.  By default,
 verify is enabled.

 Command Format:

   Vaxnet> SET VERIFY ON or OFF

3 WRITE_DELAY
 This  command  is  used  to enable a write delay.  If enabled, the
 specified  delay  is executed before reading additional characters
 from  the  remote  system.  This delay is normally not needed, but
 was  added  when  operating  at  high baud rates when the XON/XOFF
 protocol  does  not  control  the  screen update properly.  On our
 system,  a  50 millisecond delay was necessary to operate properly
 through the DEC Terminal Server running at 9600 baud.

 Command Format:

   Vanxet> SET WRITE_DELAY ss.mm (ss=seconds, mm=milli-seconds)

3 XON
 This command informs VAXNET that the remote system responds to the
 XON/XOFF  protocol to control output to the terminal.  If enabled,
 VAXNET  allows  the  typeahead buffer to fill to some limit before
 reading  the  characters  to reduce system overhead.  The terminal
 driver  sends  an  XOFF  when the typeahead buffer is nearly full.
 This  command  isn't  normally used since the system type question
 sets up internal flags for the remote system you are using.

 If disabled, Vaxnet doesn't wait for the typeahead buffer to fill.
 Instead,  it  will  read  the number of characters in the typehead
 buffer or issue a single character read.

 Command Format:

   Vaxnet> SET XON ON or OFF

3 WATCH_FILES
 This  command is used to enable or disable the display of the file
 name at end of file.  By default the file names are displayed.

 Command Format:

   Vaxnet> SET WATCH ON or OFF

2 SHOW
 This command is used to show a various Vaxnet parameter(s).

 Command Format:

   Vaxnet> SHOW parameter,parameter_1, ... parameter_n

3 ALL
 This  command  is  used  to  display all parameters.  You can also
 specify an asterisk "*" to display all parameters.

 Command Format:

   Vaxnet> SHOW ALL or *

3 AUTHOR
 This  command  is used to show my current address and phone number
 in case you need to contact me for any reason.

 Command Format:

   Vaxnet> SHOW AUTHOR

     Robin T. Miller
     Northern Telecom, Inc.
     Network Support Systems Division
     54 Regional Drive
     Concord, New Hampshire 03301
     (603) 224-6511 ext. 2529

3 AUTODIAL_LIMIT
 This  command  displays  the  auto  dial retry limit.  This is the
 number of times to retry dialing a phone number when using an auto
 dial modem.

 Command Format:

   Vaxnet> SHOW AUTODIAL_LIMIT

3 BITS
 This  command  displays  the number of data bits being used by the
 selected protocol when transferring files.

 Command Format:

   Vaxnet> SHOW BITS

3 BREAK
 This  command displays the current break character (if any).  This
 is  the  character VAXNET detects to send a simulated break to the
 remote system.

 Command Format:

   Vaxnet> SHOW BREAK

3 DEBUG
 This  command  displays the current state of debugging output.  If
 enabled, additional output is displayed for debugging purposes.

 Command Format:

   Vaxnet> SHOW DEBUG

3 DIALER_PORT
 This  command displays current port being used by the auto dialer.
 Currently,  this port is only used by the Vadic VA3480 modem since
 the  dialer  is a separate device.  This command also displays the
 dialer speed and the modem slot being used.

 Command Format:

   Vaxnet> SHOW DIALER

3 DISPLAY
 This  command  displays the record count used to control how often
 a  one  line  status  report is written to the local terminal when
 transmitting files.

 Command Format:

   Vaxnet> SHOW DISPLAY

3 DUMP
 This  command  displays  all  the  dump  file  parameters.  These
 parameters  are DUMP_DELAY, DUMP_ECHO, DUMP_TERMINATOR, and DUMP_
 TIMEOUT.  Each of these parameters can be displayed individually.

 Command Format:

   Vaxnet> SHOW DUMP

3 DUMP_DELAY
 This  command  displays the current dump delay (if any).  The dump
 delay  is the time to delay before sending the next record in case
 the remote system needs time to write it to a disk file.

 Command Format:

   Vaxnet> SHOW DUMP_DELAY

3 DUMP_ECHO
 This  command  displays  the  current  state  of dump echoing.  If
 enabled,  records  dumped  to the remote system are also echoed at
 the local terminal.

 Command Format:

   Vaxnet> SHOW DUMP_ECHO

3 DUMP_TERMINATOR
 This  command  displays the dump terminator string (if any).  This
 is  the  string  sent  to  the  remote  system when end of file is
 detected for each file being dumped.

 Command Format:

   Vaxnet> SHOW DUMP_TERMINATOR

3 DUMP_TIMEOUT
 This  command  displays the number of seconds to wait for the echo
 of a record dumped to the remote.

 Command Format:

   Vaxnet> SHOW DUMP_TIMEOUT

3 ECHO
 This command displays the current state of local echoing.  When
 enabled,  characters  sent to the remote system are also echoed
 at the local terminal.

 Command Format:

   Vaxnet> SHOW ECHO

3 FILE_TYPE
 This command displays the current file type used with the selected
 file transfer protocol.

 Command Format:

   Vaxnet> SHOW FILE_TYPE

3 HANGUP
 The command displays the state of modem hangup.  When enabled, the
 modem is automatically hangup when VAXNET exits.

 Command Format

   Vaxnet> SHOW HANGUP

3 IDLE_TIMEOUT
 This  command  displays  the  idle timeout count.  This timeout is
 used  to  control  the  time  to  wait in seconds between incoming
 characters from the remote system.

 Command Format

   Vaxnet> SHOW IDLE_TIMEOUT

3 INTERRUPT
 This  command  displays  the current interrupt character.  This is
 the  character  typed  in  interactive  mode  to get to the VAXNET
 command level.

 Command Format:

   Vaxnet> SHOW INTERRUPT

3 ESCAPE
 This command displays the current escape.  This is the character
 typed in interactive mode to escape to the VAXNET command level.

 Command Format:

   Vaxnet> SHOW ESCAPE

3 LOGFILE
 The  command  displays  the current log file name (if any).  The a
 log  file  is  open,  then  all  output  from the remote system is
 written to this file.

 Command Format:

   Vaxnet> SHOW LOGFILE

3 LOGLOCAL
 This command displays the state of local logging.  If enabled, all
 messages  displayed  by  VAXNET  to  the  local  terminal are also
 written to the log file.

 Command Format:

   Vaxnet> SHOW LOGLOCAL

3 LOCAL_SIGNALS
 This command displays the local modem signals.

 Command Format:

   Vaxnet> SHOW LOCAL

3 MODEM_CHECK
 This command displays the state of the modem ready check feature.

 Command Format:

   Vaxnet> SHOW MODEM_CHECK

3 MODEM_TYPE
 This command displays the type of auto dial modem being used.

 Command Format:

   Vaxnet> SHOW MODEM

3 PACKET_LENGTH
 This command displays the current KERMIT packet length.

 Command Format:

   Vaxnet> SHOW PACKET_LENGTH

3 PARITY_TYPE
 This command displays the type of parity being used for the remote
 port.

 Command Format:

   Vaxnet> SHOW PARITY

3 PASTHRU
 This  command  displays  the  current setting of the PASTHRU flag.
 Refer  to  the  "SET PASTHRU" help section for more information on
 this terminal characteristic.

 Command Format:

   Vaxnet> SHOW PASTHRU

3 PHONE_NUMBER
 This command displays the current phone number to dial (if any).

 Command Format:

   Vaxnet> SHOW PHONE_NUMBER

3 PORT
 This  command  displays the current remote port.  This is the port
 VAXNET uses to communicate with the remote system.

 Command Format:

   Vaxnet> SHOW PORT

3 LINE
 This  command  displays the current remote line.  This is the line
 VAXNET uses to communicate with the remote system.

 Command Format:

   Vaxnet> SHOW LINE

3 PROGRAM_START
 This  command  displays  the  string  sent to the remote system to
 start the remote file transfer program.

 Command Format:

   Vaxnet> SHOW PROGRAM_START

3 PROGRAM_TIMEOUT
 This  command  displays  the  number of seconds VAXNET waita for a
 response to the PROGRAM_START string.

 Command Format:

   Vaxnet> SHOW PROGRAM_TIMEOUT

3 PROGRAM_VERIFY
 This  command  displays the string that VAXNET uses to verify that
 the remote transfer program was started successfully.

 Command Format:

   Vaxnet> SHOW PROGRAM_VERIFY

3 PROTOCOL_TYPE
 This  command  displays  the  type of protocol VAXNET is using for
 file transfers.

 Command Format:

   Vaxnet> SHOW PROTOCOL

3 READ_DELAY
 This   command   displays   the  read  delay  string  used  during
 interactive mode.  This string defines the amount of time to delay
 while waiting for more characters to enter the typeahead buffer.

 Command Format:

   Vaxnet> SHOW READ_DELAY

3 READ_TIMEOUT
 This  command  displays  the  read with timeout parameters if this
 mode  of  operation  is  enabled.  When enabled, VAXNET will use a
 read  with timeout count instead of the normal method which uses a
 delay and a typeahead buffer limit.

 Command Format:

   Vaxnet> SHOW READ_TIMEOUT

3 REFORMAT
 This  command  displays  the various parameters used by VAXNET to
 control reformatting of the log file.

 Command Format:

   Vaxnet> SHOW REFORMAT

3 REMOTE
 This command is used to display the remote port, speed, and parity.

 Command Format:

   Vaxnet> SHOW REMOTE

3 RETRY_LIMIT
 This  command  displays  the retry limit used by the file transfer
 protocols.  This  limit  controls  the  maximum number of times to
 retry sending a record/block.

 Command Format:

   Vaxnet> SHOW RETRY_LIMIT

3 SIGNALS
 This  command  is used to display the modem signals of the remote
 port.  This  is  useful to determine if the modem has been hangup
 by  checking  for  "Dataset Ready" being asserted or for trouble-
 shooting modem problems.

 Command Format:

   Vaxnet> SHOW SIGNALS

3 SPEED
 This command is used to display the speed of the remote port.

 Command Format:

   Vaxnet> SHOW SPEED

3 START_REMOTE
 This  command  is  used  to  display the program start parameters.
 These  parameters are PROGRAM_START, PROGRAM_VERIFY, and PROGRAM_
 VERIFY.  Each of these parameters can be displayed individually.

 Command Format:

   Vaxnet> SHOW START_REMOTE

3 SYSTEM_TYPE
 This  command  displays  the  current system type being used.  The
 system  type  is  used  to  setup  various  falgs within VAXNET to
 determine how to talk to the remote.

 Command Format:

   Vaxnet> SHOW SYSTEM_TYPE

3 TIMEOUT_COUNT
 This  command  displays the timeout count in seconds used for file
 transmissions.

 Command Format:

   Vaxnet> SHOW TIMEOUT_COUNT

3 TYPEAHEAD_LIMIT
 This command displays the limit the typeahead buffer is allowed to
 fill to before reading the characters when in interactive mode.

 Command Format:

   Vaxnet> SHOW TYPEAHEAD_LIMIT

3 UNIX_MODE
 This  command  displays the state of UNIX mode.  When this mode is
 enabled, informational messages are not displayed by VAXNET.

 Command Format:

   Vaxnet> SHOW UNIX_MODE

3 VERIFY_MODE
 This  command  displays  the  state of verify mode.  When enabled,
 commands read from a command file are displayed at the terminal.

 Command Format:

   Vaxnet> SHOW VERIFY_MODE

3 VERSION
 This command is used to display the current version of VAXNET.

 Command Format:

   Vaxnet> SHOW VERSION

3 WATCH_FILES
 This command displays the state of watching files.  When enabled,
 file  names  are  displayed  at  the  terminal  after  they  are
 transmitted.

 Command Format:

   Vaxnet> SHOW WATCH_FILES

3 WRITE_DELAY
 This   command   displays   the  write delay  string  used  during
 interactive mode.  This string defines the amount of time to delay
 before reading additional characters from the remote system.

 Command Format:

   Vaxnet> SHOW WRITE_DELAY

3 XON
 This  command  displays whether the remote system responds to the
 XON/XOFF terminal protocol.  This protocol is used to control the
 flow of characters to prevent overruns.

 Command Format:

   Vaxnet> SHOW XON

2 SNDRCV
 SNDRCV  is  the  program  run  on the remote system to communicate
 with  VAXNET during file transmission (either GET or SEND). SNDRCV
 is started by one of the following commands:

 o  if  you  are  communicating with another VAX system, SNDRCV is
    started by typing the command "MCR SNDRCV".

 o  if  you  are communicating with an RSX-11M system, then SNDRCV
    is started by typing the command "RUN $SNDRCV".

    In  either  case, the following message is displayed after SNDRCV
    is started.

    SNDRCV Version 2.1 started ... Type CTRL/X and RETURN to abort.

 At  this  point  you  should type CTRL/Y to get the VAXNET command
 prompt.  Be  careful  not  to type any other characters since they
 will  be  accepted  by  SNDRCV  and  interpreted  as commands from
 VAXNET.  After  you get the VAXNET command prompt, you should type
 either  GET  or  SEND  and the file name questions associated with
 each   command.   After  the  questions  are  answered,  the  file
 transmission begins.

 The  status  report  on  the terminal is updated after each record
 transmitted.  If  the status report stops updating momentarily, be
 patient,  there  may  have  been  a transmission failure.  After a
 timeout   period  (currently  10  seconds),  transmission   should
 continue.  If the transmission doesn't continue, you should type a
 single CTRL/C to abort the transmission.

 To  abort the SNDRCV program, you must type CTRL/X followed by the
 return  key.  If SNDRCV doesn't abort after the first attempt, try
 several times; the second try usually does it for me.

2 SPAWN
 There are two commands used to execute a DCL command.  If you type
 "$ dcl_command",  the  command is executed without copying the DCL
 symbols  and  logical names.  If you type "SPAWN dcl_command", the
 DCL symbols and logical names are copied.  With either command, if
 a DCL command is not specified, a new process is created.

 For example, to get a directory, type:

   Vaxnet> SPAWN DIRECTORY

2 START_REMOTE
 Several  DCL  symbols  can  be  defined  to have VAXNET attempt to
 automatically  start the remote transfer program.  This feature is
 very  useful  for synchronization when running in batch mode.  For
 example,  the  following  VAXNET  command file can be used to both
 GET a file and then SEND a file to the remote system.

 File TEST.COM:
        GET remote_file local_file
        SEND local_file to remote_file

 When  the  file  TEST.COM  is executed at the "Vaxnet> " prompt by
 typing "@TEST", then the above transfers will be performed.

 By  default,  the  startup messages from the remote system are not
 displayed.  If  you  encounter  startup problems, turning on debug
 output via the "DEBUG" command will display the remote responses.

 The  symbol PROGRAM_START defines the command string to execute at
 the remote system to get the transfer program started.

  $ PROGRAM_START :== "RUN SNDRCV"     ! Start the SNDRCV program.

 The  symbol  PROGRAM_VERIFY  defines the sub-string to expect from
 the  remote  to  verify  the tranfer program was started properly.
 If  this  symbol is not defined, then VAXNET only reads the remote
 response (if any) and presumes the program gets started.

 For example, the SNDRCV program responds with the following message
 after it starts.

  SNDRCV Version 2.1 started ... Type CTRL/X and RETURN to abort.

 Thus, the following symbol will search for the sub-string "started"
 after sending the PROGRAM_START string to the remote.

  PROGRAM_VERIFY :== "started"    ! Search for "started" string.

 The  symbol PROGRAM_TIMEOUT can be defined to override the default
 timeout  of 5 seconds to wait for the remote response.  Unless the
 remote system is heavily loaded, the default is adequate.

  PROGRAM_TIMEOUT :== 10            ! Change timeout to 10 seconds.

2 STARTUP
 Before  establishing  the connection with the remote system either
 in-house or over a modem, you MUST do the following.

 o  after  you  are  logged  into the VAX, allocate the port to be
    used for VAXNET.  This is done so the operating system doesn't
    think  someone is attempting to login to the system.  Although
    VAXNET  allocates  the  port internally, this is only stays in
    effect  while  you  are  running  VAXNET.  When  you exit from
    VAXNET,  the  port  is  automatically deallocated.  Failure to
    allocate  the system could result in both systems getting hung
    up  looping  character  back  and forth (initiating LOGIN) and
    WILL prevent VAXNET from attaching the remote port since it is
    already  allocated.  On  RSX-11M,  this will result in all the
    system buffers being used up and the system hanging.

 o  the  second  step  is  to  start  VAXNET  and  answer  all the
    questions.  This  is  not really neccessary if the remote is a
    DEC  operating system (no timeout period) but is needed for an
    IBM  system.  IBM  (especially the GE Crossfile) has a limited
    amount of time to login to their system.  If you aren't logged
    in  within  that period of time (how much time ???), IBM (TSO)
    will hangup the modem on their end.  You will still have to be
    very  fast  for  IBM if you're terminal is on a differnt floor
    than the modem.

2 STATUS
 This  command  is  used  to  get  a status report of how VAXNET is
 currently  setup.  If DCL symbols are used to answer the questions
 at startup time, this command is executed automatically to display
 the  current parameters.  The modem type and phone number are only
 displayed if you are using an autodial modem.

 Example:

   Vaxnet> STATUS

   Log file name:  VAXNET.LOG
   Local logging:  Enabled
   Remote port:    _TTA4:
   Interrupt char: ^A
   System type:    DEC
   Local echo:     Disabled
   Remote speed:   1200
   Modem type:     RIXON
   Phone number:   705

2 SUMMARY
 The  following is a summary of the commands which can be issued at
 the Vaxnet command level.

   AUTO_LOGIN    BAUD_RATE      BYE            CROSSFILE      $ cmd
   DEBUG         DIAL           DISCONNECT     DUMP           EXIT
   FINISH        GET            HANGUP         HELP           INTERRUPT
   LOGFILE       MODEM_TYPE     PAUSE          PUSH           QUIT
   RECEIVE       REDIAL         SCRIPT         SET            SEND
   SHOW          SPAWN          SPEED          STATUS         SYSTEM_TYPE
   TAKE

 The  commands  BAUD_RATE,  DEBUG,  INTERRUPT, LOGFILE, MODEM_TYPE,
 SPEED, and SYSTEM_TYPE commands are now controlled by SET commands.
 See the "HELP SET keyword" for help on these commands.

2 SYMBOLS
 DCL  symbols  can  be  defined to automatically answer the various
 VAXNET questions.  The symbols are:

   $ VAXNET_INTRO   :== "N"         ! VAXNET Introduction.
   $ VAXNET_LOG     :== "Y"         ! Output from remote to a log file.
   $ LOG_LOCAL      :== "N"         ! Disable local output to log file.
   $ LOG_FILE       :== "ROBIN.LOG" ! The log file name.
   $ REMOTE_PORT    :== "TXG0:"     ! Remote port to use.
   $ REMOTE_SPEED   :== "1200"      ! Baud rate of the remote system.
   $ PARITY_TYPE    :== "EVEN"      ! Set remote port to even parity.
   $ SYSTEM_TYPE    :== "DEC"       ! Type of remote system.
   $ BREAK_CHAR     :== "^B"        ! Character to send break signal.
   $ INTERRUPT_CHAR :== "^A"        ! Character to get Vaxnet prompt.
   $ MODEM_TYPE     :== "VA3480"    ! Type of auto dial modem.
   $ MODEM_CHECK    :== "Y"         ! Modem ready check enabled. (D)
   $ DIALER_PORT    :== "TXG5:"     ! The autodialer port.
   $ DIALER_SPEED   :== "1200"      ! The autodialer baud rate.
   $ PHONE_NUMBER   :== "number"    ! Phone number to dial.
   $ DEBUG_OUTPUT   :== "N"         ! Debugging output disabled. (D)
   $ PROGRAM_START  :== "SNDRCV"    ! Command to start remote program.
   $ PROGRAM_VERIFY :== "started"   ! String to verify remote started.
   $ READ_DELAY     :== "00.02"     ! Set 20 millisecond read delay.
   $ WRITE_DELAY    :== "00.05"     ! Set 50 millisecond write delay.
   $ UNIX_MODE      :== "Y"         ! Disable informational messages.
   $ VAXNET_CMD     :== "@TEST.COM" ! VAXNET command(s) to execute.

 The text (D) means that the defined symbol is the same as the default.
 For the interrupt character, the "^A" gets converted to a CTRL/A.
 Also see AUTO_LOGIN for addition symbols for automatic login.

2 VMODEM
!
! VMODEM.HLP by Robin Miller on August 25, 1985.
!
 VMODEM is a program to downline load to various personal computers. It
 transfers  either  text  or  binary  files  block  by block with error
 checking using a checksum.  The protocol used is known as the CPMUG or
 Christensen  Protocol.  To  use this program, define a symbol to start
 the  program as shown below.  The program is written in the C language
 and uses UNIX style command lines.

     $ vmodem :== $sys$vaxnet:vmodem
     $ vmodem
     $ vmodem
     VMODEM Version 2.9 -- VAX/VMS-Based Remote File Transfer Facility
     
     Usage:  
        vmodem -[rb!rt!sb!st][l][p][y][7] filename
     
        rb <-- Receive Binary.
        rt <-- Receive Text.
        sb <-- Send    Binary.
        st <-- Send    Text.
        d  <-- Create vmodem.log else append to existing.
        l  <-- (ell) Turn OFF LOG File Entries.
        y  <-- Display file status (size) information only.
        7  <-- Enable 7-bit transfer mask.
3 Examples
 This  example  shows  the  commands  neccessary to send and get a file
 using the VMODEM program.  Since the  VMODEM  protocol  supports  both
 ASCII  and BINARY, both the .MIS and .MSH files are transferred during
 the example.  Notice that the protocol had to  be  changed  to  XMODEM
 since the default is the normal VAXNET protocol.  
     
     Vaxnet> SET PROTOCOL XMODEM
     Vaxnet> SHOW PROTOCOL
     Protocol type:    XMODEM
     Vaxnet> SHOW FILE_TYPE
     File type:        ASCII
     Vaxnet> SHOW BITS
     Number of bits:   8
     Vaxnet> 
     
4 RECEIVE
     $ vmodem -rt ref.mis
     VMODEM Version 2.9 -- VAX/VMS-Based Remote File Transfer Facility
     
     VMODEM:  LOG File 'vmodem.log' is Open
     
     VMODEM:  File Name: ref.mis
     VMODEM:  Text Mode Selected
     VMODEM:  8-Bit Transmission Enabled
     VMODEM:  Ready to RECEIVE File
     
     Vaxnet> SEND REF.MIS
     
     *** Type CTRL/C to abort the file transmission. ***
     
     *** File "REF.MIS;1" successfully transferred. ***
     *** ELAPSED: 00:01:02.05  CPU: 0:00:01.93 ***
     
     XMODEM Status Report:
     Total blocks:     48, total records:     84, total bytes:    5970
     Parity errors:     0,      overruns:      0,    timeouts:       0
     
     $ type vmodem.log
     
     
     ++++++++
     
     VMODEM Version 2.9
     
     ----
     VMODEM Receive Function
     File Name: ref.mis
     TERM II File Transfer Protocol 3 (CP/M UG) Selected
     Text Mode Selected
     8-Bit Transmission Enabled
     Timeout on Sector 0
     
     Receive Complete
     Number of Received CP/M Records is 48
     $ 
     $ diff ref.mis home:ref.mis
     Number of difference sections found: 0
     Number of difference records found: 0
     
     DIFFERENCES /IGNORE=()/MERGED=1-
         $1$DUA2:[MILLER.VMODEM]REF.MIS;1-
         $1$DUA2:[MILLER]REF.MIS;1
     $ 
     $ mish ref/decompress
     %MISH-I-DONE, File: REF.EXE, total blocks = 15, total records = 84
     $ 
     $ diff ref.exe home:ref.exe
     Number of difference sections found: 0
     Number of difference records found: 0
     
     DIFFERENCES /IGNORE=()/MERGED=1-
         $1$DUA2:[MILLER.VMODEM]REF.EXE;1-
         $1$DUA2:[MILLER]REF.EXE;1
     $ 
     $ run ref
     Enter the input file name: ^Z
     $ 
     $ del home:ref.aaa;0
4 SEND
 The following is an example of sending a file using VMODEM.

     $ vmodem -std ref.mis
     VMODEM Version 2.9 -- VAX/VMS-Based Remote File Transfer Facility
     
     VMODEM:  LOG File 'vmodem.log' is Open
     
     VMODEM:  Estimated File Size 6K, 48 Records, 6053 Bytes
              Estimated transfer time at 1200 baud:  0 min, 51 sec.
     VMODEM:  File Name: ref.mis
     VMODEM:  Text Mode Selected
     VMODEM:  8-Bit Transmission Enabled
     VMODEM:  Ready to SEND File
     
     Vaxnet> GET REF.AAA
    
     *** Type CTRL/C to abort the file transmission. ***
     
     *** File "REF.AAA" successfully transferred. ***
     *** ELAPSED: 00:01:01.25  CPU: 0:00:02.47 ***
     
     XMODEM Status Report:
     Total blocks:     48, total records:     84, total bytes:    5970
     Parity errors:     0,      overruns:      0,    timeouts:       0
     
     
     $ diff ref.mis home:ref.aaa
     Number of difference sections found: 0
     Number of difference records found: 0
     
     DIFFERENCES /IGNORE=()/MERGED=1-
         $1$DUA2:[MILLER.VMODEM]REF.MIS;1-
         $1$DUA2:[MILLER]REF.AAA;1
     $ 
     $ type vmodem.log
     
     
     ++++++++
     
     VMODEM Version 2.9
     
     ----
     VMODEM Send Function
     File Name: ref.mis
     Estimated File Size 6K, 48 Records, 6053 Bytes
     TERM II File Transfer Protocol 3 (CP/M UG) Selected
     Text Mode Selected
     8-Bit Transmission Enabled
     
     Send Complete
     $ 
     $ del ref.*;*
     $ del home:ref.aaa;0
     $ 
     Vaxnet> SET FILE_TYPE BINARY
     Vaxnet> 
     
     $ vmodem -rbd ref.msh
     VMODEM Version 2.9 -- VAX/VMS-Based Remote File Transfer Facility
     
     VMODEM:  LOG File 'vmodem.log' is Open
     
     VMODEM:  File Name: ref.msh
     VMODEM:  Binary Mode Selected
     VMODEM:  8-Bit Transmission Enabled
     VMODEM:  Ready to RECEIVE File
     
     Vaxnet> SEND REF.MSH
     
     *** Type CTRL/C to abort the file transmission. ***
     
     *** File "REF.MSH;1" successfully transferred. ***
     *** ELAPSED: 00:00:41.92  CPU: 0:00:01.35 ***
     
     XMODEM Status Report:
     Total blocks:     32, total records:     32, total bytes:    4096
     Parity errors:     0,      overruns:      0,    timeouts:       0
     
     
     $ type vmodem.log
     
     
     ++++++++
     
     VMODEM Version 2.9
     
     ----
     VMODEM Receive Function
     File Name: ref.msh
     TERM II File Transfer Protocol 3 (CP/M UG) Selected
     Binary Mode Selected
     8-Bit Transmission Enabled
     Timeout on Sector 0
     
     Receive Complete
     Number of Received CP/M Records is 32
     $ 
     $ diff ref.msh home:ref.msh
     Number of difference sections found: 0
     Number of difference records found: 0
     
     DIFFERENCES /IGNORE=()/MERGED=1-
         $1$DUA2:[MILLER.VMODEM]REF.MSH;1-
         $1$DUA2:[MILLER]REF.MSH;1
     $ 
     $ mish ref/decompress/xmodem
     %MASH-I-DONE, File: REF.EXE, total blocks = 15, total records = 32
     $ 
     $ diff ref.exe home:ref.exe
     Number of difference sections found: 0
     Number of difference records found: 0
     
     DIFFERENCES /IGNORE=()/MERGED=1-
         $1$DUA2:[MILLER.VMODEM]REF.EXE;1-
         $1$DUA2:[MILLER]REF.EXE;1
     $ 
     $ run ref
     Enter the input file name: ^Z
     $ 
     $ vmodem -sbd ref.msh
     VMODEM Version 2.9 -- VAX/VMS-Based Remote File Transfer Facility
     
     VMODEM:  LOG File 'vmodem.log' is Open
     
     VMODEM:  Estimated File Size 4K, 32 Records, 4095 Bytes
              Estimated transfer time at 1200 baud:  0 min, 35 sec.
     VMODEM:  File Name: ref.msh
     VMODEM:  Binary Mode Selected
     VMODEM:  8-Bit Transmission Enabled
     VMODEM:  Ready to SEND File
     
     Vaxnet> GET REF.BBB
     
     *** Type CTRL/C to abort the file transmission. ***
     
     *** File "REF.BBB" successfully transferred. ***
     *** ELAPSED: 00:00:40.15  CPU: 0:00:01.53 ***
     
     XMODEM Status Report:
     Total blocks:     32, total records:     32, total bytes:    4096
     Parity errors:     0,      overruns:      0,    timeouts:       0
     
     
     $ type vmodem.log
     
     
     ++++++++
     
     VMODEM Version 2.9
     
     ----
     VMODEM Send Function
     File Name: ref.msh
     Estimated File Size 4K, 32 Records, 4095 Bytes
     TERM II File Transfer Protocol 3 (CP/M UG) Selected
     Binary Mode Selected
     8-Bit Transmission Enabled
     
     Send Complete
     $ 
     $ diff ref.msh home:ref.bbb
     Number of difference sections found: 0
     Number of difference records found: 0
     
     DIFFERENCES /IGNORE=()/MERGED=1-
         $1$DUA2:[MILLER.VMODEM]REF.MSH;1-
         $1$DUA2:[MILLER]REF.BBB;1
     $ 
     $ del ref.*;*

