FTP and Telnet Package for Small Systems Documentation



         






















                             FTP and Telnet Package


                                       for


                                  Small Systems


        CHAPTER 1  SOFTWARE INSTALLATION                             1-1 
          1.1     INSTALLATION CONFIGURATIONS                        1-1 
          1.1.1     Install All Files on System Device               1-1 
          1.1.2     Install Only Command Files on System Device      1-2 
          1.1.3     Install All Files on a Logical Disk              1-2 
          1.2     SOFTWARE COMPONENTS                                1-2 
          1.3     CONFIGURATION FILE                                 1-3 
          1.4     INSTALLATION IN DETAIL                             1-8 

        CHAPTER 2  HARDWARE INSTALLATION                             2-1 
          2.1     Q-BUS SYSTEMS                                      2-1 
          2.2     UNIBUS SYSTEMS                                     2-1 

        CHAPTER 3  SYSTEM GENERATION                                 3-1 

        CHAPTER 4  PROGRAM OPTIONS                                   4-1 
          4.1     FTP                                                4-1 
          4.2     TELNET                                             4-3 
          4.3     CNCT                                               4-4 

        CHAPTER 5  ETHERNET DEVICE HANDLERS                          5-1 
          5.1     DEVICE HANDLER SYSTEM SUMMARY                      5-3 
          5.2     DEVICE HANDLER FEATURE SUMMARY                     5-4 
          5.3     PROGRAMMING                                        5-5 
          5.4     USE OF SPECIAL FUNCTIONS (.SPFUN)                  5-5 
          5.4.1     Unit Specification (.SPFUN 200)                  5-6 
          5.4.1.1     Allocate Unit                                  5-7 
          5.4.1.2     Deallocate Unit                                5-8 
          5.4.2     Promiscuous Mode (.SPFUN 201)                    5-9 
          5.4.2.1     Enable Promiscuous Mode                        5-9 
          5.4.2.2     Disable Promiscuous Mode                      5-10 
          5.4.3     Protocol Type (.SPFUN 202)                      5-11 
          5.4.3.1     Enable Protocol Type                          5-11 
          5.4.3.2     Disable Protocol Type                         5-12 
          5.4.4     Multicast Address (.SPFUN 203)                  5-13 
          5.4.4.1     Enable Multicast Address                      5-13 
          5.4.4.2     Disable Multicast Address                     5-14 
          5.4.5     Transmit Ethernet Frame (.SPFUN 204)            5-15 
          5.4.6     Receive Ethernet Frame (.SPFUN 205)             5-16 
          5.4.7     Frame Queueing (.SPFUN 206)                     5-17 
          5.4.7.1     Enable Frame Queueing                         5-18 
          5.4.7.2     Disable Frame Queueing                        5-18 
          5.4.8     Get Ethernet Address (.SPFUN 207)               5-19 
          5.4.9     Get Ethernet Status Block (.SPFUN 210)          5-20 
          5.4.10    Abort Job I/O (.SPFUN 211)                      5-21 
          5.5     HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2           5-21 
          5.5.1     Get PLAS Allocation Size (.SPFUN 300)           5-22 
          5.5.2     Initialize Handler (.SPFUN 301)                 5-22 
          5.5.3     ENPLAS.SAV - Allocating the PLAS Region         5-23 

        CHAPTER 6  BUILDING THE FTP AND TELNET PACKAGE               6-1 
          6.1     C COMPILER                                         6-1 
          6.1.1     Building under RT-11                             6-1 
          6.1.2     Building under TSX-Plus                          6-2 
          6.2     FTP AND TELNET PACKAGE                             6-2 
          6.3     COMPILING OPTIONS                                  6-3 


                                                                 Page ii
        


        CHAPTER 7  DISTRIBUTION DISKS                                7-1 


                                                                Page iii
        


        FTP and Telnet Package for Small Systems 

        Submitted by Alan R.  Baldwin, 
        Kent State University, Kent, Ohio 44242 

        Operating System:  RT-11/TSX-Plus 

        Source Langauge:  DECUS C and RT-11 Macro 

        Abstract:  

           The 'FTP and Telnet Package for Small Systems' provides stan-
        dalone FTP and Telnet programs.  These programs will run under
        all RT-11 monitors (SJ, SB, FB, XB, XM, ZB, and ZM) and
        TSX-Plus.  

           The sources for the 'FTP and Telnet Package for Small
        Systems' include header, command, C language, and macro files.
        The DECUS C compiler (with some bug fixes) and AS assembler are
        included with the software distribution to allow the package to
        be recompiled from the supplied sources.  

           The requirements are an RT-11 system with 56K bytes of memory
        and a DEQNA/DELQA (Q-Bus) or DEUNA/DELUA (Unibus) ethernet card
        with associated thick or thin wire adapter.  



        Alan R. Baldwin
        Physics Department
        Kent State University
        Kent, Ohio  44242
        
        tel: (330) 672 2531
        fax: (330) 672 2959
        
        Internet:
        baldwin@shop-pdp.kent.edu
        baldwin@ksuvxd.kent.edu














                                    CHAPTER 1

                              SOFTWARE INSTALLATION




           The  FTP and Telnet Package components should be installed as
        described  in  the  following  sections.   The  ethernet  device
        handler  specific to your particular hardware configuration must
        be copied to the RT-11 system device.  The logical name  assign-
        ments used by the package are:  

             1.  TCP:   Location of programs and configuration file.  

             2.  ENx:   Selected device driver units 0-3.  


           The  FTP and Telnet Package for Small Systems executables are
        found on logical disk SSDSK1.DSK.  The required device  handlers
        are found on the logical disk DVRDSK.DSK.  


        1.1  INSTALLATION CONFIGURATIONS 


           The  FTP  and  Telnet  package may be installed in one of the
        following three configurations:  


        1.1.1  Install All Files on System Device 


           All  command  files  and programs are copied directly to your
        system disk.  Assign SY:  to TCP:.  This configuration  installs
        9 files (and 320 blocks) on your system disk.  




        SOFTWARE INSTALLATION                                   PAGE 1-2
        INSTALLATION CONFIGURATIONS


        1.1.2  Install Only Command Files on System Device 


           Create  a  seperate  logical disk (TCP:) for the programs and
        copy only the command files to the system directory.  This  will
        install 3 files (and 3 blocks) on your system device.  


        1.1.3  Install All Files on a Logical Disk 


           Create  a  seperate  logical  disk (TCP:) for the package and
        copy all the files to this disk.  


        1.2  SOFTWARE COMPONENTS 


           The   following   annotated   list  summarizes  the  software
        components:  

        1.  FTP Client 
           1.  FTP.CSM          FTP IND control file (SJ/SB/FB) 
           2.  FTP.CXM          FTP IND control file (XB/XM/ZB/ZM) 
           3.  FTP.CTM          FTP command file (TSX) 
           4.  FTPSB.SAV        FTP client program 


        2.  Telnet Client 
           1.  TELNET.CSM       TELNET IND control file (SJ/SB/FB) 
           2.  TELNET.CXM       TELNET IND control file (XB/XM/ZB/ZM) 
           3.  TELNET.CTM       TELNET command file (TSX) 
           4.  TLNTSB.SAV       TELNET client program 


        3.  CNCT Client 
           1.  CNCT.CSM         CNCT IND control file (SJ/SB/FB) 
           2.  CNCT.CXM         CNCT IND control file (XB/XM/ZB/ZM) 
           3.  CNCT.CTM         CNCT command file (TSX) 
           4.  CNCTSB.SAV       CNCT client program 


        4.  Miscellaneous Files 
           1.  TCPIP.CFG        Configuration file 
           2.  RTUCL.INS        UCL commands for RT-11 SJ/SB/FB 
           3.  XMUCL.INS        UCL commands for RT-11 XB/XM/ZB/ZM 
           4.  TSXUCL.INS       UCL commands for TSX-Plus 
           5.  TCPIP.RT         TCPIP.RUN for RT-11 SJ/SB/FB 
           6.  TCPIP.XM         TCPIP.RUN for RT-11 XB/XM/ZB/ZM 
           7.  TCPIP.TSX        TCPIP.RUN for TSX-Plus 




        SOFTWARE INSTALLATION                                   PAGE 1-3
        CONFIGURATION FILE


        1.3  CONFIGURATION FILE 


           Each of the programs, FTPSB, TLNTSB, and CNCTSB, requires the
        configuration file TCPIP.CFG which defines  all  the  parameters
        required  to  configure  the  programs for network access.  Note
        that TCP/IP services, tasks, and session logging  are  commented
        out as these are not support.  


        SOFTWARE INSTALLATION                                   PAGE 1-4
        CONFIGURATION FILE


