Trailing-Edge - PDP-10 Archives - BB-R598A-RM_1983 - swskit-v3/nvt/rsts.mem
There is 1 other file named rsts.mem in the archive. Click here to see a list.


                           Virtual Terminal Protocol


                                  Version 1.0

                                  Jan 20,1979

             digital equipment corporation - maynard massachusetts
DECnet/E Virtual Terminal Protocal                                        Page 2


This  document  describes  the  functions,  characteristics,  capabilities,  and
operation  of  the Virtual Terminal Protocol (VTP).  It is primarily intended to
assist developers and implementers in understanding how VTP functions  within  a
system.  The document is not intended to address specific implementations.


The VTP is a user level protocol.  Its purpose is  to  permit  users  to  access
other  DECnet/E  systems for one DECnet/E as terminal users.  Using the programs
that inplement the VTP a remote user can virtualy connect  it's  terminal  to  a
remote  system.   In  this  connection  it  (the  user not being male or female)
will/may lose some of the features of normal terminal service but will  be  able
to logon and run most RSTS/E cusp.


The basic message flow is shown below.  The  hope  here  is  that  Configuration
message will be used to pick one of two modes of operation:

COMPATABLEITY MODE: is where the two operating systems are different.   In  this
                    mode the messages with message codes < 127 are valid.  If an
                    implemntation  gets  a  message  type  that  it   does   not
                    understand  it  should  send it back in a Unsuported-Message
                    message.  The initial implenetation includes  the  following
                    support;   echo  on/off  with  local echo and delete.  It is
                    expected that this protocol will grow with time  and  should
                    be  replaced  with an X25 'PAD'.  This is a short (2-3 year)
                    solution to a larger problem.

OTHER MODE:         is wher the two operating systems are the same and  wish  to
                    implment  some more complex protocol.  All message types are
                    valid in this mode and the types from 128 to  255  are  used

                        TERMINAL                                REMOTE

Request to communicate
                                   Connect Initiate Message
                                   Connect Confirm Message

                                   Configuration Message
                                   Configuration Message
DECnet/E Virtual Terminal Protocal                                        Page 3

pick mode for this link

                                   DATA + CONTROL + USPMSG

                                                               user logged out


                                          - OR -

user done


The following rules must be followed.

1.  All messages must be less than or equal to 137 bytes in length.


3.1 Notation

The following notation is used to describe the VTP messages:

        FIELD (length) : coding = description of field.


          FIELD  = the name of the field being described.

          length = the length of the field, which can be  indicated  in  one  of
          four ways:

          1.  A number meaning number of 8-bit bytes (octet).

          2.  The letters "I-n" means this is an image field,  with  n  being  a
          number  that specifies the maximun length of 8-bit bytes in the image.
          The image is preceded by a length of 1-byte count of the length of the
          remainder  of  the field.  Image fields are variable in length and may
          be null (count=0).  All 8-bits of each byte are  used  as  information
          bits.   The  meaning and interpretation of each image field is defined
          with that specific field.

coding = the representation type used.

          A  = 7-bit ASCII

          B  = binary
DECnet/E Virtual Terminal Protocal                                        Page 4

          BM = bit map (in which each bit has a specific meaning)

The following rules apply to the notation:

1. If length and coding are omitted, FIELD  represents  a  number  of  subfields
specified in description.

2. Any bit or field described  as  resvered  shall  be  zero  unlyess  otherwise

3. All fields are presented to NSP with the least-significant byte first.  In an
ASCII field, the left-most character is contained in the low-order byte.

4. All numbers are in decimal unless otherwise specified.
DECnet/E Virtual Terminal Protocal                                        Page 5

3.2 General message Format

All VTP messages have the following form:

        |         |         |        |
        | TYPE    | LENGTH  |  REST  |
        | (1):B   | (2):B   |        |


TYPE (1) : B      = This field denotes the type of message this is.  The  values
                    from  1  to  127  are  for  the decnet common (cross system)
                    protocol and the values from  128  to  255  are  for  system
                    specific messages.

LENGTH (2) : B    = Denotes the length of the message.  The length includes  the
                    full message (including type and length).

REST              = Denotes the rest of the message.
DECnet/E Virtual Terminal Protocal                                        Page 6

3.3 Configuration Message

The configuration message is  used  to  pass  system  configuration  information
between  both  systems involved in a virtual terminal connection The main use of
this message is to determine if the system on the other end is of the same type.
If  the  other system is different then the session is run in compatability mode
(the message types <128 are valid).

        |         |         |        |         |        |          |
        | CONFIG  | LENGTH  | OSTYPE | VERSION |  MODE  |   MENU   |
        | (1):B=1 | (2):B   | (1):B  | (4):B   | (1):BM | (I-6):BM |

CONFIG :          = The TYPE field with a value of 1.