#
#  Example host file for TCP/IP server
#
#  This file is free form
#  Separators are any char <32, 'space' and '='
#  Comments are preceeded by #
#
#  The form is keyword=value for each parameter.
#  The first set of parameters refer to the whole program's defaults.
#  These parameter values can be in any order.
#  Following this are the individual machine specs.
#  If the first machine is name "default", then it contains default
#  values for the rest of the machines.
#
#       These options are specified for this host machine:
#
#       myname=____.____.____   # my internet name
#       myip=___.___.___.___    # host machines's IP number
#           =BOOTP              # to use BOOTP to get host info
#           =RARP               # to use RARP to get IP number
#       netmask=___.___.___.___ # subnetting mask
#       domain=____.____        # default domain for lookup
#       nndomto=____            # timeout for domain lookups
#       nnretry=____            # number of retries for lookup
#       nnarpto=____            # timeout for ARPs
#       nndto=____              # timeout for data layer
#       nnpkt=____              # TCPIP upper limit packets per transq
#                               # nnpkt=1, requires ACK for each packet
#       nnwin=____              # TCPIP upper limit window size
#       nnseg=____              # TCPIP upper limit input segment size
#       nnmtu=____              # TCPIP upper limit output transfer size
#       service=___,___,_____   # TCPIP services specification
#       task=___,___,_____      # TCPIP task specification
#       logsession=__________   # TCPIP session logging filespec
#


        SOFTWARE INSTALLATION                                   PAGE 1-5
        CONFIGURATION FILE


#
#       These are the options which may be specified for each
#       individual machine specification:
#
#       name=____               # name of session (required)
#       host=____               # full name of host computer
#       hostip=___.___.___.___  # IP number of host
#       port=____               # specify initial connection port
#       nameserver=____         # name server level
#       gateway=____            # gateway level
#       retrans=____            # initial retransmit timeout
#       contime=____            # opening connection timeout
#       mwin=____               # advertized window size for this host
#       mseg=____               # maximum advertized input segment size
#       mtu=____                # maximum output transfer size
#       delete=backspace        # value to use for character deletion
#       crmap=4.3BSDCRNUL       # for 4.3BSD null CR
#       duplex=half             # for half duplex TELNET connections
#       copyfrom=____           # copy parameters from this name
#
myname=machine.domain.name
myip=192.3.2.100        # required, this machine's IP number
netmask=255.255.255.0   # subnetting mask
domain="domain.name"    # domain name search path

                        # affects machines on your local network
nnwin=512               # limit advertized window (nnwin == mwin)
nndomto=5               # domain timeout
nnretry=4               # number of retries
nnarpto=2               # arp timeout in seconds
nnpkt=1                 # send only 1 packet(s) per transq



        SOFTWARE INSTALLATION                                   PAGE 1-6
        CONFIGURATION FILE


#  The following line specifies the TCPIP logging file
#  which will contain information for each session
#  started:     TELNET / RTELNT / FTP / RFTP / CNCT / RCNCT /
#               MAIL / RSMTP
#               RPOP3 / MAILER / MMAIL
#               RLPD / LPRINT / LPQRM / LLPQRM
#               NTSND
#               RHTTP
#               RGOPH

#logsession=sy:tcpip.log[100]

#  The following are services supported by TCPIP.
#  Each entry contains the listen port, maximum number of
#  sessions and the name of the command file to initiate
#  the service.

#service=21,2,sy:rftp.srv       # remote ftp server
#service=23,2,sy:rtelnt.srv     # remote telnet server
#service=25,2,sy:rsmtp.srv      # remote smtp server
#service=27,2,sy:rcnct.srv      # remote cnct server
#service=70,2,sy:rgoph.srv      # remote gopher server
#service=80,4,sy:rhttp.srv      # remote http server
#service=110,2,sy:rpop3.srv     # remote pop3 server (task: -t 1)
#service=515,2,sy:rlpd.srv      # remote lpd server  (task: -t 2)

#  The following specify the tasks that may be initiated by TCPIP.
#  Each entry contains the taskid number, timer interval in seconds
#  (zero means not an automatically started task), and the name
#  of the command file to initiate the service.  These tasks donot
#  have to be related to TCPIP programs, however a TCPIP program
#  can use the TASKCLASS to start a specific task. The selected
#  task will be scheduled by TCPIP and only one (1) copy of the
#  the task will be allowed to run.  Additional requests to start
#  the task will be queued as a single request to rerun the task
#  at the completion of the currently executing task.

#task=1,0,sy:mailer.srv # mmail / pop3      mail delivery agent
#task=2,0,sy:lprint.srv # rlpd / llpqrm     printing delivery agent


        SOFTWARE INSTALLATION                                   PAGE 1-7
        CONFIGURATION FILE


#
#  Following are individual machine specifications
#  Gateways are used in the order that they appear in the file
#  Nameservers rotate, #1, #2, #3, #1, #2 when a request fails
#
#  The machine named "default" contains the fields which are
#  automatically filled in for later hosts
#
name=default            # Session name, "default" is a reserved name
                        # Not a real machine, default parameters only
delete=delete           # Assume mostly non-UNIX connections

#  The following entries affect the tuning of
#       TCP connections to this host.
#  They should be set by the network administrator who is familiar
#       with the requirements of your specific network.

contime=12              # timeout in seconds to try connection
                        #   before returning error to user
retrans=5               # starting retransmit time out in seconds
mtu=512                 # maximum transmit unit in bytes
                        #   outgoing packet size
                        #   MIN = 128, DEFAULT = 512, MAX = 512
mseg=512                # largest segment we can receive
                        #   whatever the hardware can take
                        #   MIN = 128, DEFAULT = 512, MAX = 512
mwin=512                # most bytes we can receive without ACK
                        #   = TCP window size
                        #   MIN = 128, DEFAULT = 512, MAX = 512
                        #   larger isn't always better

#
#  Below this line, most of the communication parameters are obtained
#   from the "default" host entry.
#  Machine names, IP addresses, and special communication parameters
#   are present when needed.
#

name=mygateway          hostip=192.3.2.2
                        gateway=1

name=nameserver         hostip=192.3.2.1
                        nameserver=1

name=alpha              host=alpha.domain.name
                        hostip=192.3.2.200



        SOFTWARE INSTALLATION                                   PAGE 1-8
        CONFIGURATION FILE


#
# If during TCPIP startup you get the error Sreadhosts() error 2,
# you probably have exceeded the memory limits of the machine.
#
#       (1)     reduce the number of machine definitions above
#       (2) or  donot use session logging
#
# Sesion logging and Debugging should not be simultaneously enabled.
#



           The  program  needs  to  know  the  ip address(number) of the
        machine to which it is connecting.  If the TCPIP.CFG  file  does
        not  contain  the  named machines' ip number then it will make a
        request to the specified name server to obtain the  machines  ip
        number.   If  a name server is not specified then the connection
        cannot be made using the machines name (place the machines  name
        and ip address in the configuration file).  If the ip address is
        given as the input to the client program rather  than  the  name
        then a domain name lookup is not required.  


        1.4  INSTALLATION IN DETAIL 


           Complete  the  hardware  installation  as  described  in  the
        chapter titled Hardware Installation.  

           Under RT-11 or TSX-Plus the most convenient installation is: 

        1.  Copy the .SAV files from the distribution disk SMLTCP.DSK to
            SY:  

        2.  Copy the command files from the distribution disk SMLTCP.DSK
            to SY:  
            1.  RT-11 (SJ/SB/FB):  files *.CSM 
            2.  RT-11 (XB/XM/ZB/ZM):  files *.CXM 
            3.  TSX-Plus:  files *.CTM 


        3.  Copy  the configuration file TCPIP.CFG from the distribution
            disk SMLTCP.DSK to SY:.  

        4.  Copy  the  UCL  command  file  from  the  distribution  disk
            SMLTCP.DSK to SY:  
            1.  RT-11 (SJ/SB/FB):  file RTUCL.INS 
            2.  RT-11 (XB/XM/ZB/ZM):  file XMUCL.INS 
            3.  TSX-Plus:  file TSXUCL.INS 




        SOFTWARE INSTALLATION                                   PAGE 1-9
        INSTALLATION IN DETAIL


        5.  Copy the system specific TCPIP.___ file to SY:TCPIP.RUN.  
            1.  RT-11 (SJ/SB/FB):  file TCPIP.RT 
            2.  RT-11 (XB/XM/ZB/ZM):  file TCPIP.XM 
            3.  TSX-Plus:  file TCPIP.TSX 


        6.  Install UCL commands:  
            1.  RT-11 (SJ/SB/FB):  Type '$@RTUCL.INS' 
            2.  RT-11 (XB/XM/ZB/ZM):  Type '$@XMUCL.INS' 
            3.  TSX-Plus:  Installation is in TCPIP.TSX 


        7.  Verify  that  your  system  was  sysgened for timer support,
            device timeout, and no error logging.  If not, then  perform
            a  system  generation or rebuild the device handlers to your
            requirements.  

        8.  Copy and rename the appropriate device handler from the log-
            ical disk DVRDSK.DSK to SY:.  (See  the  chapter  on  device
            handlers  for  more information on selecting the appropriate
            device handler.) 

        9.  Install  the  handler  using the 'install' command or reboot
            the system and verify the handler was installed.  

        10.  Edit  the  file  SY:TCPIP.RUN  to  assign  TCP:,  load  the
            appropriate device handler (RT-11 only) and assign units 0-3
            of the device handler to EN0-3.  

        11.  Edit  the  file  SY:TCPIP.CFG for your configuration.  Your
            machine's name and IP address are required and the  specifi-
            cation of a name server and gateway may be required for your
            network.  

        12.  Type  '$@SY:TCPIP.RUN'  to load the handler.  (You may wish
            to add the line '$@SY:TCPIP.RUN' to your RT-11 startup  com-
            mand file or your TSX-Plus LINEx.TSX file.) 

        13.  Attempt to FTP or Telnet to a local computer using only the
            IP number of that computer.  (verifies connections are  pos-
            sible) 

        14.  Attempt  to  FTP  or  Telnet  to a local computer using the
            computer's name.  The computer's name and  IP  address  must
            not  be  in  the  TCPIP.CFG  file.   (verifies that the name
            server entry is correct) 

        15.  Attempt  to  FTP  or  Telnet to a machine not on your local
            network.  If you use the machine's name then the name server
            must  be working or the machine's name and IP number must be
            in the configurataion file TCPIP.CFG.   (verifies  that  the
            gateway entry is correct) 














                                    CHAPTER 2

                              HARDWARE INSTALLATION





        2.1  Q-BUS SYSTEMS 


           A Q-Bus based RT-11 or TSX-Plus system requires the installa-
        tion of a DEQNA or DELQA communications  controller.   A  system
        memory  of  56K  bytes  for  SJ/SB/FB  systems,  96K  bytes  for
        XB/XM/ZB/ZM systems, and 128K bytes for TSX-Plus systems is  re-
        quired.   The  EQSJ__ and EQSB__ handlers use about 4K bytes in-
        cluding the internal buffers.  The EQ18XM and EQ18.TSX  handlers
        use  about  5.5K  bytes including the internal buffers.  The NQX
        handler uses about 7.5K bytes.  

           Blockmode  memory  is  recommended  for use with the DEQNA or
        DELQA communications controller although not necessary.  

           The  DEQNA or DELQA interface is connected via a bulkhead ca-
        ble assembly (with perhaps an extension ETHERNET transceiver ca-
        ble)  to  a  transceiver  (with  either  a  thick  or  thin wire
        connection).  


        2.2  UNIBUS SYSTEMS 


           A  Unibus based RT-11 or TSX-Plus system requires the instal-
        lation of a DEUNA or DELUA communications controller.  A  system
        memory  of  56K  bytes  for  SJ/SB/FB  systems,  96K  bytes  for
        XB/XM/ZB/ZM systems, and 128K bytes for TSX-Plus systems is  re-
        quired.   The  EUSJ__ and EUSB__ handlers use about 4K bytes in-
        cluding the internal buffers.  The EU18XM and EU18.TSX  handlers
        use  about  5.5K  bytes including the internal buffers.  The NUX
        handler uses about 7.5K bytes.  

           The  DEUNA or DELUA interface is connected via a bulkhead ca-
        ble assembly (with perhaps  an  extension  ETHERNET  transceiver


        HARDWARE INSTALLATION                                   PAGE 2-2
        UNIBUS SYSTEMS


        cable)  to  a  transceiver  (with  either  a  thick or thin wire
        connection).  














                                    CHAPTER 3

                                SYSTEM GENERATION




           The  FTP  and  Telnet  Package for Small Systems is for RT-11
        versions 5.3 and later and TSX-PLus.  This package does not  re-
        quire   a   mapped  monitor.   Device  handlers  supporting  the
        DEQNA/DELQA (EQ and NQ), DEUNA/DELUA (EU and NU), and DECNA (NC)
        are  provided  for  the various devices and processor configura-
        tions.  

           The  selection of the appropriate device handler is dependent
        upon the RT11/TSX-Plus version and processor  configuration.   A
        custom  device  handler  may  be built using the supplied condi-
        tional files.   Options  for  building  the  EQ  and  EU  device
        handlers  include  the number of internal packet buffers, device
        timeout, interrupt processing at FORK level,  mfps/mtps  or  PSW
        processor types, and optional spfun selection.  

           For  small  systems  (i.e.   56K bytes) the EQSB__ and EUSB__
        handlers have been built for only 2 internal packet buffers,  no
        EIS  instructions,  and  only support for spfun 206.  The EQSJ__
        and EUSJ__ handlers add support for spfun 211.  

           For  mapped  RT-11 systems (96K bytes or larger) and TSX-Plus
        systems select the appropriate mapped handler for your system.  


        SYSTEM GENERATION                                       Page 3-2
        


        Summary of prebuilt EQ/EU/NC/NQ/NU
        device drivers and supported systems:


        RT-11 VERSION   [5.3]   [5.4]   [5.5]      [5.6 ...]    TSX
                        -----   -----   -----      ---------    ---
        eqsjms.sys      SJ/FB   SJ/FB   SJ/FB          -         -
        eusjms.sys      SJ/FB   SJ/FB   SJ/FB          -         -
        
        eqsjps.sys      SJ/FB   SJ/FB   SJ/FB          -         -
        eusjps.sys      SJ/FB   SJ/FB   SJ/FB          -         -
        
        eqsbms.sys        -       -       -          SB/FB       -
        eusbms.sys        -       -       -          SB/FB       -
        
        eqsbps.sys        -       -       -          SB/FB       -
        eusbps.sys        -       -       -          SB/FB       -
        
        eq18xm.sys        XM      XM      XM      XB/XM/ZB/ZM    -
        eq22xm.sys        XM      XM      XM      XB/XM/ZB/ZM    -
        
        eu18xm.sys        XM      XM      XM      XB/XM/ZB/ZM    -
        
        ncxv56.sys        -       ?       ?       XB/XM/ZB/ZM    -
        nqxv56.sys        -       ?       ?       XB/XM/ZB/ZM    -
        nuxv56.sys        -       ?       ?       XB/XM/ZB/ZM    -
        
        eq18.v62          -       -       -            -        <= V6.2
        eq22.v62          -       -       -            -        <= V6.2
        
        eu18.v62          -       -       -            -        <= V6.2
        eu22.v62          -       -       -            -        <= V6.2
        
        eq18.tsx          -       -       -            -        >= V6.4
        eq22.tsx          -       -       -            -        >= V6.4
        
        eu18.tsx          -       -       -            -        >= V6.4
        eu22.tsx          -       -       -            -        >= V6.4
        
        
        ____ms.sys      Drivers are for LSI/11 processors not having
                        a processor status word (PSW == @#177776).
        
        ____ps.sys      Drivers are for all processors with a
                        processor status word (PSW == @#177776).
        
        __sj__.sys      Drivers contain special function 211 (abort
                        job i/o) for RT11SJ monitors.


        SYSTEM GENERATION                                       Page 3-3
        


        Summary of prebuilt EQ/EU/NC/NQ/NU
        device driver features:


                           SPFUNS                               DEVICE
                     206  207  210  211    EIS  PSW  UMR  FORK  TIMEOUT
                     ---  ---  ---  ---    ---  ---  ---  ----  -------
        eqsjms.sys    X    -    -    X      -    -    -     X      X
        eusjms.sys    X    -    -    X      -    -    -     X      X
        
        eqsjps.sys    X    -    -    X      -    X    -     X      X
        eusjps.sys    X    -    -    X      -    X    -     X      X
        
        eqsbms.sys    X    -    -    -      -    -    -     X      X 
        eusbms.sys    X    -    -    -      -    -    -     X      X
        
        eqsbps.sys    X    -    -    -      -    X    -     X      X
        eusbps.sys    X    -    -    -      -    X    -     X      X
        
        eq18xm.sys    X    X    X    -      X    X    -     X      X
        eq22xm.sys    X    X    X    -      X    X    -     X      X
        
        eu18xm.sys    X    X    X    -      X    X    -     X      X
        
        ncxv56.sys    X    X    X    -      X    X    -     -      -
        nqxv56.sys    X    X    X    -      X    X    -     -      -
        nuxv56.sys    X    X    X    -      X    X    X     -      -
        
        eq18.v62      X    X    X    -      X    X    -     X      X
        eq22.v62      X    X    X    -      X    X    -     X      X
        
        eu18.v62      X    X    X    -      X    X    -     X      X
        eu22.v62      X    X    X    -      X    X    X     X      X
        
        eq18.tsx      X    X    X    -      X    X    -     X      X
        eq22.tsx      X    X    X    -      X    X    -     X      X
        
        eu18.tsx      X    X    X    -      X    X    -     X      X
        eu22.tsx      X    X    X    -      X    X    X     X      X
        
        
        ____ms.sys      Drivers are for LSI/11 processors not having
                        a processor status word (PSW == @#177776).
        
        ____ps.sys      Drivers are for all processors with a
                        processor status word (PSW == @#177776).
        
        __sj__.sys      Drivers contain special function 211 (abort
                        job i/o) for RT11SJ monitors.














                                    CHAPTER 4

                                 PROGRAM OPTIONS




           These  programs may be run under RT-11 and TSX-Plus.  Use the
        appropriate file, TSXUCL.INS, XMUCL.INS, or RTUCL.INS to  define
        the UCL commands for your particular system.  

           The  program startup options are outlined and typical startup
        command files listed.  


        4.1  FTP 


           The  FTPSB  program  provides  reliable data transfer between
        cooperating computer systems.  The FTP program  startup  options
        are:  

        FTPSB [?] [-ehv] [-f filename] [destination host]
                ?               List this Help Text and Exit FTPSB
                e               Enable Error Message Printing
                f  filename     Configuration File
                h               FTPSB Help List
                v               Verbose Mode Disabled


           The  destination  host  specification may be the host name or
        host ip number.  If the connection is to be made to an alternate
        port then follow the name/ip with the port number (decimal).  

           The FTP program supports the following command line options: 

        ?               print local help information
        ascii           set ascii transfer type
        bell            toggle command completed beep
        binary          set binary transfer type
        cd              change remote working directory
        close           terminate ftp session
        debug           toggle/set debugging mode
        delete          delete remote file


        PROGRAM OPTIONS                                         PAGE 4-2
        FTP


                                - inquires if prompting is on
        dir             list contents of remote directory
        get             receive file
        hash            toggle printing `#' for each
                                1024 bytes transferred
        help            print local help information
        ls              list contents of remote directory
        mkdir           make directory on the remote machine
        netdebug        toggle/set network debugging mode
        open            connect to remote ftp
        passive         enable or disable passive transfer mode
        put             send one file
        pwd             print working directory on remote machine
        quit            terminate ftp session and exit
        quote           send arbitrary ftp command
        recv            receive file
        remotehelp      get help from remote server
        rename          rename remote file
        rm              delete remote file
        rmdir           remove directory on the remote machine
        send            send one file
        sendport        toggle use of PORT cmd for each data connection
        status          show current status
        system          query remote system type
        type            print a remote file to the screen
        user            send new user information
        verbose         toggle verbose mode
        version         FTPSB-11 version displayed



           The  commands  get,  put, and send allow explicit renaming of
        the  files  during  the  transfer  by  specifying  the  optional
        destination file name:  

                get/put/send [source name] [destination name]


        For  RT-11-SJ/SB/FB  the  IND  control  file  FTP.CSM starts the
        program:  

                .sets cmdlin "-h "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
                .open sy:tcpfun.com
                .data run TCP:ftpsb.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        For  RT-11-XB/XM/ZB/ZM  the  IND control file FTP.CXM starts the
        program:  



        PROGRAM OPTIONS                                         PAGE 4-3
        FTP


                .sets cmdlin "-h "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:ftpsb.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        For TSX-Plus the command file FTP.CTM starts the program:  

                run/single TCP:ftpsb.sav
                -h ^1 ^2 ^3 ^4 ^5 ^6


        4.2  TELNET 


           The  TLNTSB  program allows the user to initiate a connection
        to a remote host for a terminal session.   The  startup  options
        for TELNET are:  

        TLNTSB destination [?] [-eh] [-f filename]
                ?               List the Help Text and Exit TLNTSB
                e               Enable Error Message Printing
                f  filename     Configuration File
                h               List the Help Text and Open Connection


           The  destination  host  specification may be the host name or
        host ip number.  If the connection is to be made to an alternate
        port then follow the name/ip with the port number (decimal).  

           The  TLNTSB  program  supports the following command line op-
        tions which are activated by the META character 'control A':  

                M->C    open capture file
                M->D    close capture file
                M->F    FTP [internet address]
                M->H    this help screen
                M->I    type my internet address
                M->K    erase character
                M->O    abort output
                M->Q    are you there?
                M->R    toggle <CR> follow character
                M->S    skip to end of buffer
                M->T    toggle backspace/delete
                M->U    erase line
                M->X    close connection
                M->Y    interrupt process
                M->@    send a true null character
        


        PROGRAM OPTIONS                                         PAGE 4-4
        TELNET


                 ^?      abort Telnet session


        For  RT-11-SJ/SB/FB  the  IND control file TELNET.CSM starts the
        program:  

                .sets cmdlin "-h "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
                .open sy:tcpfun.com
                .data run TCP:tlntsb.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        For RT-11-XB/XM/ZB/ZM the IND control file TELNET.CXM starts the
        program:  

                .sets cmdlin "-h "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:tlntsb.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        For TSX-Plus the command file TELNET.CTM starts the program:  

                run/single TCP:tlntsb.sav
                -h ^1 ^2 ^3 ^4 ^5 ^6


        4.3  CNCT 


           The  CNCTSB  program allows the user to initiate a connection
        to a remote RT-11/TSX-Plus host for a  terminal  session.   This
        program  is  the  TLNTSB program stripped of all TELNET negotia-
        tions and uses a non standard TCP port (27).   The  startup  op-
        tions for CNCTSB are:  

        CNCTSB destination [?] [-eh] [-f filename]
                ?               List the Help Text and Exit CNCTSB
                e               Enable Error Message Printing
                f  filename     Configuration File
                h               List the Help Text and Open Connection


           The  destination  host  specification may be the host name or
        host ip number.  If the connection is to be made to an alternate
        port then follow the name/ip with the port number (decimal).  



        PROGRAM OPTIONS                                         PAGE 4-5
        CNCT


           The  CNCTSB  program  supports the following command line op-
        tions which are activated by the META character 'control A':  

                M->C    open capture file
                M->D    close capture file
                M->F    FTP [internet address]
                M->H    this help screen
                M->I    type my internet address
                M->O    abort output
                M->Q    are you there?
                M->S    skip to end of buffer
                M->X    close connection
                M->Y    interrupt process
        
                 ^?      abort CNCT session


        For  RT-11-SJ/SB/FB  the  IND  control  file CNCT.CSM starts the
        program:  

                .sets cmdlin "-h "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
                .open sy:tcpfun.com
                .data run TCP:cnctsb.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        For  RT-11-XB/XM/ZB/ZM  the IND control file CNCT.CXM starts the
        program:  

                .sets cmdlin "-h "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:cnctsb.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        For TSX-Plus the command file CNCT.CTM starts the program:  

                run/single TCP:cnctsb.sav
                -h ^1 ^2 ^3 ^4 ^5 ^6














                                    CHAPTER 5

                            ETHERNET DEVICE HANDLERS




           The   device  handlers  provide  support  for  the  following
        hardware controllers:  

        1.  DEQNA/DELQA (EQ and NQ Drivers) 

        2.  DEUNA/DELUA (EU and NU Drivers) 

        3.  DECNA (NC Driver) 


           The  Ethernet handlers provide support for one controller and
        a maximum of 8 units numbered 0 through 7.  These  unit  numbers
        are  used  as a logical connection between a user program and an
        address/protocol pair to be recognized by the Ethernet hardware. 

           The NC/NQ/NU device handlers are the DEC handlers modified to
        include special functions 206 (enable/disable frame bufferring),
        207  (get  physical address) and 210 (get handler status block).
        These handlers support only RT11XM V5.6 (and later), NU is coded
        to use the UB.SYS pseudo handler for UNIBUS systems with greater
        than 256K bytes.  The NC/NQ/NU handlers  perform  all  interrupt
        processing  at  IRQ  level (FORK level is never entered), and do
        not internally support device timeout.  

           The  EQ/EU  device  handlers  are logically equivalent to the
        NQ/NU device handlers but were designed with  special  functions
        206  (enable/disable  frame  bufferring),  207 (get physical ad-
        dress), 210 (get handler status block), and 211 (abort job  i/o,
        for  SJ monitors only).  These handlers may be conditionally as-
        sembled to support the RT11 SJ, SB, FB, and  XM  monitors  (ver-
        sions 5.3 and later) not supported by the NQ/NU device handlers. 

           The  EQ  and  EU  handlers may be conditionally assembled for
        Version 6 of the  TSX-Plus  operating  system.   The  22-bit  EU
        handler  requires  a  change in the TSX sysgen file TSGEN.MAC to
        allocate 4 UMR registers to the EU handler.   TSX-Plus  versions
        6.0  through  6.2  require a unique version of the EQ/EU handler


        ETHERNET DEVICE HANDLERS                                Page 5-2
        


        with special functions 300 (get PLAS region size), 301 (initial-
        ize handler with PLAS region base address), and the support pro-
        gram ENPLAS.SAV.  The program ENPLAS.SAV creates the PLAS memory
        region required by the handler.  


        ETHERNET DEVICE HANDLERS                                Page 5-3
        


        5.1  DEVICE HANDLER SYSTEM SUMMARY 

        Summary of prebuilt EQ/EU/NC/NQ/NU
        device drivers and supported systems:


        RT-11 VERSION   [5.3]   [5.4]   [5.5]      [5.6 ...]    TSX
                        -----   -----   -----      ---------    ---
        eqsjms.sys      SJ/FB   SJ/FB   SJ/FB          -         -
        eusjms.sys      SJ/FB   SJ/FB   SJ/FB          -         -
        
        eqsjps.sys      SJ/FB   SJ/FB   SJ/FB          -         -
        eusjps.sys      SJ/FB   SJ/FB   SJ/FB          -         -
        
        eqsbms.sys        -       -       -          SB/FB       -
        eusbms.sys        -       -       -          SB/FB       -
        
        eqsbps.sys        -       -       -          SB/FB       -
        eusbps.sys        -       -       -          SB/FB       -
        
        eq18xm.sys        XM      XM      XM      XB/XM/ZB/ZM    -
        eq22xm.sys        XM      XM      XM      XB/XM/ZB/ZM    -
        
        eu18xm.sys        XM      XM      XM      XB/XM/ZB/ZM    -
        
        ncxv56.sys        -       ?       ?       XB/XM/ZB/ZM    -
        nqxv56.sys        -       ?       ?       XB/XM/ZB/ZM    -
        nuxv56.sys        -       ?       ?       XB/XM/ZB/ZM    -
        
        eq18.v62          -       -       -            -        <= V6.2
        eq22.v62          -       -       -            -        <= V6.2
        
        eu18.v62          -       -       -            -        <= V6.2
        eu22.v62          -       -       -            -        <= V6.2
        
        eq18.tsx          -       -       -            -        >= V6.4
        eq22.tsx          -       -       -            -        >= V6.4
        
        eu18.tsx          -       -       -            -        >= V6.4
        eu22.tsx          -       -       -            -        >= V6.4
        
        
        ____ms.sys      Drivers are for LSI/11 processors not having
                        a processor status word (PSW == @#177776).
        
        ____ps.sys      Drivers are for all processors with a
                        processor status word (PSW == @#177776).
        
        __sj__.sys      Drivers contain special function 211 (abort
                        job i/o) for RT11SJ monitors.


        ETHERNET DEVICE HANDLERS                                PAGE 5-4
        DEVICE HANDLER SYSTEM SUMMARY


        5.2  DEVICE HANDLER FEATURE SUMMARY 

        Summary of prebuilt EQ/EU/NC/NQ/NU
        device driver features:


                           SPFUNS                               DEVICE
                     206  207  210  211    EIS  PSW  UMR  FORK  TIMEOUT
                     ---  ---  ---  ---    ---  ---  ---  ----  -------
        eqsjms.sys    X    -    -    X      -    -    -     X      X
        eusjms.sys    X    -    -    X      -    -    -     X      X
        
        eqsjps.sys    X    -    -    X      -    X    -     X      X
        eusjps.sys    X    -    -    X      -    X    -     X      X
        
        eqsbms.sys    X    -    -    -      -    -    -     X      X 
        eusbms.sys    X    -    -    -      -    -    -     X      X
        
        eqsbps.sys    X    -    -    -      -    X    -     X      X
        eusbps.sys    X    -    -    -      -    X    -     X      X
        
        eq18xm.sys    X    X    X    -      X    X    -     X      X
        eq22xm.sys    X    X    X    -      X    X    -     X      X
        
        eu18xm.sys    X    X    X    -      X    X    -     X      X
        
        ncxv56.sys    X    X    X    -      X    X    -     -      -
        nqxv56.sys    X    X    X    -      X    X    -     -      -
        nuxv56.sys    X    X    X    -      X    X    X     -      -
        
        eq18.v62      X    X    X    -      X    X    -     X      X
        eq22.v62      X    X    X    -      X    X    -     X      X
        
        eu18.v62      X    X    X    -      X    X    -     X      X
        eu22.v62      X    X    X    -      X    X    X     X      X
        
        eq18.tsx      X    X    X    -      X    X    -     X      X
        eq22.tsx      X    X    X    -      X    X    -     X      X
        
        eu18.tsx      X    X    X    -      X    X    -     X      X
        eu22.tsx      X    X    X    -      X    X    X     X      X
        
        
        ____ms.sys      Drivers are for LSI/11 processors not having
                        a processor status word (PSW == @#177776).
        
        ____ps.sys      Drivers are for all processors with a
                        processor status word (PSW == @#177776).
        
        __sj__.sys      Drivers contain special function 211 (abort
                        job i/o) for RT11SJ monitors.


        ETHERNET DEVICE HANDLERS                                PAGE 5-5
        DEVICE HANDLER FEATURE SUMMARY


        5.3  PROGRAMMING 


           Programs that call the Ethernet handler must follow a certain
        order.  Write such programs with the following elements  in  the
        order indicated.  

        1.  Use  the .LOOKUP programmed request to open a channel to the
            device unit.  

        2.  Allocate the unit using SPFUN 200.  

        3.  Perform the Ethernet operation(s).  

        4.  Deallocate the unit using SPFUN 200.  

        5.  Use  the  .CLOSE  programmed request to close the channel to
            the specified device unit.  





                                      NOTE

             Special functions 207 (get physical address), 210 (get
             handler status block), and 211 (abort job i/o) do  not
             require device allocation.  




        5.4  USE OF SPECIAL FUNCTIONS (.SPFUN) 


           The  EQ/EU/NC/NQ/NU  Ethernet  handlers  operate the Ethernet
        controllers using the .SPFUN programmed request with the follow-
        ing function codes:  



        ETHERNET DEVICE HANDLERS                                PAGE 5-6
        USE OF SPECIAL FUNCTIONS (.SPFUN)


                Function                        Code
                --------                        ----
                Allocate unit                   200
                Deallocate unit                 200
        
                Enable Promiscuous Mode         201
                Disable Promiscuous Mode        201
        
                Enable protocol type            202
                Disable protocol type           202
        
                Enable multicast address        203
                Disable multicast address       203
        
                Transmit Ethernet frame         204
        
                Receive Ethernet frame          205
        
                Enable frame bufferring         206
                Disable frame bufferring        206
        
                Get physical address            207
        
                Get handler status block        210
        
                Abort Job I/O                   211


        Successful  completion of a .SPFUN request clears the carry bit.
        Completion with an error sets the carry bit, and the status word
        in the buffer contains an error code.  


        5.4.1  Unit Specification (.SPFUN 200) 


           The  allocate  unit  special  function allocates a unit for a
        job's exclusive use.  

           The deallocate unit special function deallocates a unit so it
        can be used by another job.  




        ETHERNET DEVICE HANDLERS                                PAGE 5-7
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        5.4.1.1  Allocate Unit  - 

           The  following  is  the form of the special function allocate
        unit (.SPFUN 200):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 200
        
                buf     is the address of a 4-word buffer
                        containing the status word and space
                        for the station's physical address.
                        The buffer contents are returned by
                        the allocate unit special function.
        
                        The high byte of the status word contains a 0.
                        Allocate unit returns one of the following
                        octal status codes in the low byte of the
                        status word:
        
                        0  Success
        
                        2  Controller error while attempting to
                           initialize the network interface
        
                        3  No resources (unit in use)
        
                        11 Reserved
        
                wcnt    is 0
        
                blkn    is 1
        
                crtn    is the entry point of a completion routine




        ETHERNET DEVICE HANDLERS                                PAGE 5-8
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        5.4.1.2  Deallocate Unit  - 

           The  following is the form of the special function deallocate
        unit (.SPFUN 200):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 200
        
                buf     is the address of a 1-word buffer
                        containing the status word.
        
                        The high byte of the status word contains a 0.
                        Deallocate unit returns one of the following
                        octal status codes in the low byte of the
                        status word:
        
                        0  Success
        
                        1  Unknown unit. The specified unit was not
                           opened by the job issueing the request.
        
                        2  Controller error while attempting to
                           initialize the network interface
        
                        11 Unit still active
        
                wcnt    is 0
        
                blkn    is 0
        
                crtn    is the entry point of a completion routine




        ETHERNET DEVICE HANDLERS                                PAGE 5-9
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        5.4.2  Promiscuous Mode (.SPFUN 201) 


           The  enable  promiscuous  mode  special  function enables the
        Ethernet hardware to receive all network traffic  regardless  of
        address  or  protocol.  Any read request to the handler will re-
        turn the first available packet received by the  controller  in-
        terface.  

           The disable promiscuous mode special function enables the ad-
        dress/protocol filtering provided by the Ethernet  hardware  and
        enables the specified protocol.  


        5.4.2.1  Enable Promiscuous Mode  - 

           The  following  is  the  form  of the special function enable
        promiscuous mode (.SPFUN 201):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 201
        
                buf     is the address of a 1-word buffer
                        containing the status word.
        
                        The high byte of the status word contains a 0.
                        Enable promiscuous mode returns one of the
                        following octal status codes in the low byte
                        of the status word:
        
                        0  Success
        
                        6  address/protocol active
        
                wcnt    is 0
        
                blkn    is 1
        
                crtn    is the entry point of a completion routine




        ETHERNET DEVICE HANDLERS                               PAGE 5-10
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        5.4.2.2  Disable Promiscuous Mode  - 

           The  following  is  the  form of the special function disable
        promiscuous  mode  (which  performs  an  enable  protocol  type)
        (.SPFUN 201):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 201
        
                buf     is the address of a 2-word buffer that
                        contains the status word, followed by
                        the 1-word protocol type that is to be
                        enabled when the promiscuous mode is
                        disabled.
        
                        The high byte of the status word contains a 0.
                        The disable promiscuous mode returns one of the
                        following octal status codes in the low byte
                        of the status word:
        
                        0  Success
        
                        1  Unknown unit. The specified unit was not
                           opened by the job issueing the request.
        
                        2  Controller error while attempting to
                           initialize the network interface
        
                        3  Reserved
        
                        6  Reserved
        
                        10 Protocol type in use
        
                wcnt    is 0
        
                blkn    is 0
        
                crtn    is the entry point of a completion routine




        ETHERNET DEVICE HANDLERS                               PAGE 5-11
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        5.4.3  Protocol Type (.SPFUN 202) 


           The  enable  protocol  type  special function adds a protocol
        type to those to be recognized by the Ethernet controller.  Only
        one  protocol type can be specified for each unit.  At least one
        protocol type must be enabled to receive Ethernet frames.  

           The  disable  protocol type special function removes the pro-
        tocol type from the list of those  recognized  by  the  Ethernet
        controller.  


        5.4.3.1  Enable Protocol Type  - 

           The following is the form of the special function enable pro-
        tocol type (.SPFUN 202):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 202
        
                buf     is the address of a 2-word buffer
                        that contains the status word followed
                        by the protocol type word.
        
                        The high byte of the status word contains a 0.
                        Enable protocol type returns one of the
                        following octal status codes in the low byte
                        of the status word:
        
                        0  Success
        
                        1  Unknown unit. The specified unit was
                           not opened by the job issuing the
                           request
        
                        2  Controller error while attempting to
                           initialize the network interface
        
                        3  No resources (unit's protocol table full)
        
                        6  Reserved
        


        ETHERNET DEVICE HANDLERS                               PAGE 5-12
        USE OF SPECIAL FUNCTIONS (.SPFUN)


                        10 Protocol type in use
        
                        The protocol type is specified by the user
        
                wcnt    is 0
        
                blkn    is 1
        
                crtn    is the entry point of a completion routine


        5.4.3.2  Disable Protocol Type  - 

           The  following  is  the  form of the special function disable
        protocol type (.SPFUN 202):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 202
        
                buf     is the address of a 2-word buffer
                        that contains the status word followed
                        by the protocol type word.
        
                        The high byte of the status word contains a 0.
                        Disable protocol type returns one of the
                        following octal status codes in the low byte
                        of the status word:
        
                        0  Success
        
                        1  Unknown unit. The specified unit was
                           not opened by the job issuing the
                           request
        
                        2  Controller error while attempting to
                           initialize the network interface
        
                        If the disabled protocol type is not the
                        same as the enabled protocol type for this
                        unit then 'success' is returned.
        
                wcnt    is 0
        


        ETHERNET DEVICE HANDLERS                               PAGE 5-13
        USE OF SPECIAL FUNCTIONS (.SPFUN)


                blkn    is 0
        
                crtn    is the entry point of a completion routine


        5.4.4  Multicast Address (.SPFUN 203) 


           The enable multicast address special function adds the multi-
        cast address to those recognized  by  the  Ethernet  controller.
        Ypu  need  not specify the unit's physical or broadcast address.
        Only one multicast address is allowed per handler unit.  

           The  disable  multicast  address special function removes the
        multicast address from those to be recognized  by  the  Ethernet
        controller.  


        5.4.4.1  Enable Multicast Address  - 

           The following is the form of the special function enable mul-
        ticast address (.SPFUN 203):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 203
        
                buf     is the address of a 4-word buffer
                        that contains the status word, followed
                        by the 3-word multicast address. The
                        low order bit of the first address
                        word should be a 1.
        
                        The high byte of the status word contains a 0.
                        Enable multicast address returns one of the
                        following octal status codes in the low byte
                        of the status word:
        
                        0  Success
        
                        1  Unknown unit. The specified unit was not
                           opened by the job issueing the request.
        
                        2  Controller error while attempting to


        ETHERNET DEVICE HANDLERS                               PAGE 5-14
        USE OF SPECIAL FUNCTIONS (.SPFUN)


                           initialize the network interface
        
                        3  No resources (unit's address table is full,
                           or hardware address table full)
        
                wcnt    is 0
        
                blkn    is 1
        
                crtn    is the entry point of a completion routine


        5.4.4.2  Disable Multicast Address  - 

           The  following  is  the  form of the special function disable
        multicast address (.SPFUN 203):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 203
        
                buf     is the address of a 4-word buffer
                        that contains the status word, followed
                        by the 3-word multicast address. The
                        low order bit of the first address
                        word should be a 1.
        
                        The high byte of the status word contains a 0.
                        Disable multicast address returns one of the
                        following octal status codes in the low byte
                        of the status word:
        
                        0  Success
        
                        1  Unknown unit. The specified unit was not
                           opened by the job issueing the request.
        
                        2  Controller error while attempting to
                           initialize the network interface
        
                        If the disabled multicast address is not the
                        same as the enabled multicast address for this
                        unit then 'success' is returned.
        


        ETHERNET DEVICE HANDLERS                               PAGE 5-15
        USE OF SPECIAL FUNCTIONS (.SPFUN)


                wcnt    is 0
        
                blkn    is 0
        
                crtn    is the entry point of a completion routine


        5.4.5  Transmit Ethernet Frame (.SPFUN 204) 


           The  special  function  transmit Ethernet frame transmits the
        Ethernet frame pointed to in the buf argument.   If  the  source
        field  of  the  frame  is not zero, it is kept and used.  If the
        source field of the frame is zero, the controllers physical  ad-
        dress is inserted in the source field before transmission.  

           The  following  is  the form of the special function transmit
        Ethernet frame (.SPFUN 204):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 204
        
                buf     is the address of a variable size buffer
                        containing the status word, followed by
                        the Ethernet packet to be transmitted.
                        The first word following the status word
                        is reserved. Next is the 3-word destination
                        address field followed by the 3-word
                        source address field. The next word is the
                        packet protocol type. Following this is the
                        variable length packet containing from 23 to
                        750 words. 
        
                        The transmit Ethernet frame returns one of the
                        following octal status codes in the low byte
                        of the status word:
        
                        0  Success
        
                        1  Unknown unit. The specified unit was not
                           opened by the job issueing the request.
        
                        2  Controller error while attempting to


        ETHERNET DEVICE HANDLERS                               PAGE 5-16
        USE OF SPECIAL FUNCTIONS (.SPFUN)


                           initialize the network interface
        
                        13 Transmit failed
        
                        When status code 13 is returned in the low byte
                        of the status word, transmit Ethernet frame
                        returns one of the following octal status codes
                        in the high byte of the status word:
        
                        1  Invalid frame length
        
                        2  Excessive collisions
        
                        3  Carrier check failed
        
                wcnt    is determined by the variable size of the user
                        buffer (including the status word and reserved
                        word). The packet size (including the status
                        word and reserved word) can vary between 32
                        and 759 words.
        
                blkn    is 0
        
                crtn    is the entry point of a completion routine


        5.4.6  Receive Ethernet Frame (.SPFUN 205) 


           The  receive Ethernet frame special function returns the next
        Ethernet packet with the desired unit address and protocol  type
        to  the  buffer.   The  function does not return Ethernet frames
        that are received with errors.  

           The  following  is  the  form of the special function receive
        Ethernet frame (.SPFUN 205):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 205
        
                buf     is the address of a variable size buffer
                        containing the status word, a word
                        containing the frame size, and followed by


        ETHERNET DEVICE HANDLERS                               PAGE 5-17
        USE OF SPECIAL FUNCTIONS (.SPFUN)


                        upto 757 words to receive the Ethernet
                        frame. The buffer contents are returned
                        by the receive Ethernet frame function.
        
                        The high byte of the status word contains a 0.
                        The receive Ethernet frame special function
                        returns one of the following octal status
                        codes in the low byte of the status word:
        
                        0  Success
        
                        1  Unknown unit. The specified unit was not
                           opened by the job issueing the request.
        
                        2  Controller error while attempting to
                           initialize the network interface
        
                wcnt    is the size of the user buffer including
                        the status and frame size words
        
                blkn    is 0
        
                crtn    is the entry point of a completion routine


        5.4.7  Frame Queueing (.SPFUN 206) 


           The   Enable  frame  queueing  special  function  allows  the
        handlers to internally queue received  packets  that  match  any
        enabled  address/protocol  even though a receive request has not
        been issued for that address/protocol or a previous  packet  has
        not been processed.  The EQ handler normally allocates space for
        internally queueing upto 20 packets (this may be changed by mod-
        ifying  'rbcnt'  in  EQ.MAC and rebuilding the EQ handler).  The
        22-bit EU handler normally allocates space for internally queue-
        ing  10  packets and the 18-bit EU handler allocates space for 2
        packets (this may be changed by modifying 'rbcnt' in EU.MAC  and
        rebuilding the EU handlers).  

           The  disable frame queueing special function disables the in-
        ternal queueing of packets.  This function may only be issued if
        all address/protocol pairs have been disabled.  




        ETHERNET DEVICE HANDLERS                               PAGE 5-18
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        5.4.7.1  Enable Frame Queueing  - 

           The  following  is  the  form  of the special function enable
        frame queueing (.SPFUN 206):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 206
        
                buf     is the address of a 1-word buffer
                        for the returned status word which
                        is always 0
        
                wcnt    is 0
        
                blkn    is 1
        
                crtn    is the entry point of a completion routine


        5.4.7.2  Disable Frame Queueing  - 

           The  following  is  the  form of the special function disable
        frame queueing (.SPFUN 206):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 206
        
                buf     is the address of a 1-word buffer
                        containing the status word.
        
                        The high byte of the status word contains a 0.
                        Disable frame queueing returns one of the
                        following octal status codes in the low byte
                        of the status word:


        ETHERNET DEVICE HANDLERS                               PAGE 5-19
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        
                        0  Success
        
                        6  address/protocol active
        
                wcnt    is 0
        
                blkn    is 0
        
                crtn    is the entry point of a completion routine


        5.4.8  Get Ethernet Address (.SPFUN 207) 


           The  get Ethernet address special function returns the physi-
        cal address of the Ethernet controller card.  

           The  following  is  the  form  of  the  special  function get
        Ethernet address (.SPFUN 207):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 207
        
                buf     is the address of a 4-word buffer
                        in which the status word, which is
                        always 0, and the six byte physical
                        Ethernet address are returned.
        
                wcnt    is 0
        
                blkn    is 0
        
                crtn    is the entry point of a completion routine




        ETHERNET DEVICE HANDLERS                               PAGE 5-20
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        5.4.9  Get Ethernet Status Block (.SPFUN 210) 


           The  get  Ethernet  status block special function returns the
        handler's internal parameter block.  The  information  contained
        in  the  parameter block includes the number of packets received
        and transmitted for each EQ/EU unit as well as timeout  informa-
        tion.  

           The  following  is  the  form  of  the  special  function get
        Ethernet status block (.SPFUN 210):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 210
        
                buf     is the address of a buffer into which
                        wcnt words are written from the
                        EQ/EU handlers status block.
        
                wcnt    is the number of words to return
                        to the buffer.  The status word
                        must be included in the word count.
        
                blkn    is 0
        
                crtn    is the entry point of a completion routine

        The complete list of parameters in the status block may be found
        in the EQ/EU Ethernet handler files EQ.MAC, EU.MAC, and  EI.MAC.
        The first word is always a status word of value 0, the following
        4-byte (long integer) parameters are:  

                eiipkt          total receiver interrupts
                eiopkt          total transmitter interrupts
                eirtmo          total receive timeouts
                eixtmo          total transmit timeouts
        
                eirun[8]        received packets for each unit
                eixun[8]        transmitted packets for each unit

           These  are  the  only  parameters  used by any program in the
        'TCP/IP Package for TSX-Plus' or 'TCP/IP Package for RT-11'.  



        ETHERNET DEVICE HANDLERS                               PAGE 5-21
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        5.4.10  Abort Job I/O (.SPFUN 211) 


           The abort job i/o special function is conditionally assembled
        into drivers for the RT11SJ  monitors.   The  SJ  monitor  never
        calls the abort entry point in the device handler (either from a
        .ABTIO request or at job termination) this means that the inter-
        nally  queued  i/o  requests will never complete and the monitor
        will lock waiting for the i/o to complete.  This  special  func-
        tion  calls the abort entry point clearing all internally queued
        elements associated with the current job.  

           The  following  is the form of the special function Abort Job
        I/O (.SPFUN 211):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 211
        
                buf     is not used
        
                wcnt    is not used
        
                blkn    is not used
        
                crtn    is the entry point of a completion routine


        5.5  HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2 


           The  EQ and EU Ethernet handlers configured for TSX-Plus ver-
        sions 6.0 through 6.2 have these  additional  .SPFUN  programmed
        requests:  

                Function                        Code
                --------                        ----
                Get PLAS Allocation Size        300
        
                Initialize Handler              301


        Successful  completion of a .SPFUN request clears the carry bit.
        Completion with an error sets the carry bit  without  any  error


        ETHERNET DEVICE HANDLERS                               PAGE 5-22
        HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2


        code.  


        5.5.1  Get PLAS Allocation Size (.SPFUN 300) 


           The  following  is  the form of the special function Get PLAS
        Alocation Size (.SPFUN 300):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 300
        
                buf     handler returns the requested allocation
                        size, in 32. word increments, in the
                        first word of the buffer
        
                wcnt    is not used
        
                blkn    is not used
        
                crtn    is the entry point of a completion routine


        5.5.2  Initialize Handler (.SPFUN 301) 


           The  following is the form of the special function Initialize
        Handler (.SPFUN 301):  

        Macro Call:
                .SPFUN  area,chan,func,buf,wcnt,blkn,[crtn]
        
        where:
        
                area    is address of 6-word EMT argument block
        
                chan    is a channel number in the range
                        0 to 376 (octal)
        
                func    is 301
        
                buf     the address of buf is the PLAS base address
        


        ETHERNET DEVICE HANDLERS                               PAGE 5-23
        HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2


                wcnt    is not used
        
                blkn    is not used
        
                crtn    is the entry point of a completion routine

           Attempting  to  reinitialize the handler or to initialize the
        handler with a PLAS base address of 0 will be reported as an er-
        ror by setting the carry bit.  


        5.5.3  ENPLAS.SAV - Allocating the PLAS Region 


           The program ENPLAS.SAV is a support program which creates the
        PLAS buffer required by the TSX-Plus V6.0 through V6.2 EQ and EU
        device  handlers.  The program uses .spfun 300 to get the buffer
        size, creates the PLAS region, uses .spfun 301  to  handoff  the
        PLAS region's Base Address to the device handler and to initial-
        ize the handler.  This program must run  before  the  EQ  or  EU
        device handler can be used.  

           The device EN0:  must be assigned before running ENPLAS.SAV. 

                ASSIGN EU0: EN0:        or
                ASSIGN EQ0: EN0:
        
                R ENPLAS.SAV


           The  device  handler requires only a single initialization to
        be used by the TCPIP.SAV server or the small system client  pro-
        grams.  














                                    CHAPTER 6

                       BUILDING THE FTP AND TELNET PACKAGE




           The  package  can  only  be built under RT-11-XM or TSX-Plus.
        There is insufficient space to compile several of the components
        under the SJ/SB/FB monitors.  


        6.1  C COMPILER 


           The DECUS C Compiler and Assembler and the RT-11 Macro Assem-
        bler and Linker are required to build the the TCP/IP Package for
        RT-11  from  the source files included in the distribution.  The
        DECUS C Compiler is from the DECUS  11-SP-18  distribution  with
        bug  fixes  made  to the compiler and the library.  (The updates
        are on logical disk CCDSK2.DSK).  EIS and  non-EIS  versions  of
        the compiler along with the assembler, library, and the necesary
        header files are included with the  distribution  to  allow  the
        package to be recompiled.  


        6.1.1  Building under RT-11 


        1.  Create CDISK.DSK[1500] as C:, 
            a logical disk for the C compiler 

        2.  Copy the contents of the logical disk CCDSK1.DSK to C:.  The
            device containing the compiler, assembler and  header  files
            should  be  assigned as device C:.  The build procedures as-
            sume that the compiler and header files are on  the  logical
            device 'C:'.  

        3.  Copy  the compiler helper files from logical disk CCXDSK.DSK
            to C:.  

        4.  Use  the  command  file  C:CCSET.NIS  to  copy  the  non-EIS
            specific files into the C:  directory with  the  appropriate
            .SAV and .OBJ file types.  


        BUILDING THE FTP AND TELNET PACKAGE                     PAGE 6-2
        C COMPILER


        5.  UCL CC and ASM commands.  
            1.  For  RT-11-XM  V5.3  use file C:CCXASM.V53 to create the
                UCL commands to invoke CC and ASM.  
            2.  For  RT-11-XM  V5.6 (and later) use file C:CCXASM.V56 to
                create the UCL commands to invoke CC and ASM.  




        6.1.2  Building under TSX-Plus 


        1.  Create CDISK.DSK[1500] as C:, 
            a logical disk for the C compiler 

        2.  Copy the contents of the logical disk CCDSK1.DSK to C:.  The
            device containing the compiler, assembler and  header  files
            should  be  assigned as device C:.  The build procedures as-
            sume that the compiler and header files are on  the  logical
            device 'C:'.  

        3.  Copy  the compiler helper files from logical disk CCXDSK.DSK
            to C:.  

        4.  Use  the  command  file  C:CCSET.NIS  to  copy  the  non-EIS
            specific files into the C:  directory with  the  appropriate
            .SAV and .OBJ file types.  

        5.  Copy  the command files C:CC.TSX and C:ASM.TSX as CC.COM and
            ASM.COM to the system device.  These TSX-Plus command  files
            are used to invoke the C compiler and AS assembler.  



        6.2  FTP AND TELNET PACKAGE 


           The  FTP  and  Telnet  Package  is supplied with the complete
        source code as an assemblage  of  C  files  (*.c),  macro  files
        (*.mac),  header files (*.h), and an assortment of command files
        (*.com).  

        1.  Copy  the  logical disk SSDSK1.DSK to a disk or logical disk
            having at least 3000 blocks of free space.  

        2.  The  command  file BLDALL.COM will compile and link the com-
            plete FTP and Telnet Package.  Inspect BLDALL.COM to see how
            each  individual component is built.  An unloaded 11/73 pro-
            cessor will take from 10 to 15 minutes to compile  and  link
            the complete package.  




        BUILDING THE FTP AND TELNET PACKAGE                     PAGE 6-3
        COMPILING OPTIONS


        6.3  COMPILING OPTIONS 


           The FTP and Telnet Package components may be compiled with or
        without the diagnostic options (the default is no  diagnostics).
        Each component has an individual header file, e.g.  VFTPSB.H for
        FTPSB.SAV, which contains define statements that have been  com-
        mented  out  to exclude the diagnostics.  FTP or Telnet with the
        diagnostics will be too large to run under the  SJ,  SB,  or  FB
        monitors.  














                                    CHAPTER 7

                               DISTRIBUTION DISKS




           The  "TCP/IP  Package  for TSX-Plus", the "TCP/IP Package for
        RT-11", and the "FTP and Telnet Package for Small  Systems"  are
        distributed  as  a  combined  package  of 21 RX02 logical floppy
        disks:  

        1.  TSDSK1    TCP/IP Package for TSX-Plus 
        2.  TSDSK2      Executables for TSX-Plus Systems.  
        3.  TSDSK3      (EQ/EU Device Driver Required) 

        4.  RTDSK1    TCP/IP Package for RT-11 
        5.  RTDSK2      Executables for RT-11 Mapped Systems.  
        6.  RTDSK3      (EQ/EU/NC/NQ/NU Device Driver Required) 

        7.  SRDSK1    TCP/IP Package Sources 
        8.  SRDSK2      All source code files for:  
        9.  SRDSK3            TCP/IP Package for TSX-Plus 
        10.  SRDSK4            TCP/IP Package for RT-11 

        11.  SMLTCP    Small System Package Executables 
                        (EQ/EU/NC/NQ/NU Device Driver Required) 

        12.  SSDSK1    Small System Package Sources 

        13.  DVRDSK    EQ/EU/NC/NQ/NU Device Drivers 

        14.  CCDSK1    DECUS C Compiler, Assembler, and Libraries.  
        15.  CCDSK2    DECUS C Source Changes 

        16.  CCXDSK    Compiler helper files for mapped 
                      RT-11 systems.  

        17.  DOCDSK    Package Documentation 
        18.  RNODSK    Package Documentation in RNO Format 

        19.  RTHTML    RT-11 Docs in HTML Format 
        20.  TSHTML    TSX-Plus Docs in HTML Format 


        DISTRIBUTION DISKS                                      Page 7-2
        


        21.  SSHTML    Small System Docs in HTML Format 


Return to TCP/IP Documentation Index

... Home Page