LENGTH(2) : B     = The length of this message.

OSTYPE(1) : B     = Operating system type (the sending system).  Values  in  the
                    range  1-127  are  reserved  for  DIGITAL  use;  128-255 are
                    reserved for user-specified operating systems.

                                        Value   OS Type
                                        -----   -------
                                        0       Illegal
                                        1       RT-11
                                        2       RSTS/E
                                        3       RSX-11S
                                        4       RSX-11M
                                        5       RSX-11D
                                        6       IAS
                                        7       VAX/VMS
                                        8       TOPS-20
                                        9       TOPS-10
                                        10      OS8
                                        11      RTS-8

VERSION           = A  Field  identifying  the  protocol  and  software  version
                    numbers.  This field is subdivided as follows:

                                        | VERNUM | ECONUM | USRNUM | SOFTVER | USRSOFT |


                    VERNUM(1) : B     = VTP version number.  This is the same as
DECnet/E Virtual Terminal Protocal                                        Page 7

                                        the  first  digit of the protocol vesion

                    ECONUM(1) : B     = VTP ECO (Modification) number.  This  is
                                        the  same  as  the  second  digit of the
                                        protocol version number.

                    USRNUM(1) : B     = Customer modification level of VTP.

                    SOFTVER(1) : B    = VTP Software version number  in  binary.
                                        This  is the DIGITAL Release number.  If
                                        the software is completely user  written
                                        this field should be 0.

                    USRSOFT(1) : B    = User software version number in  binary.
                                        If  the  user modifies DIGITAL software,
                                        he should increment this byte to reflect
                                        the  modification  number.   Set to 0 by

                    MODE (1) :BM      = This bit map defines the mode  for  this

                                                        BIT     MEANING (WHEN SET)
                                                        ---     ------------------
                                                         0      DISSCONNECT ON LOGOUT.(SEND TO REMOTE END)

                    MENU (I-6) : BM   = A menue  for  the  rest  of  the  CONFIG
                                        message.     There   is   currently   no
                                        additional fields so the menu  is  null.
                                        All the previous fields are required.
DECnet/E Virtual Terminal Protocal                                        Page 8

3.4 Control Message

The control message is used to inform the other end of  the  link  of  a
change in the mode or settings of the terminal.

                                  *** NOTE ***

This message will grow with water and sun light.

        |         |         |          |         |           |       |
        | (1):B=2 | (2):B   | (I-6):BM | (1):BM  | (32):BM   | (2):B |


CONTROL           = The type field with code = 2.

LENGTH (2) : B    = The length of the message.

MENU (I-6) : BM   = The bit map below specifies which of  the  indicated
                    fields,  groups  of fields, or messages follow.  The
                    field is present if the corresponding bit is set.

                BIT     Meaning (when set)
                ---     ------------------

                 0      ECHO flags
                 1      DELIMITER BIT MAP
                 2      WIDTH FIELD 

ECHOFLG (1) : BM  = The bit map below specifie the action to take if the
                    corresponding bit is set.

                BIT     ACTION (when set)
                ---     -----------------

                 0      ECHO OFF
                 1      ECHO ON

                    The default start  up  state  is  for  echo  at  the
                    terminal  end  to  be  on and off at the remote end.
                    This  changes  the  mode  till  another  command  is
DECnet/E Virtual Terminal Protocal                                        Page 9

DELIMITER(32) :BM = This is a bit map where each bit  corisponds  to  an
                    ASCII  character.   If  the  Bit  is  set  then that
                    character is a delimiter.  (EG all bits  set  =  ODT
                    mode).   The  standare  delimiter set is as follows.
                    This the setting assumed for this field if  the  two
                    ends OSTYPE fields are different.

                                DELIMITERS      DECIMAL
                                <CR>            13
                                <LF>            10
                                <ESC>           27,?,?
                                <_^Y>           31
                                <_^C>           3
                                <_^T>           24
                                <_^Z>           26

WIDTH (2) : B     = This is the width of  the  real  terminal  from  the
                    terminal  side.   It  has a value of 0 from the host
DECnet/E Virtual Terminal Protocal                                       Page 10


This message is used to tell the other end that it  send  you  something
you  dont  know  what to do with.  The procedure from there on is up the
end thatt sent the bad message.

        |         |         |        |         |
        | (1):B=3 | (2):B   | (2):B  | (I-n):B |
DECnet/E Virtual Terminal Protocal                                       Page 11


The DATA message is used to send keyboard input to the remote system and
printer output to the local user.

        |         |         |           |
        | DATA    | LENGTH  | TERDATA   |
        | (1):B=4 | (2):B   | (I-133):B |


DATA           = The type field with code = 4.

LENGTH (2) : B    = The length of the message.

TERDATA (I-133) : B The actual data being send across the net.