TCP/IP Package for RT-11 Documentation



                                 TCP/IP Package


                                       for


                                      RT-11




                            Version 2.40, 15-Jun-2008


        CHAPTER 1  SOFTWARE INSTALLATION                             1-1 
          1.1     INSTALLATION CONFIGURATIONS                        1-1 
          1.1.1     Install All Files on System Device               1-2 
          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     INSTALLATION IN DETAIL                             1-6 

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

        CHAPTER 3  RT-11 SYSTEM GENERATION                           3-1 
          3.1     DEVICE HANDLER SUMMARY                             3-2 

        CHAPTER 4  CONFIGURING RT-11 FOR REMOTE LOGIN                4-1 

        CHAPTER 5  PROGRAM OPTIONS                                   5-1 
          5.1     TCPIP                                              5-1 
          5.2     SKTMON                                             5-8 
          5.3     PASSWORD SETUP                                     5-9 
          5.4     TELNET                                            5-10 
          5.5     RTELNT                                            5-11 
          5.6     RPTLNT                                            5-12 
          5.7     CNCT                                              5-14 
          5.8     RCNCT                                             5-15 
          5.9     RPCNCT                                            5-16 
          5.10    FTP                                               5-18 
          5.11    FTPL                                              5-20 
          5.12    RFTP                                              5-22 
          5.13    MAIL                                              5-24 
          5.14    MMAIL                                             5-26 
          5.15    RPOP3                                             5-28 
          5.16    MAILER                                            5-29 
          5.17    RSMTP                                             5-31 
          5.18    RAUTH                                             5-32 
          5.19    LLPQRM                                            5-34 
          5.19.1    LLPC                                            5-35 
          5.19.2    LLPQ                                            5-35 
          5.19.3    LLPR                                            5-35 
          5.19.4    LLPRM                                           5-36 
          5.20    RLPD                                              5-36 
          5.21    LPRINT                                            5-37 
          5.22    LPQRM                                             5-39 
          5.22.1    LPC                                             5-41 
          5.22.2    LPQ                                             5-41 
          5.22.3    LPR                                             5-41 
          5.22.4    LPRM                                            5-41 
          5.23    NTSND                                             5-42 
          5.24    RHTTP                                             5-42 
          5.25    RGOPH                                             5-44 
          5.26    PMON                                              5-49 
          5.27    UTIL                                              5-50 
          5.27.1    LCD                                             5-50 
          5.27.2    LDEL                                            5-51 


                                                                 Page ii
        


          5.27.3    LDIR                                            5-51 
          5.27.4    LLS                                             5-51 
          5.27.5    LMKDIR                                          5-52 
          5.27.6    LPRO                                            5-52 
          5.27.7    LRENAM                                          5-52 
          5.27.8    LRMDIR                                          5-53 
          5.27.9    LUNP                                            5-53 
          5.28    LDISKS                                            5-53 
          5.29    ABRTCP                                            5-53 
          5.30    ABRTJB                                            5-54 

        CHAPTER 6  ETHERNET DEVICE HANDLERS                          6-1 
          6.1     DEVICE HANDLER SYSTEM SUMMARY                      6-3 
          6.2     DEVICE HANDLER FEATURE SUMMARY                     6-4 
          6.3     ALTERNATE DEUNA DEVICE HANDLERS                    6-5 
          6.4     PROGRAMMING                                        6-6 
          6.5     USE OF SPECIAL FUNCTIONS (.SPFUN)                  6-6 
          6.5.1     Unit Specification (.SPFUN 200)                  6-7 
          6.5.1.1     Allocate Unit                                  6-8 
          6.5.1.2     Deallocate Unit                                6-9 
          6.5.2     Promiscuous Mode (.SPFUN 201)                   6-10 
          6.5.2.1     Enable Promiscuous Mode                       6-10 
          6.5.2.2     Disable Promiscuous Mode                      6-11 
          6.5.3     Protocol Type (.SPFUN 202)                      6-12 
          6.5.3.1     Enable Protocol Type                          6-12 
          6.5.3.2     Disable Protocol Type                         6-13 
          6.5.4     Multicast Address (.SPFUN 203)                  6-14 
          6.5.4.1     Enable Multicast Address                      6-14 
          6.5.4.2     Disable Multicast Address                     6-15 
          6.5.5     Transmit Ethernet Frame (.SPFUN 204)            6-16 
          6.5.6     Receive Ethernet Frame (.SPFUN 205)             6-17 
          6.5.7     Frame Queueing (.SPFUN 206)                     6-18 
          6.5.7.1     Enable Frame Queueing                         6-19 
          6.5.7.2     Disable Frame Queueing                        6-19 
          6.5.8     Get Ethernet Address (.SPFUN 207)               6-20 
          6.5.9     Get Ethernet Status Block (.SPFUN 210)          6-21 
          6.5.10    Abort Job I/O (.SPFUN 211)                      6-22 
          6.5.11    Timeout / Reset (.SPFUN 212)                    6-22 
          6.5.11.1    Receive Timeout / Reset                       6-23 
          6.5.11.2    Transmit Timeout / Reset                      6-23 
          6.6     HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2           6-24 
          6.6.1     Get PLAS Allocation Size (.SPFUN 300)           6-24 
          6.6.2     Initialize Handler (.SPFUN 301)                 6-25 
          6.6.3     ENPLAS.SAV - Allocating the PLAS Region         6-25 

        CHAPTER 7  BUILDING THE TCP/IP PACKAGE                       7-1 
          7.1     C COMPILER                                         7-1 
          7.2     TCP/IP PACKAGE                                     7-2 
          7.3     COMPILING OPTIONS                                  7-2 

        CHAPTER 8  DISTRIBUTION DISKS                                8-1 



                                                                Page iii
        


        APPENDIX A  HIDDEN OPTIONS                                   A-1 
          A.1     DISABLE PASSWORD                                   A-1 

        APPENDIX B  TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG   B-1 
          B.1     VERSION 2.40                                       B-2 
          B.2     VERSION 2.39                                       B-4 
          B.3     VERSION 2.38                                       B-5 
          B.4     VERSION 2.37                                       B-6 
          B.5     VERSION 2.36                                       B-7 
          B.6     VERSION 2.35                                       B-7 
          B.7     VERSION 2.34                                       B-8 
          B.8     VERSION 2.33                                       B-9 
          B.9     VERSION 2.32                                      B-10 
          B.10    VERSION 2.31                                      B-12 
          B.11    VERSION 2.30                                      B-14 


                                                                 Page iv
        


        TCP/IP Package for RT-11, Version 2.40 

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

        Operating System:  RT-11-XM or RT-11-ZM 

        Source Langauge:  DECUS C and RT-11 Macro 

        Abstract:  

           The TCP/IP Package for RT-11 provides networking services for
        mapped RT-11 systems.  The package is an assemblage of server
        and client programs designed to provide Telnet, FTP, Mail, POP3,
        LPD, and HTTP services for local and remote users of RT-11 sys-
        tems.  The programs are written in C and RT-11 macro.  A secu-
        rity system allows usernames/passwords and authorizations for
        each client/server component to be specified for each user.  

           The sources for the 'TCP/IP Package for RT-11' include
        header, command, C language, and macro files.  The DECUS C com-
        piler (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 current implementation uses upto 16 global regions to
        support multiple client/server programs simultaneously.  Each
        client program uses 1 region except for the FTP variants (FTP,
        FTPL, and RFTP) which use an additional region during data
        transfers.  The network control program TCPIP uses one addi-
        tional region for fragmented packet reconstruction.  

           The hardware requirements are an RT-11 mapped system (version
        5.3 or later) having a minimum of 512k bytes of memory, a DECNA
        (Pro), a DEQNA/DELQA (Q-Bus), or a DEUNA/DELUA (Unibus) ethernet
        card with associated transceiver (thick, thin, or CAT-5) and op-
        tionally a pair of dedicated serial lines for a remote Telnet
        session.  



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













                                    CHAPTER 1

                              SOFTWARE INSTALLATION




           The TCP/IP Package software 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 client/server programs 
                        and assorted configuration, message, 
                        and help files.  

             2.  PAS:   Location of password files.  

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


           The  logical  name  assignments  MAI:, location of mailboxes,
        HTP:, location of HTTP home directory, and GPH:, location of GO-
        PHER files, may be used in various command files.  

           The TCP/IP Package for RT-11 executables are found on logical
        disks RTDSK1.DSK,  RTDSK2.DSK,  and  RTDSK3.DSK.   The  required
        device  handlers  are  found on the logical disks DVDSK1.DSK and
        DVDSK2.DSK.  


        1.1  INSTALLATION CONFIGURATIONS 


           The  RT-11  package  may be installed in one of the following
        three configurations:  




        SOFTWARE INSTALLATION                                   PAGE 1-2
        INSTALLATION CONFIGURATIONS


        1.1.1  Install All Files on System Device 


           All  command  files  and  client/server  programs  are copied
        directly to your system disk.  Assign SY:  to TCP:.  This confi-
        guration  puts  everything  in  one  place but installs about 90
        files (and 2100 blocks) on your system disk.  


        1.1.2  Install Only Command Files on System Device 


           Create  a  seperate  logical  disk (assigned as TCP:) for the
        client/server programs and perhaps seperate  logical  disks  for
        the  password  files (assigned as PAS:) and mail boxes (assigned
        as MAI:).  Copy the command files to the system directory.  This
        will  install  about  50  files  (and  50 blocks) on your system
        device.  


        1.1.3  Install All Files on a Logical Disk 


           Create  a  seperate  logical  disk (assigned as TCP:) for the
        package and perhaps seperate  logical  disks  for  the  password
        files  (assigned  as  PAS:)  and  mail boxes (assigned as MAI:).
        Copy all the files to the TCP:  disk.   This  configuration  re-
        quires  the  user  to  specify  the TCP:  logical when using any
        TCP/IP command file or program but removes all  files  from  the
        system  disk.   CCL  commands may be defined to obviate the need
        for using TCP:, see the file RTUCL.INS for a complete set of de-
        finitions  using IND command files or RTUCLV.INS for definitions
        using the VRUN command without command files.  Edit the selected
        file to include only the CCL definitions you wish defined.  


        1.2  SOFTWARE COMPONENTS 


           The   following   annotated   list  summarizes  the  software
        components:  

        1.  TCP/IP Network Server 
           1.  TCPIP.COM        TCPIP startup command file 
           2.  TCPIP.SAV        TCPIP network server Program 
           3.  TCPIP.CFG        TCPIP configuration file 


        2.  Telnet Client 
           1.  TELNET.COM       TELNET startup command file 
           2.  TELNET.SAV       TELNET client program 



        SOFTWARE INSTALLATION                                   PAGE 1-3
        SOFTWARE COMPONENTS


        3.  Remote TELNET Server 
           1.  RTELNT.CML       TELNET server startup command line 
           2.  RTELNT.COM       TELNET server startup command file 
           3.  RTELNT.SAV       TELNET server program 
           4.  RTELNT.MSG       TELNET server message file 
           5.  RTELNT.HLP       TELNET server help file 


        4.  Remote Telnet Port Server 
           1.  RPTLNT.CML       TELNET Port server startup command line 
           2.  RPTLNT.COM       TELNET Port server startup command file 
           3.  RPTLNT.SAV       TELNET Port server program 
           4.  RPTLNT.MSG       TELNET Port server message file 
           5.  RPTLNT.HLP       TELNET Port server help file 


        5.  CNCT Client 
           1.  CNCT.COM         CNCT startup command file 
           2.  CNCT.SAV         CNCT client program 


        6.  Remote CNCT Server 
           1.  RCNCT.CML        CNCT server startup command line 
           2.  RCNCT.COM        CNCT server startup command file 
           3.  RCNCT.SAV        CNCT server program 
           4.  RCNCT.MSG        CNCT server message file 
           5.  RCNCT.HLP        CNCT server help file 


        7.  Remote CNCT Port Server 
           1.  RPCNCT.CML       CNCT Port server startup command line 
           2.  RPCNCT.COM       CNCT Port server startup command file 
           3.  RPCNCT.SAV       CNCT Port server program 
           4.  RPCNCT.MSG       CNCT Port server message file 
           5.  RPCNCT.HLP       CNCT Port server help file 


        8.  FTP Client 
           1.  FTP.COM          FTP startup command file 
           2.  FTP.SAV          FTP client program 
           3.  FTPCMD.TXT       FTP command help text 


        9.  FTPL Client 
           1.  FTPL.COM         FTPL startup command file 
           2.  FTPL.SAV         FTPL client program 



        SOFTWARE INSTALLATION                                   PAGE 1-4
        SOFTWARE COMPONENTS


        10.  Remote FTP Server 
           1.  RFTP.CML         FTP server startup command line 
           2.  RFTP.COM         FTP server startup command file 
           3.  RFTP.SAV         FTP server program 
           4.  RFTP.MSG         FTP server message file 
           5.  RFTP.HLP         FTP server help file 


        11.  MAIL Client 
           1.  MAIL.COM         MAIL startup command file 
           2.  MAIL.SAV         MAIL client program 
           3.  MAICMD.TXT       MAIL command help text 


        12.  MMAIL Client 
           1.  MMAIL.COM        MMAIL startup command file 
           2.  MMAIL.SAV        MMAIL client program 
           3.  MMACMD.TXT       MMAIL command help text 


        13.  POP3 Mail Server 
           1.  RPOP3.CML        RPOP3 server startup command line 
           2.  RPOP3.COM        RPOP3 server startup command file 
           3.  RPOP3.SAV        RPOP3 server program 


        14.  MAILER Task 
           1.  MAILER.CML       MAILER task startup command line 
           2.  MAILER.COM       MAILER task startup command file 
           3.  MAILER.SAV       MAILER task program 


        15.  Remote MAIL Server 
           1.  RSMTP.CML        MAIL server startup command line 
           2.  RSMTP.COM        MAIL server startup command file 
           3.  RSMTP.SAV        MAIL server program 
           4.  RSMTP.HLP        MAIL server help file 


        16.  Local Printer Utilities 
           1.  LLPC.COM         LLPC local start printer queue 
           2.  LLPQ.COM         LLPQ local printer queue status 
           3.  LLPR.COM         LLPR local print command 
           4.  LLPRM.COM        LLPRM local remove print job 
           5.  LLPQRM.SAV       LLPxx local printer control program 


        17.  Remote LPD Server 
           1.  RLPD.CML         RLPD server startup commnad line 
           2.  RLDP.COM         RLPD server startup command file 
           3.  RLPD.SAV         RLPD server program 



        SOFTWARE INSTALLATION                                   PAGE 1-5
        SOFTWARE COMPONENTS


        18.  Printer Daemon 
           1.  LPRINT.CML       LPRINT task startup command line 
           2.  LPRINT.COM       LPRINT task startup command file 
           3.  LPRINT.SAV       LPRINT task program 
           4.  LPDQRM.CFG       LPRINT configuration file 


        19.  Remote Printer Utilities 
           1.  LPC.COM          LPC local start printer queue 
           2.  LPQ.COM          LPQ local printer queue status 
           3.  LPR.COM          LPR local print command 
           4.  LPRM.COM         LPRM local remove print job 
           5.  LPQRM.SAV        LPxx local printer control program 


        20.  Remote Binary File Printing 
           1.  NTSND.COM        NTSND client startup command file 
           2.  NTSND.SAV        NTSND client program 


        21.  Remote HTTP Web Server 
           1.  RHTTP.CML        RHTTP server startup command line 
           2.  RHTTP.COM        RHTTP server startup command file 
           3.  RHTTP.SAV        RHTTP server program 


        22.  Remote Gopher Server 
           1.  RGOPH.CML        RGOPH server startup commnad line 
           2.  RGOPH.COM        RGOPH server startup command file 
           3.  RGOPH.SAV        RGOPH server program 
           4.  RGOPH.CFG        RGOPH server configuration list 


        23.  Remote Authorization Server 
           1.  RAUTH.CML        RAUTH server startup command line 
           2.  RAUTH.COM        RAUTH server startup command file 
           3.  RAUTH.SAV        RAUTH server program 


        24.  Port Monitor Program 
           1.  PMON.COM         PMON startup command file 
           2.  PMON.SAV         PMON program 


        25.  Password and Authorization Files 
           1.  PASWRD.COM       Password startup command file 
           2.  PASWRD.SAV       Password program 
           3.  PASWRD.FIL       Password and authorization data file 


        26.  Client/Server Monitor 


        SOFTWARE INSTALLATION                                   PAGE 1-6
        SOFTWARE COMPONENTS


           1.  SKTMON.COM       Monitor startup command file 
           2.  SKTMON.SAV       Monitor program 


        27.  Subdirectory Utilities 
           1.  LCD.COM          Change directory command file 
           2.  LDEL.COM         Delete file command file 
           3.  LDIR.COM         List directory command file 
           4.  LLS.COM          List directory command file 
           5.  LMKDIR.COM       Make directory command file 
           6.  LPRO.COM         Protect file command file 
           7.  LRENAM.COM       Rename file command file 
           8.  LRMDIR.COM       Delete Subdirectory command file 
           9.  LUNP.COM         Unprotect file command file 
          10.  UTIL.SAV         Utilities program 


        28.  Subdirectory Summary Utility 
           1.  LDISKS.COM       Subdirectory summary command file 
           2.  RFTHLP.COM       Generate RFTP.HLP command file 
           3.  LDISKS.SAV       Subdirectory summary program file 


        29.  Miscellaneous Files 
           1.  ABRTCP.SAV       Abort all Client/Server programs 
           2.  ABRTJB.COM       Abort Client/Server Job command file 
           3.  ABRTJB.SAV       Abort Client/Server Job program 
           4.  REMOVE.COM       Remove all Client/Server global regions 
           5.  DELAY2.SAV       Programmed 2 Second Delay 




        1.3  INSTALLATION IN DETAIL 


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

           Under RT-11 the most convenient installation is:  

             1.  Create RTTCP.DSK[2400] as TCP:, 
                 a logical disk for the TCP/IP files 

             2.  Create PASWRD.DSK[200] as PAS:, 
                 a logical disk for the password files 

             3.  Optionally Create MAIL.DSK[nnn] as MAI:, 
                 a logical disk for the MAIL directory 

             4.  Optionally Create HTTP.DSK[nnn] as HTP:, 
                 a logical disk for the HTTP home directory 


        SOFTWARE INSTALLATION                                   PAGE 1-7
        INSTALLATION IN DETAIL


             5.  Optionally Create GOPHER.DSK[nnn] as GPH:, 
                 a logical disk for the GOPHER home directory 


                                          NOTE

                      The  MAIL,  HTTP,  and GOPHER directories are
                      needed only if you are going to use the mail,
                      http,  or  gopher  servers.   The size of the
                      MAI:, GPH:, and HTP:  logical disks are what-
                      ever is needed.  



             6.  Copy  the  contents  of  the distribution disks RTDSK1,
                 RTDSK2, and RTDSK3 to TCP:.  

             7.  Verify  that  your  RT-11 mapped system was sysgened to
                 include timer support.  If not, then perform  a  system
                 generation  or  rebuild the device handlers to your re-
                 quirements.  

             8.  Copy and rename the appropriate device handler from the
                 logical disk DVDSK1.DSK or DVDSK2.DSK to SY:.  (See the
                 chapter  on  device  handlers  for  more information on
                 selecting the appropriate device handler.) 

             9.  Edit  the  file  TCP:RTUCL.INS or TCP:RTUCLV.INS to in-
                 clude the CCL commands you want and install these  com-
                 mands.  

            10.  Edit the file TCP:TCPIP.RUN to mount TCP:, PAS:, [MAI:,
                 HTP:, and GPH:], load the  appropriate  device  handler
                 and  assign  units  0-3 of the device handler to EN0-3,
                 and start the selected programs.  Copy TCP:TCPIP.RUN to
                 SY:.  

            11.  Add  the  line '$@SY:TCPIP.RUN' to your startup command
                 file.  

            12.  Copy PASWRD.SAV and PASWRD.FIL to PAS:.  

            13.  Update  the  password file.  The password file contains
                 an anonymous account which you will need to  update  or
                 delete.   If  you delete the anonymous account then add
                 at least one valid account  for  initial  testing  with
                 remote FTP enabled.  

            14.  Edit  the  file  TCP:TCPIP.CFG  for your configuration.
                 Your machine's name and IP address are required and the
                 specification  of  a  name  server  and  gateway may be
                 required for your network.  


        SOFTWARE INSTALLATION                                   PAGE 1-8
        INSTALLATION IN DETAIL


            15.  Edit  the files TCP:*.CML to contain the proper command
                 line arguments for jobs started by SY:TCPIP.RUN.  

            16.  Reboot your RT-11 system.  Verify that the job TCPIP is
                 running.  (If the job did not  start  then  check  that
                 SY:TCPIP.RUN  has  TCP:   defined correctly, the confi-
                 guration file path is correct, file TCPIP.CFG  is  cor-
                 rect,  and  that the selected device driver was loaded.
                 Try starting the TCPIP server from  the  console  using
                 the IND control file TCP:TCPIP.COM with the appropriate
                 command line arguments and see what errors the  program
                 gives.  

            17.  Verify  that another networked computer can communicate
                 with your machine by doing a 'ping'.  Don't know what a
                 ping is?  Skip this step.  (verifies that TCPIP is able
                 to respond to data sent over the Ethernet wire) 

            18.  Attempt to Telnet or FTP to a local computer using only
                 the IP number of that computer.  (verifies  connections
                 are possible) 

            19.  Attempt  to Telnet or FTP 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) 

            20.  Attempt to Telnet or FTP 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
                 TCP:TCPIP.CFG.   (verifies  that  the  gateway entry is
                 correct) 

            21.  If  the RFTP job is running then attempt to FTP to your
                 computer from some other networked machine  using  your
                 machine's  IP  address.  If your machine's name has not
                 been added to the name  server  you  must  use  the  IP
                 number.    (verifies   that   the   command  line  file
                 TCP:RFTP.CML is correct and that password  checking  is
                 working) 


           Essentially your installation is now complete.  You only need
        to update the password file to  specify  user/password  informa-
        tion,  access rights, and default FTP and MAIL directories.  In-
        dividual program configuration information is contained  in  the
        chapter titled Program Options.  














                                    CHAPTER 2

                              HARDWARE INSTALLATION





        2.1  Q-BUS SYSTEMS 


           A  Q-Bus  based  RT-11  system requires the installation of a
        DEQNA or DELQA communications controller.  A system memory of at
        least  512k  is  required  when installing the Internet Package.
        The DEQNA/DELQA EQ22XM.SYS handler requires 36k bytes  for  code
        and  packet  buffers  (the NQXV56.SYS handler requires 14K bytes
        for code and packet buffers)  and  the  network  server  program
        TCPIP.SAV will use 64k bytes for a maximum of approximately 100k
        bytes before activating any client/server programs.  Each active
        client/server  program will use an additional 64k bytes plus one
        or two global PLAS regions each 8k bytes in size.  


                                      NOTE

             It is possible to install the TCP/IP Package on a 248K
             machine  using  the  DEQNA/DELQA   18-bit   EQ18XM.SYS
             handler.   This  handler  requires 7.5k bytes for code
             and packet buffers.  This configuration allows at most
             one networking application to be active.  



           Blockmode  memory is recommended for use with the DEQNA/DELQA
        communications controller although not necessary.  The DEQNA  or
        DELQA interface is connected via a bulkhead cable assembly (with
        perhaps an extension ETHERNET  transceiver  cable)  to  a  tran-
        sceiver (with either a thick, thin, or CAT-5 wire connection).  




        HARDWARE INSTALLATION                                   PAGE 2-2
        UNIBUS SYSTEMS


        2.2  UNIBUS SYSTEMS 


           A  Unibus  based  RT-11 system requires the installation of a
        DEUNA or DELUA communications controller.  A system memory of at
        least  384k is recommended when installing the Internet Package.
        The DEUNA/DELUA 22-bit (Unibus Mapping) NUXV56.SYS  handler  re-
        quires  14k  bytes  for  code and packet buffers and the network
        server program TCPIP.SAV will use 64k bytes  for  a  maximum  of
        approximately 78k bytes before activating any client/server pro-
        grams.  Each active client/server program will use an additional
        64k  bytes  plus one or two global PLAS regions each 8k bytes in
        size.  


                                      NOTE

             It is possible to install the TCP/IP Package on a 248K
             machine using the DEUNA/DELUA 18-bit (Non Unibus  Map-
             ping)  EU18XM.SYS handler.  This handler requires 7.5k
             bytes for code and packet buffers.  This configuration
             allows  at  most  one networking application to be ac-
             tive.  



           The  DEUNA or DELUA interface is connected via a bulkhead ca-
        ble assembly (with perhaps an extension ETHERNET transceiver ca-
        ble)  to a transceiver (with either a thick, thin, or CAT-5 wire
        connection).  


        2.3  SERIAL PORT INSTALLATION 


           If  the  system  is  to be configured for remote Telnet login
        then a pair of dedicated serial lines is required for  the  ses-
        sion.   The  dedicated  pair  consists  of a multi-terminal line
        cross connected to second multi-terminal line via  a  NULL-MODEM
        cable.  

           For a DLV11-J four port serial board the cross connection may
        be easily obtained by constructing a 4" cable with the  10  wire
        flat  cable  flipped  between  the  two  ends (1->10, 2->9, ....
        10->1).  Then cut wires 1,2,9,and 10 at both connectors  leaving
        a 6-wire NULL-MODEM cable.  The DLV11-J baud rate should be lim-
        ited to 4800 as two serial ports are required  for  the  session
        and is a relatively heavy burden even for a LSI-11/73.  

           Cross  connected  DZ ports will provide faster and more effi-
        cient communication.  














                                    CHAPTER 3

                             RT-11 SYSTEM GENERATION




           The  TCP/IP  Package  for RT-11 is for versions 5.3 and later
        and requires a mapped monitor of the type XM  (or  ZM).   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 configurations.  

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

        RT-11 SYSTEM GENERATION                                 Page 3-2
        


        3.1  DEVICE HANDLER SUMMARY 


           Timer support is required for all TCP/IP Package programs and
        must be included when building RT11 monitors.   Internal  device
        timeout is no longer used by any device handler, however because
        RT11  monitors  require  specific  device  handler  options  the
        pre-built device handlers summarized in the following two tables
        include handlers with device timeout, sys extension, and without
        device timeout, nys extension.  




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

        RT-11 VERSION   [5.3]   [5.4]   [5.5]      [5.6 ...]
                        -----   -----   -----      ---------
        eq18xm.[ext]      XM      XM      XM         XM/ZM
        eq22xm.[ext]      XM      XM      XM         XM/ZM
        
        eu18xm.[ext]      XM      XM      XM         XM/ZM
        
        ncxv56.[ext]      -       ?       ?          XM/ZM
        nqxv56.[ext]      -       ?       ?          XM/ZM
        nuxv56.[ext]      -       ?       ?          XM/ZM
        
        ______.[ext]    ext == sys, for monitor  with   device timeout
                        ext == nys, for monitor without device timeout




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

                                SPFUNS               DEVICE
                       206  207  210  211  212    EIS  PSW  UMR
                       ---  ---  ---  ---  ---    ---  ---  ---
        eq18xm.[ext]    X    X    X    -    X      X    X    -
        eq22xm.[ext]    X    X    X    -    X      X    X    -
        
        eu18xm.[ext]    X    X    X    -    X      X    X    -
        
        ncxv56.[ext]    X    X    X    -    X      X    X    -
        nqxv56.[ext]    X    X    X    -    X      X    X    -
        nuxv56.[ext]    X    X    X    -    X      X    X    X
        
        ______.[ext]    ext == sys, for monitor  with   device timeout
                        ext == nys, for monitor without device timeout














                                    CHAPTER 4

                       CONFIGURING RT-11 FOR REMOTE LOGIN




           The  server  programs RTELNT.SAV and RCNCT.SAV can be used to
        login to an RT-11 system:  


        (1)     The system must be sysgened for multiterminal
                support (3 local DL/DZ/DH lines are required)
        
        (2)     Assuming the console is on line 0, cross connect
                lines 1 and 2 (at the same baud rate ...)
        
        (3)     At boot up define the logical directories and
                startup the TCPIP.SAV server and RTELNT.SAV
        
        
        The RTELNT.CML command line file should be something
        like:
                -rctpyz 2 1 PAS:paswrd.fil 15 600       or
                -r -c 2 -t 1 -p PAS:paswrd.fil -y 15 -z 600
        
        Terms:  -r         at connection termination, restart
                -c 2       RTELNT.SAV connects to line 2
                -t 1       Console will connect to line 1
                -p PAS:paswrd.fil
                -y 15      15 second login timeout
                -z 600     600 second inactivity timeout
        
        
        (4)     Use the keyboard set command to
                change the console terminal:
        
                set TT: consol=1
        

           Be  sure  you  have  tested the password file (by configuring
        first for incoming FTP service).  Once the console  is  set  you
        cannot  change  it  back  to your local terminal from your local
        terminal.  


        CONFIGURING RT-11 FOR REMOTE LOGIN                      Page 4-2
        


           When  you  log into RT through the TELNET link you are at the
        console!  If you terminate the  running  TCPIP  or  RTELNT  jobs
        while  you are logged in, your connection will terminate and the
        RT system must be rebooted (the consol is connected  to  line  1
        going to line 2 going nowhere).  

           If you change the console connection while logged in then you
        will not get any response  from  the  RT  system  (although  the
        TCP/IP connection will still be active).  

           You must terminate the TELNET connection from your connection
        terminal.  (However that is accomplished from  the  remote  sys-
        tem.)  If  you  are connected from another RT system running the
        TCPIP package, then use CTRL-A X and request connection termina-
        tion.  














                                    CHAPTER 5

                                 PROGRAM OPTIONS




           The various client/server/utility program startup options are
        outlined and typical startup command files listed.  


        5.1  TCPIP 


           The  network  server  program TCPIP.SAV provides the software
        interface  between  the  Ethernet   device   handler   and   the
        client/server  programs  in  the  TCP/IP  Package.   The network
        server program handles the processing of various network packets
        and  services  (TCP,  IP, UDP, BOOTP, ARP, RARP, and DOMAIN name
        lookup).  

           The  TCPIP.SAV  program may be started interactively (usually
        for diagnostic purposes) with the following options:  

          TCPIP [?] [-f filespec]
                ?               List this Help Text and Exit TCPIP
                f  filespec     Configuration File


        TCPIP  uses four logical EN units for network access:  three are
        used to receive IP(EN0:), ARP(EN1:), and RARP(EN2:) packets  and
        one  is  used  to  transmit(EN3:) all packet types.  The startup
        command file TCPIP.RUN loads  and  assigns  the  network  server
        device  EN  to  one  of the network handlers:  NC for the DECNA,
        NQ/EQ for the DEQNA/DELQA, or NU/EU for the DEUNA/DELUA,  mounts
        and  assigns  the  logical  disk  directories,  and  starts  the
        selected network jobs.  


        PROGRAM OPTIONS                                         PAGE 5-2
        TCPIP


        The TCPIP.RUN command file:  

                ! TCPIP.RUN
                !
                ! load eq:
                ! assign eq0: en0:
                ! assign eq1: en1:
                ! assign eq2: en2:
                ! assign eq3: en3:
                !
                ! load eu:
                ! assign eu0: en0:
                ! assign eu1: en1:
                ! assign eu2: en2:
                ! assign eu3: en3:
                !
                ! load nc:
                ! assign nc0: en0:
                ! assign nc1: en1:
                ! assign nc2: en2:
                ! assign nc3: en3:
                !
                ! load nq:
                ! assign nq0: en0:
                ! assign nq1: en1:
                ! assign nq2: en2:
                ! assign nq3: en3:
                !
                load nu:
                assign nu0: en0:
                assign nu1: en1:
                assign nu2: en2:
                assign nu3: en3:
                !
                load ld:
                mount ld7: dl1:rttcp.dsk
                mount ld6: dl1:paswrd.dsk
                ! mount ld5: dl1:mail.dsk
                ! mount ld4: dl1:http.dsk
                ! mount ld3: dl1:gopher.dsk
                assign ld7: TCP:
                assign ld6: PAS:
                ! assign ld5: MAI:
                ! assign ld4: HTP:
                ! assign ld3: GPH:
                !
                ! Select System Jobs
                !
                assign ld7: DK:
                srun sy:vbgexe.sav/name:tcpip
                run delay2
                srun sy:vbgexe.sav/name:rftp


        PROGRAM OPTIONS                                         PAGE 5-3
        TCPIP


                run delay2
                ! srun sy:vbgexe.sav/name:rtelnt
                ! run delay2
                ! srun sy:vbgexe.sav/name:rptlnt
                ! run delay2
                ! srun sy:vbgexe.sav/name:rcnct
                ! run delay2
                ! srun sy:vbgexe.sav/name:rpcnct
                ! run delay2
                ! srun sy:vbgexe.sav/name:rsmtp
                ! run delay2
                ! srun sy:vbgexe.sav/name:rpop3
                ! run delay2
                ! srun sy:vbgexe.sav/name:mailer
                ! run delay2
                ! srun sy:vbgexe.sav/name:rpop3
                ! run delay2
                ! srun sy:vbgexe.sav/name:rauth
                ! run delay2
                ! srun sy:vbgexe.sav/name:rgoph
                ! run delay2
                ! srun sy:vbgexe.sav/name:rlpd
                ! run delay2
                ! srun sy:vbgexe.sav/name:lprint
                ! run delay2
                !
                ! Finish Up
                !
                assign sy: dk:
                set kmon ind


        The TCPIP program is usually started at RT-11 startup by insert-
        ing the line '$@TCPIP.RUN' in the  startup  command  file.   The
        network  IND  control  files  require that the command 'SET KMON
        IND' be included in the startup command file.  

           The  network server programs (RFTP, RTELNT, ...) when started
        as a foreground or system job gets the  command  line  arguments
        from an associated .CML file in TCP:.  For example, the RFTP.SAV
        program command line file RFTP.CML is:  

                -r -p PAS:paswrd.fil -y 15 -z 600



           The   TCPIP.SAV   program  requires  the  configuration  file
        TCPIP.CFG which defines all the parameters required to configure
        the  network  server.   Note  that TCP/IP services and tasks are
        commented out as these must be explicitly started  under  RT-11.
        Typical  configuration  parameters are detailed in the following
        configuration file:  


        PROGRAM OPTIONS                                         PAGE 5-4
        TCPIP


#
#  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
#


        PROGRAM OPTIONS                                         PAGE 5-5
        TCPIP


#
#       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=2920              # limit advertized window (nnwin == mwin)
nndomto=5               # domain timeout
nnretry=4               # number of retries
nnarpto=2               # arp timeout in seconds
nnpkt=2                 # send only 2 packet(s) per transq



        PROGRAM OPTIONS                                         PAGE 5-6
        TCPIP


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

# 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,TCP:rftp.srv     # remote ftp server
# service=23,2,TCP:rtelnt.srv   # remote telnet server
# service=25,2,TCP:rsmtp.srv    # remote smtp server (task: -t 1)
# service=27,2,TCP:rcnct.srv    # remote cnct server
# service=70,2,TCP:rgoph.srv    # remote gopher server
# service=80,4,TCP:rhttp.srv    # remote http server
# service=110,2,TCP:rpop3.srv   # remote pop3 server (task: -t 1)
# service=113,1,TCP:rauth.srv   # remote auth server
# service=515,2,TCP: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,TCP:mailer.srv # mail/mmail/pop3/rsmtp mail delivery agent
# task=2,0,TCP:lprint.srv # rlpd/llpqrm       printing delivery agent


        PROGRAM OPTIONS                                         PAGE 5-7
        TCPIP


#
#  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=1460                # maximum transmit unit in bytes
                        #   outgoing packet size, MAX=1460
mseg=1460               # largest segment we can receive
                        #   whatever the hardware can take, MAX=1460
mwin=2920               # most bytes we can receive without ACK
                        #   =TCP window size, MAX=3047
                        #   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


        PROGRAM OPTIONS                                         PAGE 5-8
        TCPIP


#
# 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  network  server  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.  

           All changes to the configuration file will take effect at the
        next startup of TCPIP.SAV.  


        5.2  SKTMON 


           The  SKTMON  program provides a diagnostic tool for observing
        the state of all TCPIP connections.  SKTMON displays the current
        state  of  network  connections  by  showing  the global regions
        through  which  the  TCPIP  network  server  program   and   the
        client/server programs communicate.  The program shows in detail
        the various network packets,  the  incoming  and  outgoing  data
        streams, and the status of the network ethernet driver.  

           The IND control file SKTMON.COM starts the program:  

                .sets cmdlin "0 "+"'p1'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:sktmon.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun




        PROGRAM OPTIONS                                         PAGE 5-9
        PASSWORD SETUP


        5.3  PASSWORD SETUP 


           A  password  file  (eg  PASWRD.FIL)  must be built if the lo-
        cal/remote MAIL services are to be used or if remote network ac-
        cess  (ie remote FTP, TELNET or CNCT) must be restricted.  It is
        suggested that a seperate password directory be created to  hold
        the  files PASWRD.SAV and PASWRD.FIL.  This directory need be no
        larger than about 200 blocks.  The maximum number of  user/pass-
        word  specifications  is  limited  by the program memory size to
        about 50.  The PASWRD.FIL contains 1 block for  each  user/pass-
        word  specification.   The PASWRD.COM command file should be up-
        dated to reflect the location of the password files.  A seperate
        directory  allows the exclusion of its access by remote FTP ses-
        sions.  

           Copy  the  file PASWRD.SAV (and optionally the supplied pass-
        word file PASWRD.FIL) to  the  created  directory.   Modify  the
        PASWRD.COM file to access this subdirectory.  

           Initiating  PASWRD.SAV with a file specification will open an
        existing file or create the file if no existing file  is  found.
        The PASWRD program screens will indicate all the options and the
        file USRBLK.H illustrates the formats for the device/file speci-
        fications required by the password program.  


                                      NOTE

             The  password  for  any added user must also be speci-
             fied,  any  user  not  requiring  a  password  (ie  an
             'anonymous'  account)  must have this password entered
             as a null string by typing only a carriage return  for
             the password.  



           To  use the created password file be sure the program startup
        command files have specified the correct path  to  the  password
        file.  


                                      NOTE

             The  device/file  access  rights  are only used by the
             remote FTP server.  




        PROGRAM OPTIONS                                        PAGE 5-10
        PASSWORD SETUP


        The IND control file PASWRD.COM starts the program:  

                .sets cmdlin "'p1'"+"PAS:paswrd.fil"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:paswrd.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        5.4  TELNET 


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

          TELNET destination [?] [-hp]
                ?               List the Help Text and Exit TELNET
                h               List the Help Text and Open Connection
                p  filespec     Specify the Password Filespec


        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  TELNET  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  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
        
                 ^?      abort Telnet session

           The IND control file TELNET.COM starts the program:  



        PROGRAM OPTIONS                                        PAGE 5-11
        TELNET


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


        5.5  RTELNT 


           RTELNT  is  a server program for a remote TELNET session into
        RT-11.  The program startup options are:  

          RTELNT [?] [-hmp filespec] [-ceqrtvyz] [parameters]
                ?       List the Help Text and Exit RTELNT
                c  i    Connection Line i is attached to Terminal Line j
                e       Enable Monitoring of all Transactions
                h       Specify the Help Filespec
                m       Specify the Message Filespec
                p       Specify the Password Filespec
                q  n    Specify an Alternate Connection Port
                r       Restart RTELNT after Disconnect
                t  j    Terminal Line j is attached to Connection Line i
                v       Verbose Mode
                y  s    Login Timeout in seconds
                z  s    Inactivity Timeout in seconds


        The  program  may  be started interactively (for diagnostic pur-
        poses) by the command file RTELNT.COM:  

                .sets cmdlin "-rpyz PAS:paswrd.fil 15 600 ...
                        ... "+"'p1' 'p2' 'p3' 'p4'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:rtelnt.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The program is normally started as a system job by the TCPIP.RUN
        command file.  When started as a foreground or  system  job  the
        program   gets   the   command  line  arguments  from  the  file
        TCP:RTELNT.CML:  

                -r -p PAS:paswrd.fil -y 15 -z 600


        The  RTELNT help and message files are RTELNT.HLP and RTELNT.MSG


        PROGRAM OPTIONS                                        PAGE 5-12
        RTELNT


        respectively.  The h or m options may be used if these files are
        not  on the TCP:  device.  These files are created by the system
        manager and are not required.  


        5.6  RPTLNT 


           RPTLNT  is a server program that provides a mechanism to con-
        nect the 'CONSOLE' port of a LSI/PDP computer system to the net-
        work.  

           The  program  runs on an independent networked computer which
        provides the service connection to the 'CONSOLE' port of an  at-
        tached computer system through a network TELNET connection.  

           The  program  supports  the generation of a 'BREAK' which en-
        ables the user to enter ODT on most LSI and some  PDP  machines.
        The default 'break' key is ^E.  

           The program startup options are:  

          RPTLNT [?] [-hmp filespec] [-cekqrtvyz] [parameters]
                ?       List the Help Text and Exit RPTLNT
                c  i    Connection Line number
                e       Enable Monitoring of all Transactions
                h       Specify the Help Filespec
                k  c    Break Character
                m       Specify the Message Filespec
                p       Specify the Password Filespec
                q  n    Specify the Connection Port
                r       Restart RPTLNT after Disconnect
                t  j    Terminal line parameters
                v       Verbose Mode
                y  s    Login Timeout in seconds
                z  s    Inactivity Timeout in seconds



        PROGRAM OPTIONS                                        PAGE 5-13
        RPTLNT


        The terminal line parameters are defined as follows:  

          code  - (O+P+L+SSSS) - (OPLxSSSS)
        
          SSSS - baud rate code (decimal)
                + 0     50
                + 1     75
                + 2     110
                + 3     134.5
                + 4     150
                + 5     300
                + 6     600
                + 7     1200
                + 8     1800
                + 9     2000
                +10     2400
                +11     3600
                +12     4800
                +13     7200
                +14     9600
                +15     19200
        
                note: not all controllers support all
                      baud rate values, check device
                      documentation.
        
          L -   +  0 for 7-Bit
            -   + 32 for 8-Bit
        
          P -   +  0 for no parity
            -   + 64 for parity
        
          O -   +  0 even parity (when P = 1)
            -   +128 odd  parity (when P = 1)


        The  program  may  be started interactively (for diagnostic pur-
        poses) by the command file RPTLNT.COM:  

                .sets cmdlin "-rbctqmyz 1 14 1173 ...
                        ... TCP:rptlnt.msg 15 600 "+"'p1' 'p2'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:rptlnt.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The program is normally started as a system job by the TCPIP.RUN
        command file.  When started as a foreground or  system  job  the
        program   gets   the   command  line  arguments  from  the  file


        PROGRAM OPTIONS                                        PAGE 5-14
        RPTLNT


        TCP:RPTLNT.CML:  

                -rbctqmyz 1 14 1173 TCP:rptlnt.msg 15 600


        The  RPTLNT help and message files are RPTLNT.HLP and RPTLNT.MSG
        respectively.  The h or m options may be used if these files are
        not  on the TCP:  device.  These files are created by the system
        manager and are not required.  


        5.7  CNCT 


           The  CNCT program allows the user to initiate a connection to
        a remote RT-11/TSX-Plus host for a terminal session.  This  pro-
        gram  is  the TELNET program stripped of all TELNET negotiations
        and uses a non standard TCP port (27).  The startup options  for
        CNCT are:  

          CNCT destination [?] [-hp]
                ?               List the Help Text and Exit CNCT
                h               List the Help Text and Open Connection
                p   filespec    Specify the Password Filespec


        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  CNCT program supports the following command line options
        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


        The IND control file CNCT.COM starts the program:  



        PROGRAM OPTIONS                                        PAGE 5-15
        CNCT


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


        5.8  RCNCT 


           RCNCT  is  a  server  program  for  remote CNCT sessions into
        RT-11.  This program is  the  RTELNT  program  stripped  of  all
        TELNET  negotiations and uses a non standard TCP port (27).  The
        startup options for RCNCT are:  

          RCNCT [?] [-hmp filespec] [-ceqrtvyz] [parameters]
                ?       List the Help Text and Exit RCNCT
                c  i    Connection Line i is attached to Terminal Line j
                e       Enable Monitoring of all Transactions
                h       Specify the Help Filespec
                m       Specify the Message Filespec
                p       Specify the Password Filespec
                q  n    Specify an Alternate Connection Port
                r       Restart RCNCT after Disconnect
                t  j    Terminal Line j is attached to Connection Line i
                v       Verbose Mode
                y  s    Login Timeout in seconds
                z  s    Inactivity Timeout in seconds


        The  program  may  be started interactively (for diagnostic pur-
        poses) by the IND control file RCNCT.COM:  

                .sets cmdlin "-rpyz PAS:paswrd.fil 15 600 ...
                        ... "+"'p1' 'p2' 'p3' 'p4'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:rcnct.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The program is normally started as a system job by the TCPIP.RUN
        command file.  When started as a foreground or  system  job  the
        program   gets   the   command  line  arguments  from  the  file
        TCP:RCNCT.CML:  

                -r -p PAS:paswrd.fil -y 15 -z 600


        PROGRAM OPTIONS                                        PAGE 5-16
        RCNCT




        The  RCNCT  help  and  message files are RCNCT.HLP and RCNCT.MSG
        respectively.  The h or m options may be used if these files are
        not  on the TCP:  device.  These files are created by the system
        manager and are not required.  


        5.9  RPCNCT 


           RPCNCT  is a server program that provides a mechanism to con-
        nect the 'CONSOLE' port of a LSI/PDP computer system to the net-
        work.  

           The  program  runs on an independent networked computer which
        provides the service connection to the 'CONSOLE' port of an  at-
        tached computer system through a network CNCT connection.  

           The  program  supports  the generation of a 'BREAK' which en-
        ables the user to enter ODT on most LSI and some  PDP  machines.
        The default 'break' key is ^E.  

           The program startup options are:  

          RPCNCT [?] [-hmp filespec] [-cekqrtvyz] [parameters]
                ?       List the Help Text and Exit RPCNCT
                c  i    Connection Line number
                e       Enable Monitoring of all Transactions
                h       Specify the Help Filespec
                k  c    Break Character
                m       Specify the Message Filespec
                p       Specify the Password Filespec
                q  n    Specify the Connection Port
                r       Restart RPCNCT after Disconnect
                t  j    Terminal line parameters
                v       Verbose Mode
                y  s    Login Timeout in seconds
                z  s    Inactivity Timeout in seconds



        PROGRAM OPTIONS                                        PAGE 5-17
        RPCNCT


        The terminal line parameters are defined as follows:  

          code  - (O+P+L+SSSS) - (OPLxSSSS)
        
          SSSS - baud rate code (decimal)
                + 0     50
                + 1     75
                + 2     110
                + 3     134.5
                + 4     150
                + 5     300
                + 6     600
                + 7     1200
                + 8     1800
                + 9     2000
                +10     2400
                +11     3600
                +12     4800
                +13     7200
                +14     9600
                +15     19200
        
                note: not all controllers support all
                      baud rate values, check device
                      documentation.
        
          L -   +  0 for 7-Bit
            -   + 32 for 8-Bit
        
          P -   +  0 for no parity
            -   + 64 for parity
        
          O -   +  0 even parity (when P = 1)
            -   +128 odd  parity (when P = 1)


        The  program  may  be started interactively (for diagnostic pur-
        poses) by the command file RPCNCT.COM:  

                .sets cmdlin "-rbctqmyz 1 14 1173 ...
                        ... TCP:rpcnct.msg 15 600 "+"'p1' 'p2'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:rpcnct.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The program is normally started as a system job by the TCPIP.RUN
        command file.  When started as a foreground or  system  job  the
        program   gets   the   command  line  arguments  from  the  file


        PROGRAM OPTIONS                                        PAGE 5-18
        RPCNCT


        TCP:RPCNCT.CML:  

                -rbctqmyz 1 14 1173 TCP:rpcnct.msg 15 600


        The  RPCNCT help and message files are RPCNCT.HLP and RPCNCT.MSG
        respectively.  The h or m options may be used if these files are
        not  on the TCP:  device.  These files are created by the system
        manager and are not required.  


        5.10  FTP 


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

          FTP [?] [-f filespec] [-p filespec]
                [-ghinrv] [destination host]
                ?               List this Help Text and Exit FTP
                f  filespec     Command File
                g               Wildcard Expansion Disabled
                h               FTP Help List
                i               Interactive Prompting Off
                n               AutoLogin Disabled on Connect
                p  filespec     Specify the Password Filespec
                r               Output Redirection Disabled
                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).  

           If  the  work file device, wf:, is not assigned then the pro-
        gram will fail to execute the commands mget, mdel, or mls.  

           The IND control file FTP.COM starts the program:  

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


        The FTP program supports the following command line options:  

        ?               print local help information


        PROGRAM OPTIONS                                        PAGE 5-19
        FTP


        ascii           set ascii transfer type
        bell            toggle command completed beep
        bget            get a file in binary mode
        binary          set binary transfer type
        bput            put a file in binary mode
        bye             terminate ftp session and exit
        cd              change remote working directory
        close           terminate ftp session
        debug           toggle/set debugging mode
        delete          delete remote file
                                - inquires if prompting is on
        dir             list contents of remote directory
        duplicate       enable/disable duplicate packets
        get             receive file
        hash            toggle printing `#' for each
                                1024 bytes transferred
        help            print local help information
        home            set default directory to home
        interactive     turn on prompting for multiple commands
        lcd             change local working directory
        ldelete         delete local files
        ldir            list contents of local directory
        lls             list contents of local directory
        lprotect        set protection flag on local file
        lpwd            show local working directory
        lrename         rename a local file
        ls              list contents of remote directory
        ltype           print a local file to the screen
        lunprotect      clear protection flag on a local file
        mdelete         delete multiple files
        mdir            list contents of multiple remote directories
        mget            get multiple files
        mkdir           make directory on the remote machine
        mls             list contents of multiple remote directories
        mode            set file transfer mode
        mput            send multiple files
        noninteractive  turn off prompting on multiple commands
        open            connect to remote ftp
        passive         enable or disable passive transfer mode
        prompt          toggle interactive prompting
                                on multiple commands
        protect         set protection flag on file
        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


        PROGRAM OPTIONS                                        PAGE 5-20
        FTP


        sendport        toggle use of PORT cmd for each data connection
        status          show current status
        struct          set file transfer structure
        system          query remote system type
        type            print a remote file to the screen
        unprotect       clear protection flag on file
        user            send new user information
        verbose         toggle verbose mode
        version         FTP-11 version displayed
        wild            toggle wildcard expansion of local file names
        >     redirect (m)dir or (m)ls response to a file

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

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



           The commands put or send can be used to transfer a device im-
        age to an image file (must specify binary format):  

                put/send  dev:[-1]  destination-image-file



           The  commands  bget  and  get can be used to restore a device
        from an image file (must specify binary format):  

                bget/get  source-image-file  dev:[-1]


        5.11  FTPL 


           The  FTPL  program  provides  reliable  data transfer between
        cooperating computer systems.  FTPL is a stripped version of the
        FTP  program  for  use  on  smaller  systems.   The FTPL program
        startup options are:  

          FTPL [?] [-ghinv] [destination host]
                ?               List this Help Text and Exit FTPL
                g               Wildcard Expansion Disabled
                h               FTPL Help List
                i               Interactive Prompting Off
                n               AutoLogin Disabled on Connect
                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


        PROGRAM OPTIONS                                        PAGE 5-21
        FTPL


        then follow the name/ip with the port number (decimal).  

           If  the  work file device, wf:, is not assigned then the pro-
        gram will fail to execute the commands mget, mdel, or mls.  

           The IND control file FTPL.COM starts the program:  

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


        The FTPL program supports the following command line options:  

        ?               print local help information
        ascii           set ascii transfer type
        bell            toggle command completed beep
        bget            get a file in binary mode
        binary          set binary transfer type
        bput            put a file in binary mode
        bye             terminate ftp session and exit
        cd              change remote working directory
        close           terminate ftp session
        debug           toggle/set debugging mode
        delete          delete remote file
                                - inquires if prompting is on
        dir             list contents of remote directory
        duplicate       enable/disable duplicate packets
        get             receive file
        hash            toggle printing `#' for each
                                1024 bytes transferred
        help            print local help information
        interactive     turn on prompting for multiple commands
        ls              list contents of remote directory
        mdelete         delete multiple files
        mget            get multiple files
        mkdir           make directory on the remote machine
        mode            set file transfer mode
        mput            send multiple files
        noninteractive  turn off prompting on multiple commands
        open            connect to remote ftp
        passive         enable or disable passive transfer mode
        prompt          toggle interactive prompting
                                on multiple commands
        put             send one file
        pwd             print working directory on remote machine
        quit            terminate ftp session and exit
        quote           send arbitrary ftp command


        PROGRAM OPTIONS                                        PAGE 5-22
        FTPL


        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
        struct          set file transfer structure
        system          query remote system type
        type            print a remote file to the screen
        user            send new user information
        verbose         toggle verbose mode
        version         FTP-11 version displayed
        wild            toggle wildcard expansion of local file names

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

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



           The commands put or send can be used to transfer a device im-
        age to an image file (must specify binary format):  

                put/send  dev:[-1]  destination-image-file



           The commands bget or get can be used to restore a device from
        an image file (must specify binary format):  

                bget/get  source-image-file  dev:[-1]


        5.12  RFTP 


           RFTP  is a server program for remote FTP sessions into RT-11.
        The program startup options are:  



        PROGRAM OPTIONS                                        PAGE 5-23
        RFTP


          RFTP [?] [-hmp filespec] [-efqruvwyz] [parameters]
                ?       List the Help Text and Exit RFTP
                e       Enable Monitoring of all RFTP Transactions
                f       Enable file SIZE command
                h       Specify the Help Filespec
                m       Specify the Message Filespec
                p       Specify the Password Filespec
                q  n    Specify an Alternate Connection Port
                r       Restart RFTP after Disconnect
                u       UNIX Style DIR Command
                v       Verbose Mode
                w       Write Duplicate Packets
                y  s    Login Timeout in seconds
                z  s    Inactivity Timeout in seconds


        The  program  may  be started interactively (for diagnostic pur-
        poses) by the IND control file RFTP.COM:  

                .sets cmdlin "-rpyz PAS:paswrd.fil 15 600 ...
                        ... "+"'p1' 'p2' 'p3' 'p4'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:rftp.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The program is normally started as a system job by the TCPIP.RUN
        command file.  When started as a foreground or  system  job  the
        program   gets   the   command  line  arguments  from  the  file
        TCP:RFTP.CML:  

                -r -p PAS:paswrd.fil -y 15 -z 600


        The  RFTP  help  and  message  files  are  RFTP.HLP and RFTP.MSG
        respectively.  The h or m options may be used if these files are
        not  on the TCP:  device.  These files are created by the system
        manager and are not required.  

           The  -u  option  specifies  that the 'LIST' command returns a
        UNIX style directory listing rather than the default RT-11 style
        directory  format.   This format is useful if the remote systems
        are PC's using one of the window oriented FTP utilities such  as
        PROCOMM  V3.0 (DataStorm Technologies).  These utilities use the
        unix access-rights string to determine whether the  entries  are
        files  or  directories.   The  general  form  for the UNIX style
        directory is:  



        PROGRAM OPTIONS                                        PAGE 5-24
        RFTP


        -rwxrwxrwx   1 system  user       1536 12 Jan 96 file.ext
        drwxrwxrwx   1 system  user     512000 01 Mar 96 subdir.dsk




        5.13  MAIL 


           The  MAIL  program provides local and internet mail services.
        This program is recommended for systems  not  requiring  a  POP3
        server.  The startup options for MAIL are:  

          MAIL [?] [-fp filespec] [-i IP Address] [-z s]
                ?               List the Help Text and Exit MAIL
                f  filespec     Command File
                h               Help list
                i  IP Address   Intermediate Host Name / IP Address
                p  filespec     Specify the Password Filespec
                z  s            Connection Timeout in Seconds


        The  Intermediate Host IP option provides a means of routing the
        internet mail through another host machine.  The RT-11 MAIL pro-
        gram  does  not  support  retry operations if the mail cannot be
        delivered, using an intermediate host  supporting  retries  will
        provide  this  feature  to the RT-11 MAIL system.  Permission to
        use a particular host as a MAIL relay should  be  obtained  from
        the  hosts'  system manager.  The option must be specified using
        the complete name (an IP address may also be used).   A  typical
        invocation follows:  

                -i mail.domain.name


        The MAIL program is invoked from the IND control file MAIL.COM: 

                .sets cmdlin "-hpz PAS:paswrd.fil 60 ...
                        ... "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:mail.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The MAIL program supports the following command line options:  

        ?               print local help information
        bye             terminate the MAIL program
        copy            copy a message to a file


        PROGRAM OPTIONS                                        PAGE 5-25
        MAIL


        debug           toggle/set debugging mode
        delete          delete a message
        dir             list of unread mail messages
        exit            terminate the MAIL program
        hash            toggle printing `#' during transfers
        help            print local help information
        home            go to home (initial) directory
        index           an index of received mail
        interactive     turn on prompting on multiple commands
        last            read most recent mail message
        lcd             change local working directory
        ldelete         delete local files
        ldir            list contents of local directory
        listmail        list of unread mail messages
        lls             list contents of local directory
        lprotect        set protection flag on local file
        lpwd            show local working directory
        lrename         rename a local file
        ltype           print a local file to the screen
        lunprotect      clear protection flag on a local file
        mail            go to mail directory
        newmail         count number of new mail messages
        noninteractive  turn off prompting on multiple commands
        prompt          toggle interactive prompting
                                on multiple commands
        quit            terminate the MAIL program
        read            read a mail message
        scan            scan directory for all mail messages
        send [filespec] initiate the sending of a message
        status          show current status
        user            enter a new user/password access key
        verbose         toggle verbose mode
        version         MAIL-11 version displayed
        wild            toggle wildcard expansion of local file names


        Mail  is sent to a local user if only a name is specified and to
        a remote machine if the user and IP address are specified.  

        Local:          username 

        Internet:       username@machine.domain.name 



           The MAIL programs MAIL.SAV, MMAIL.SAV, MAILER.SAV, RPOP3.SAV,
        and RSMTP.SAV make use of the password file to  restrict  access
        to  the  mail  system.  A user may have local and/or remote MAIL
        access (or no access) depending on the password file parameters. 

           Incoming  mail  may be directed to a users' default directory
        or to a specific  mail  directory  (specified  in  the  password


        PROGRAM OPTIONS                                        PAGE 5-26
        MAIL


        file).   A  typical configuration is to create a mail directory,
        SY:MAIL.DSK, and have mail subdirectories for each  user.   Thus
        the path SY:/MAIL/USER1/ specifies the users' unique mail direc-
        tory and should be specified in the password configuration.  The
        local  mail programs MAIL.SAV, MMAIL.SAV, and MAILER.SAV and the
        remote mail programs RSMTP.SAV and RPOP3.SAV check the  password
        file  to  verify  that the user has the privilege to send or re-
        ceive mail via the network and places any received mail  in  the
        specified mail directory.  These programs will use/create a mail
        index file in the mail directory which is used to keep an  index
        of all received mail.  


        5.14  MMAIL 


           The MMAIL program is a front end interface to the MAILER ser-
        vice.  This program is recommended for systems requiring a  POP3
        server.  The startup options for MMAIL are:  

          MMAIL [?] [-fp filespec] [-h]
                ?               List the Help Text and Exit MMAIL
                f  filespec     Command File
                h               Help list
                p  filespec     Specify the Password Filespec


        The  MAILER  delivery  task must have been started in TCPIP.RUN.
        The MAILER actually sends the mail messages produced by MMAIL.  

           The  MMAIL  program  is  invoked  from  the  IND control file
        MMAIL.COM:  

                .sets cmdlin "-hp PAS:paswrd.fil ...
                        ... "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:mmail.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The MMAIL program supports the following command line options:  

        ?               print local help information
        bye             terminate the MMAIL program
        copy            copy a message to a file
        debug           toggle/set debugging mode
        delete          delete a message
        dir             list of unread mail messages
        exit            terminate the SMAIL program


        PROGRAM OPTIONS                                        PAGE 5-27
        MMAIL


        help            print local help information
        home            go to home (initial) directory
        index           an index of received mail
        interactive     turn on prompting for multiple commands
        last            read most recent mail message
        lcd             change local working directory
        ldelete         delete local files
        ldir            list contents of local directory
        listmail        list of unread mail messages
        lls             list contents of local directory
        lprotect        set protection flag on local file
        lpwd            show local working directory
        lrename         rename a local file
        ltype           print a local file to the screen
        lunprotect      clear protection flag on a local file
        mail            go to mail directory
        newmail         count number of new mail messages
        noninteractive  turn off prompting for multiple commands
        prompt          toggle interactive prompting
                                on multiple commands
        quit            terminate the MAIL program
        read            read a mail message
        scan            scan directory for all mail messages
        send [filespec] initiate the sending of a message
        status          show current status
        user            enter a new user/password access key
        version         SMAIL-11 version displayed
        wild            toggle wildcard expansion of local file names


        Mail  is sent to a local user if only a name is specified and to
        a remote machine if the user and IP address are specified.  

        Local:          username 

        Internet:       username@machine.domain.name 



           The MAIL programs MAIL.SAV, MMAIL.SAV, MAILER.SAV, RPOP3.SAV,
        and RSMTP.SAV make use of the password file to  restrict  access
        to  the  mail  system.  A user may have local and/or remote MAIL
        access (or no access) depending on the password file parameters. 

           Incoming  mail  may be directed to a users' default directory
        or to a specific  mail  directory  (specified  in  the  password
        file).   A  typical configuration is to create a mail directory,
        SY:MAIL.DSK, and have mail subdirectories for each  user.   Thus
        the path SY:/MAIL/USER1/ specifies the users' unique mail direc-
        tory and should be specified in the password configuration.  The
        local  mail programs MAIL.SAV, MMAIL.SAV, and MAILER.SAV and the
        remote mail programs RSMTP.SAV and RPOP3.SAV check the  password


        PROGRAM OPTIONS                                        PAGE 5-28
        MMAIL


        file  to  verify  that the user has the privilege to send or re-
        ceive mail via the network and places any received mail  in  the
        specified mail directory.  These programs will use/create a mail
        index file in the mail directory which is used to keep an  index
        of all received mail.  


        5.15  RPOP3 


           RPOP3 is a server program for remote access to the RT-11 mail
        system via the extended POP3 protocol.  This server supports the
        PC  shareware  packages PC Eudora and WinQVT/Net for Windows 3.x
        and NT in particular and others using the  POP3  protocol.   The
        program startup options are:  

          RPOP3 [?] [-p filespec] [-eqrvyz] [parameters]
                ?       List the Help Text and Exit RPOP3
                e       Enable Monitoring of RPOP3 Transactions
                p       Specify the Password Filespec
                q  n    Specify an Alternate Connection Port
                r       Restart RPOP3 after Disconnect
                v       Verbose Mode
                y  s    Login Timeout in seconds
                z  s    Inactivity Timeout in seconds


        If  an  extended  POP3 client is sending mail to the POP3 server
        then  the  MAILER  delivery  task  must  have  been  started  in
        TCPIP.RUN.  The MAILER actually sends the mail messages produced
        by RPOP3.  

           The program may be started interactively (for diagnostic pur-
        poses) by the IND control file RPOP3.COM:  

                .sets cmdlin -rpyz PAS:paswrd.fil 15 600 ...
                        ... "+"'p1' 'p2' 'p3' 'p4'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:rpop3.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The program is normally started as a system job by the TCPIP.RUN
        command file.  When started as a foreground or  system  job  the
        program   gets   the   command  line  arguments  from  the  file
        TCP:RPOP3.CML:  

                -r -p PAS:paswrd.fil -y 15 -z 600


        PROGRAM OPTIONS                                        PAGE 5-29
        RPOP3





           The MAIL programs MAIL.SAV, MMAIL.SAV, MAILER.SAV, RPOP3.SAV,
        and RSMTP.SAV make use of the password file to  restrict  access
        to  the  mail  system.  A user may have local and/or remote MAIL
        access (or no access) depending on the password file parameters. 

           Incoming  mail  may be directed to a users' default directory
        or to a specific  mail  directory  (specified  in  the  password
        file).   A  typical configuration is to create a mail directory,
        SY:MAIL.DSK, and have mail subdirectories for each  user.   Thus
        the path SY:/MAIL/USER1/ specifies the users' unique mail direc-
        tory and should be specified in the password configuration.  The
        local  mail programs MAIL.SAV, MMAIL.SAV, and MAILER.SAV and the
        remote mail programs RSMTP.SAV and RPOP3.SAV check the  password
        file  to  verify  that the user has the privilege to send or re-
        ceive mail via the network and places any received mail  in  the
        specified mail directory.  These programs will use/create a mail
        index file in the mail directory which is used to keep an  index
        of all received mail.  


        5.16  MAILER 


           MAILER  is  a  backend  program  for  MMAIL  and  RPOP3 which
        provides mail delivery to local users and  remote  destinations.
        When  MAILER is activated it scans all user mail directories for
        files with names similiar to  ml____.nnn  created  by  MMAIL  or
        RPOP3.   These files are routed to their respective destinations
        and then deleted.  If the mail is not deliverable then the  mes-
        sage is directed back to the sender.  

           MAILER  is also a backend program for MAIL, MMAIL, RPOP3, and
        RSMTP which provides  mail  forwarding  from  a  local  user  to
        another  local  user  or remote destination.  When MAILER is ac-
        tivated it scans each user-mail-directory enabled for forwarding
        and  sends any received mail to the forwarding address.  After a
        successful forward the local mail file is  deleted.   Forwarding
        is enabled by specifying a forwarding address in the PASWRD pro-
        gram.  

           The program startup options are:  



        PROGRAM OPTIONS                                        PAGE 5-30
        MAILER


          MAILER [?] [-p filespec] [-i IP-address] [-t n] [-z s] [-ev]
                ?               List the Help Text and Exit MAILER
                e               Enable Monitoring of MAILER Transactions
                i  IP-address   Intermediate Host Name / IP Address
                p  filespec     Specify the Password Filespec
                t  n (minutes)  Continuous Scanning Time Interval
                v               Verbose Mode
                z  s            Connection Timeout in Seconds


        The  Intermediate Host IP option provides a means of routing the
        internet mail through another host machine.  The RT-11 MAIL pro-
        gram  does  not  support  retry operations if the mail cannot be
        delivered, using an intermediate host  supporting  retries  will
        provide  this  feature  to the RT-11 MAIL system.  Permission to
        use a particular host as a MAIL relay should  be  obtained  from
        the  hosts'  system manager.  The option must be specified using
        the complete name (an IP address may also be used).   A  typical
        invocation follows:  

                -i mail.domain.name


        The  program  may  be started interactively (for diagnostic pur-
        poses) by the IND control file MAILER.COM:  

                .sets cmdlin "-pit PAS:paswrd.fil ...
                        ... mail.domain.name 15 "+"'p1' 'p2' 'p3' 'p4'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:mailer.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The program is normally started as a system job by the TCPIP.RUN
        command file.  When started as a foreground or  system  job  the
        program   gets   the   command  line  arguments  from  the  file
        TCP:MAILER.CML:  

                -p PAS:paswrd.fil -t 15 -i mail.domain.name


        The  specification  of device wf:  is required by MAILER to tem-
        porarily store local mail messages before writing  the  mail  to
        the users mail directories.  If wf:  is undefined, inaccessable,
        or not initialized then mail will not be delivered.  

           The MAIL programs MAIL.SAV, MMAIL.SAV, MAILER.SAV, RPOP3.SAV,
        and RSMTP.SAV make use of the password file to  restrict  access


        PROGRAM OPTIONS                                        PAGE 5-31
        MAILER


        to  the  mail  system.  A user may have local and/or remote MAIL
        access (or no access) depending on the password file parameters. 

           Incoming  mail  may be directed to a users' default directory
        or to a specific  mail  directory  (specified  in  the  password
        file).   A  typical configuration is to create a mail directory,
        SY:MAIL.DSK, and have mail subdirectories for each  user.   Thus
        the path SY:/MAIL/USER1/ specifies the users' unique mail direc-
        tory and should be specified in the password configuration.  The
        local  mail programs MAIL.SAV, MMAIL.SAV, and MAILER.SAV and the
        remote mail programs RSMTP.SAV and RPOP3.SAV check the  password
        file  to  verify  that the user has the privilege to send or re-
        ceive mail via the network and places any received mail  in  the
        specified mail directory.  These programs will use/create a mail
        index file in the mail directory which is used to keep an  index
        of all received mail.  


        5.17  RSMTP 


           RSMTP  is  a  server program for remote MAIL into RT-11.  The
        program startup options are:  

          RSMTP [?] [-hp filespec] [-eiqrvz] [parameters]
                ?       List the Help Text and Exit RSMTP
                e       Enable Monitoring of all RSMTP Transactions
                h       Specify the Help Filespec
                i  i m  IP Validation and Mask
                p       Specify the Password Filespec
                q  n    Specify an Alternate Connection Port
                r       Restart RSMTP after Disconnect
                v       Verbose Mode
                z  s    Inactivity Timeout in Seconds


        The RSMTP help file RSMTP.HLP is of diagnostic use only.  

           The program may be started interactively (for diagnostic pur-
        poses) by the IND control file RSMTP.COM:  

                .sets cmdlin "-rpz PAS:paswrd.fil 600 ...
                        ... "+"'p1' 'p2' 'p3' 'p4'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:rsmtp.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The program is normally started as a system job by the TCPIP.RUN


        PROGRAM OPTIONS                                        PAGE 5-32
        RSMTP


        command file.  When started as a foreground or  system  job  the
        program   gets   the   command  line  arguments  from  the  file
        TCP:RSMTP.CML:  

                -r -p PAS:paswrd.fil -z 600


        The  specification  of  device wf:  is required by RSMTP to tem-
        porarily store incoming mail messages before writing the mail to
        the users mail directories.  If wf:  is undefined, inaccessable,
        or not initialized then incoming mail will not be delivered.  

           The MAIL programs MAIL.SAV, MMAIL.SAV, MAILER.SAV, RPOP3.SAV,
        and RSMTP.SAV make use of the password file to  restrict  access
        to  the  mail  system.  A user may have local and/or remote MAIL
        access (or no access) depending on the password file parameters. 

           Incoming  mail  may be directed to a users' default directory
        or to a specific  mail  directory  (specified  in  the  password
        file).   A  typical configuration is to create a mail directory,
        SY:MAIL.DSK, and have mail subdirectories for each  user.   Thus
        the path SY:/MAIL/USER1/ specifies the users' unique mail direc-
        tory and should be specified in the password configuration.  The
        local  mail programs MAIL.SAV, MMAIL.SAV, and MAILER.SAV and the
        remote mail programs RSMTP.SAV and RPOP3.SAV check the  password
        file  to  verify  that the user has the privilege to send or re-
        ceive mail via the network and places any received mail  in  the
        specified mail directory.  These programs will use/create a mail
        index file in the mail directory which is used to keep an  index
        of all received mail.  


        5.18  RAUTH 


           The  program  RAUTH implements the Authentication Server Pro-
        tocol (RFC931) which provides a means  to  determine  whether  a
        particular  TCP  connection  is  active.   Once  a connection is
        established, the server reads one line of data  which  specifies
        the  connection of interest.  If it exists, the system dependent
        user identifier of the connection of interest is  sent  out  the
        connection.  The service closes the connection after sending the
        user identifier.  

           Queries  are  permitted only for fully specified connections.
        The local/foreign host pair used to fully specify the connection
        are  taken from the query connection.  This means a user on Host
        A may only query the server on Host B about connections  between
        A and B.  

           The server accepts simple text query requests of the form 



        PROGRAM OPTIONS                                        PAGE 5-33
        RAUTH


           ,  

           where    is  the TCP port (decimal) on the target
        (server) system, and  is the TCP port (decimal) on
        the source (user) system.  

           For example:  

              23, 6191 

           The only responses supported by RAUTH are 

              ,  :  USERID :  OTHER :  system 

              ,  :  ERROR :  NO-USER 

           which  correspond to active and not active connections repec-
        tively.  

           The program startup options are:  

          RAUTH [?] [-aenqrvyz] [parameters]
                ?       List the Help Text and Exit RAUTH
                e       Enable Monitoring of all RAUTH Transactions
                n       Never authorize
                q  n    Specify an Alternate Connection Port
                r       Restart RAUTH after Disconnect
                v       Verbose Mode
                y       Always authorize
                z  s    Inactivity Timeout in seconds



           The program may be started interactively (for diagnostic pur-
        poses) by the command file RAUTH.COM:  

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


        The program is normally started as a system job by the TCPIP.RUN
        command file.  When started as a foreground or  system  job  the
        program   gets   the   command  line  arguments  from  the  file
        TCP:RAUTH.CML:  

                -rz 30


        PROGRAM OPTIONS                                        PAGE 5-34
        RAUTH






        5.19  LLPQRM 


           LLPQRM is the program which submits, controls and reports the
        status of the local LPRINT daemon.   The  program  performs  the
        functions  of  LPC, LPQ, LPR, and LPRM.  The program startup op-
        tions are:  

          LLPQRM [?] [-p filespec] -o opt [opt arguments]
                ?               List the Help Text and Exit LLPQRM
                p  filespec     LPD configuration file
                o  lpc  [?]     Start printer queue
                   lpq  [?]     Get printer queue status
                   lpr  [?]     Submit a job to a printer queue
                   lprm [?]     Remove a job from a printer queue
        
                The -o opt argument must preceed the opt specific op-
        tions.


        The  LPRINT  job must be running for LLPQRM to function properly
        and is usually started in TCPIP.RUN.  

           Program sub options are:  

          LPC [?]
                ?               List the LPC Help Text and Exit LLPQRM
        
          LPQ [?] [-#P argument]
                ?               List the LPQ Help Text and Exit LLPQRM
                #  n            Repeat query time in seconds
                P  Queue Name   Printer Queue
        
          LPR [?] [-#IPW argument] [-flr] [file to print]
                ?               List the LPR Help Text and Exit LLPQRM
                #  n            # of copies to print (1-5)
                I  n            Indentation
                P  Queue Name   Printer Queue (default = lp)
                W  n            Page Width
                f               Plain Text Printing (default)
                l               No Control Character Processing
                r               Fortran Carriage Control Printing
        
          LPRM [?] [-P argument] [file to remove from queue]
                ?               List the LPRM Help Text and Exit LLPQRM
                P  Queue Name   Printer Queue




        PROGRAM OPTIONS                                        PAGE 5-35
        LLPQRM


        Each of the options is invoked by an IND control file more indi-
        cative of its intended function.  The IND control file QUOTE.COM
        places the arguments in quotes.  DECUS C will convert everything
        to lower case without the quotes.  


        5.19.1  LLPC 


           LLPC.COM is the local start printer daemon IND control file. 

                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:llpqrm.sav
                .data -pto TCP:lpdqrm.cfg 2 lpc
                .close
                @TCP:quote 'p1' 'p2' 'p3' 'p4' 'p5' 'p6'


        5.19.2  LLPQ 


           LLPQ.COM  is the local check printer queue status IND control
        file.  

                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:llpqrm.sav
                .data -pto TCP:lpdqrm.cfg 2 lpq
                .close
                @TCP:quote 'p1' 'p2' 'p3' 'p4' 'p5' 'p6'


        5.19.3  LLPR 


           LLPR.COM is the local print command file.  

                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:llpqrm.sav
                .data -bpto TCP:lpdqrm.cfg 2 lpr
                .close
                @TCP:quote 'p1' 'p2' 'p3' 'p4' 'p5' 'p6'




        PROGRAM OPTIONS                                        PAGE 5-36
        LLPQRM


        5.19.4  LLPRM 


           LLPRM.COM is the local remove queued print file command file. 

                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:llpqrm.sav
                .data -bpto TCP:lpdqrm.cfg 2 lprm
                .close
                @TCP:quote 'p1' 'p2' 'p3' 'p4' 'p5' 'p6'


        For a normal user:  
    (1) if the printer queue is not specified then all of the queues are
        checked.  
    (2) If  a  file name is not specified then all queued files for this
        user are checked and the  user  queried  for  each  file  to  be
        deleted.  

        For the special user 'system':  
    (1) if the printer queue is not specified then all of the queues are
        checked.  
    (2) If  a  file  name is not specified then all queued files for all
        users are checked and the 'system' queried for each file  to  be
        deleted.  
    (3) If  a  username  is  entered,  then  all files for this user are
        checked and 'system' queried for each file deletion.  
    (4) If  a filename is entered, then the specific file is checked and
        'system' queried for file deletion.  


        5.20  RLPD 


           RLPD  is  a  server  program providing remote printing on the
        RT-11 system printer.  The program startup options are:  

          RLPD [?] [-p filespec] [-eqrv] [parameters]
                ?       List the Help Text and Exit RLPD
                e       Enable Monitoring of RLPD Transactions
                p       Specify the Configuration Filespec
                q  n    Specify an Alternate Connection Port
                r       Restart RLPD after Disconnect
                v       Verbose Mode


        The  LPRINT  job must be running for LLPQRM to function properly
        and is usually started in TCPIP.RUN.  

           The program may be started interactively (for diagnostic pur-
        poses) by the IND control file RLPD.COM:  


        PROGRAM OPTIONS                                        PAGE 5-37
        RLPD



                .sets cmdlin "-rp TCP:lpdqrm.cfg "+"'p1' 'p2' 'p3' 'p4'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:rlpd.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The program is normally started as a system job by the TCPIP.RUN
        command file.  When started as a foreground or  system  job  the
        program   gets   the   command  line  arguments  from  the  file
        TCP:RLPD.CML:  

                -r -p TCP:lpdqrm.cfg


        5.21  LPRINT 


           The  program  LPRINT is the backend printing daemon servicing
        printing on the RT-11 system.  Print jobs  submitted  by  remote
        systems  through  the RLPD server and local print jobs submitted
        through LLPQRM are processed  by  the  LPRINT  task.   RLPD  and
        LLPQRM  write  two  files (cfa.nnn and dfa.nnn) into a temporary
        file directory, cfa.nnn is the print control file and dfa.nnn is
        the  print  data  file.   At  the completion of the printing job
        these files are deleted.  

        The command options for LPRINT are:  

          LPRINT [?] [-p filespec] [-t n] [-v]
                ?               List the Help Text and Exit LPRINT
                p  filespec     Specify the Configuration Filespec
                t  n (minutes)  Continuous Scanning Time Interval
                v               Verbose Mode


        The LLPQRM.CFG configuration file is of the following form:  

        001                                     ; three digit sequence
        sy2:\lpdtmp\                            ; temporary directory
        sy0:\paswrd\paswrd.fil                  ; pass word file
        lp      *       name    ls:             ; line printer
        dspcgc  *       name    hf:             ; cgc graphics device
        dspqbs  *       name    hg:             ; qbs graphics device
        file    *       name    sy3:\tmpwrk\    ; write to a file
        lp      pdp     *       ls:             ; line printer
        dspcgc  pdp     *       hf:             ; cgc graphics device
        dspqbs  pdp     *       hg:             ; qbs graphics device


        PROGRAM OPTIONS                                        PAGE 5-38
        LPRINT




        The  first line is a sequence number maintained by RLPD, LLPQRM,
        and LPRINT.  The second line is the directory used  for  holding
        the  queued  files  until  processed  by LPRINT.  The third line
        references the password file which may be used to check  if  the
        user exists.  
        The  fourth  and  succeeding  lines  contain printing queues and
        their access permissions.  The four entries are:  

        (1)     queue name
        (2)     machine name (* is any)
        (3)     user name (* is any)
        (4)     device


        The  data  is  copied to the specified printing device or random
        access  device  using  the  name  in  the  print  control   file
        (cfa.nnn).  

           The program may be started interactively (for diagnostic pur-
        poses) by the IND control file LPRINT.COM:  

                .sets cmdlin "-pt TCP:lpdqrm.cfg 15 " ...
                        ... +"'p1' 'p2' 'p3' 'p4'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:lprint.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The program is normally started as a system job by the TCPIP.RUN
        command file.  When started as a foreground or  system  job  the
        program   gets   the   command  line  arguments  from  the  file
        TCP:LPRINT.CML:  

                -p TCP:lpdqrm.cfg -t 2


        The  specification  of device wf:  is required by LPRINT to tem-
        porarily store data files before writing the data  to  subdirec-
        tories.   If wf:  is undefined, inaccessable, or not initialized
        then data will not be copied.  




        PROGRAM OPTIONS                                        PAGE 5-39
        LPQRM


        5.22  LPQRM 


           LPQRM  is the program which submits, controls and reports the
        status of remote printer queues.  The program performs the func-
        tions  of  LPC, LPQ, LPR, and LPRM.  The program startup options
        are:  

          LPQRM [?] [-ipq argument] [-e] -o opt [opt arguments]
                ?               List the Help Text and Exit LPQRM
                e               Enable Monitoring of LPQRM Transactions
                i  IP Address   Remote Server Name / IP Address
                n  Port Number  Remote Server Port Number
                q  Queue Name   Remote Server Printer Queue
                p  filespec     Configuration File
                o  lpc  [?]     Start printer queue
                   lpq  [?]     Get printer queue status
                   lpr  [?]     Submit a job to a printer queue
                   lprm [?]     Remove a job from a printer queue
        
                The -o opt argument must preceed the opt specific op-
        tions.


        Program sub options are:  



        PROGRAM OPTIONS                                        PAGE 5-40
        LPQRM


          LPC [?] [-SP argument]
                ?               List the LPC Help Text and Exit LPQRM
                P  Queue Name   Remote Host Printer Queue
                S  IP Address   Remote Host IP Address
        
          LPQ [?] [-SP# argument] [-l]
                ?               List the LPQ Help Text and Exit LPQRM
                #  n            Repeat query time in seconds
                l               Long form of queue status
                P  Queue Name   Remote Host Printer Queue
                S  IP Address   Remote Host Name / IP Address
        
          LPR [?] [-SPIW# argument] [-flr] [filespec]
                ?               List the LPR Help Text and Exit LPQRM
                #  n            # of copies to print (1-5)
                P  Queue Name   Remote Host Printer Queue
                S  IP Address   Remote Host Name / IP Address
                f               ASCII Plain Text (default)
                l               ASCII With Controls
                r               Fortran Carriage Control
                I  n            Indentation (f option only)
                W  n            Page Width (flr options only)
        
                Other Options:
                1234cdghnoptvz  UNIX(tm) Options
                M               Mail Option
        
                C       Class           J       Job
                L       Banner          T       Title
        
          LPRM [?] [-SP argument] job [job [...]]
                ?               List the LPRM Help Text and Exit LPQRM
                P  Queue Name   Remote Host Printer Queue
                S  IP Address   Remote Host Name / IP Address


        Each of the options is invoked by a command file more indicative
        of its intended function.  The IND control file QUOTE.COM places
        the  arguments  in  quotes.   DECUS C will convert everything to
        lower case without the quotes.  




        PROGRAM OPTIONS                                        PAGE 5-41
        LPQRM


        5.22.1  LPC 


           LPC.COM is the remote start printer daemon IND control file. 

                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:lpqrm.sav
                .data -po TCP:lpdqrm.cfg lpc
                .close
                @TCP:quote 'p1' 'p2' 'p3' 'p4' 'p5' 'p6'


        5.22.2  LPQ 


           LPQ.COM  is the remote check printer queue status IND control
        file.  

                .open tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:lpqrm.sav
                .data -po TCP:lpdqrm.cfg lpq
                .close
                @TCP:quote 'P1' 'P2' 'P3' 'P4' 'P5' 'P6'


        5.22.3  LPR 


           LPR.COM is the remote print IND control file.  

                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:lpqrm.sav
                .data -bpo TCP:lpdqrm.cfg lpr
                .close
                @TCP:quote 'p1' 'p2' 'p3' 'p4' 'p5' 'p6'


        5.22.4  LPRM 


           LPRM.COM  is  the remote remove queued print file IND control
        file.  

                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:lpqrm.sav
                .data -bpo TCP:lpdqrm.cfg lprm
                .close
                @TCP:quote 'p1' 'p2' 'p3' 'p4' 'p5' 'p6'


        PROGRAM OPTIONS                                        PAGE 5-42
        NTSND


        5.23  NTSND 


           NTSND  is a program for transferring data to a remote printer
        without any translation (good for binary files).   This  program
        supports  products  such  as the Emulex NETJET for the HP 4Si/Mx
        printer.  The command options are:  

          NTSND [?] [-inpq argument] file [file [...]]
                ?               List the Help Text and Exit NTSND
                i  IP Address   Remote Server Name / IP Address
                n  Port Number  Remote Server Port Number
                p  filespec     Password File
                q               Query for File Name


        The   NTSND  program  is  invoked  from  the  IND  control  file
        NTSND.COM:  

                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:ntsnd.sav
                .data -bp PAS:paswrd.fil
                .close
                @TCP:quote 'p1' 'p2' 'p3' 'p4' 'p5' 'p6'


        5.24  RHTTP 


           RHTTP  is  an  HTTP/0.9 server supporting only simple request
        and response formats for GET, HEAD, and POST methods.  The  POST
        method  always  responds  as  unimplemented.  HTTP transfers are
        always in BINARY format except for files of type HTM, DOC,  TXT,
        and LST which are in ASCII format.  The command options are:  

          RHTTP [?] [-p filespec] [-eqrvwz] [parameters]
                ?       List the Help Text and Exit RHTTP
                e       Enable Monitoring of all RHTTP Transactions
                p       Specify the HTTP Directory and Home File
                q  n    Specify an Alternate Connection Port
                r       Restart RHTTP after Disconnect
                v       Verbose Mode
                w       Write Duplicate Packets
                z  s    Inactivity Timeout in seconds


        The HTTP directory and home file must be specified, using the -p
        option.  The directory path is used as the  base  directory  for
        all HTTP accesses.  HTTP accesses with absolute directory speci-
        fications (e.g.  dl1:file.ext)  are  reported  as  unauthorized.
        The  RT-11  version  of  RHTTP  does  not  support  subdirectory


        PROGRAM OPTIONS                                        PAGE 5-43
        RHTTP


        processing.  The home file is the file read when  a  request  is
        made with no file specified, this is typically the home page for
        this computer system.  


        The  program  may  be started interactively (for diagnostic pur-
        poses) by the IND control file RHTTP.COM:  

                .sets cmdlin "-rpz HTP:/home.htm 30 "+ ...
                        ... "'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:rhttp.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The program is normally started as a system job by the TCPIP.RUN
        command file.  When started as a foreground or  system  job  the
        program   gets   the   command  line  arguments  from  the  file
        TCP:RHTTP.CML:  

                -r -p HTP:/home.htm



           The  RHTTP  program  requires,  at  the  minimum, a dedicated
        device (logical device) and a home file.   Only  files  in  this
        directory  are  accessable by the http server.  The home file is
        the file read by the http server when no specific file is speci-
        fied.   The  http  directory  and home file are specified by the
        RHTTP option:  

                -p dl1:/home.htm


                                      NOTE

             The  slash,  /,  is  required to delimit the HTTP base
             directory.  



           All accesses to files outside the http directory are not per-
        mitted and are reported as  unauthorized.   Absolute  references
        are  not  allowed  (e.g.  dl1:/file.ext) even if they are in the
        http directory, these are also reported  as  unauthorized.   Use
        only  relative  paths  in file specifications to the http direc-
        tory.  These requirements provide the most security for http re-
        quests which require no password authentication.  



        PROGRAM OPTIONS                                        PAGE 5-44
        RHTTP


           The  home  file  is an HTML file and should be written to re-
        flect the functionality of the browsers you wish to support with
        this http server.  


        5.25  RGOPH 


           RGOPH is a simple Gopher server supporting transfers of text,
        binary, and image files and linking to other  network  resources
        using basic ASCII text constructs.  The command options are:  

          RGOPH [?] [-p filespec] [-aeqrvwz] [parameters]
                ?       List the Help Text and Exit RGOPH
                e       Enable Monitoring of all RGOPH Transactions
                p       Specify the Master GOPHER File
                q  n    Specify an Alternate Connection Port
                r       Restart RGOPH after Disconnect
                v       Verbose Mode
                w       Write Duplicate Packets
                z  s    Inactivity Timeout in seconds


        The  Gopher  master file must be specified, using the -p option.
        The master file contains the access specifications for  the  go-
        pher  server.  The format of the master file is described in the
        file RGOPH.CFG and included here for reference:  


                                      NOTE

             The RT-11 version of RGOPH does not support local sub-
             directory processing, only real  devices  and  logical
             devices are supported for local access.  






        PROGRAM OPTIONS                                        PAGE 5-45
        RGOPH


        #
        # This is the Master Gopher List
        #
        # Each entry has the following format:
        #description
        #      file or list specification
        #      machine name or IP address
        #      port number
        #
        # End list with '.' and 
        #
        # Common item types specified by  are:
        #
        #       0       item is a file
        #       1       item is a directory
        #       2       item is a CSO phone-book server
        #       3       Error
        #       4       item is a NINHEXed MacIntosh file
        #       5       item is DOS archive of some sort
        #       6       item is a UNIX uuencoded file
        #       7       item is an Index-Search server
        #       8       item points to a text-based telnet server
        #       9       item is a binary file
        #       +       item is a redundant server
        #       T       item points to a text-based TN3270 session
        #       g       item is a GIF format graphics file
        #       I       item is some kind of image file
        #
        #       All references are described in RFC1436
        #


        The master list contains file and list references which denote a
        tree structure of accessible resources.  A typical  master  list
        is shown here to clarify the specification.  

           The top level follows:  




        PROGRAM OPTIONS                                        PAGE 5-46
        RGOPH


                0       About This GOPHER Site
                        sy2:/gopher.dsk/rgoph.doc
                        shop-pdp.kent.edu
                        70
                1       TCP/IP Package For TSX-Plus, ...
                        List1/
                        shop-pdp.kent.edu
                        70
                1       ASxxxx Assemblers and Linker
                        List2/
                        shop-pdp.kent.edu
                        70
                .


        The  'List1/'  (  =  1)  specification indicates this is a
        directory of subitems:  




        PROGRAM OPTIONS                                        PAGE 5-47
        RGOPH


                #
                # Elements of List1/
                #
                List1/
                0       Abstract [2K]
                        sy3:/tcpip.pkg/abstra.doc
                        shop-pdp.kent.edu
                        70
                0       Documentation [158K]
                        sy3:/tcpip.pkg/manual.doc
                        shop-pdp.kent.edu
                        70
                9       Minimal  Package, Logical Disk Image, [300K]
                        sy3:/tcpipm.dsk
                        shop-pdp.kent.edu
                        70
                9       Complete Package, Multilevel Logical ...
                        sy3:/tcpip.pkg/tcpip.dsk
                        shop-pdp.kent.edu
                        70
                9       Disk1 of Package, RX02 Image [494K]
                        sy3:/tcpip.pkg/tcpip.dsk/disk1.dsk
                        shop-pdp.kent.edu
                        70
                9       Disk2 of Package, RXO2 Image [494k]
                        sy3:/tcpip.pkg/tcpip.dsk/disk2.dsk
                        shop-pdp.kent.edu
                        70
                9       Disk3 of Package, RXO2 Image [494k]
                        sy3:/tcpip.pkg/tcpip.dsk/disk3.dsk
                        shop-pdp.kent.edu
                        70
                9       Disk4 of Package, RXO2 Image [494k]
                        sy3:/tcpip.pkg/tcpip.dsk/disk4.dsk
                        shop-pdp.kent.edu
                        70
                9       Disk5 of Package, RXO2 Image [494k]
                        sy3:/tcpip.pkg/tcpip.dsk/disk5.dsk
                        shop-pdp.kent.edu
                        70
                9       Disk6 of Package, RXO2 Image [494k]
                        sy3:/tcpip.pkg/tcpip.dsk/disk6.dsk
                        shop-pdp.kent.edu
                        70
                9       Disk7 of Package, RXO2 Image [494k]
                        sy3:/tcpip.pkg/tcpip.dsk/disk7.dsk
                        shop-pdp.kent.edu
                        70


        PROGRAM OPTIONS                                        PAGE 5-48
        RGOPH


                9       Documentation Source, RX02 Image [494K]
                        sy3:/tcpip.pkg/tcpip.dsk/tcpdoc.dsk
                        shop-pdp.kent.edu
                        70
                9       Current Updates, Logical Disk Image [988K]
                        sy3:update.dsk
                        shop-pdp.kent.edu
                        70
                .


        The  'List2/'  ( = 1) specification indicates the presence
        of a second directory of available resources:  


                #
                # Elements of List2/
                #
                List2/
                1       ASxxxx for PDP-11 and LSI-11 Computers
                        List2.1/
                        shop-pdp.kent.edu
                        70
                1       ASxxxx for PC Compatible Computers
                        List2.2/
                        shop-pdp.kent.edu
                        70
                .


        These  elements  also contain references to additional subdirec-
        tories of resources.  Nesting to any level may  be  accomplished
        using this syntax.  Ensure that all subdirectory references have
        unique names.  The use of 'xxxxx/' is not required,  any  unique
        character string may be used to reference a subdirectory entry. 


        The  program  may  be started interactively (for diagnostic pur-
        poses) by the IND control file RGOPH.COM:  

                .sets cmdlin "-rp GPH:/home.htm "+ ...
                        ... "'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:rgoph.sav
                .data 'cmdlin'
                .close
                $@sy:tcpfun


        The program is normally started as a system job by the TCPIP.RUN
        command file.  When started as a foreground or  system  job  the


        PROGRAM OPTIONS                                        PAGE 5-49
        RGOPH


        program   gets   the   command  line  arguments  from  the  file
        TCP:RGOPH.CML:  

                -r -p GPH:/home.htm


        5.26  PMON 


           PMON  is  a utility program which monitors a TCP port for ac-
        tivity.  The program startup options are:  

          PMON port [?] [-h]
                ?       List the Help Text and Exit PMON
                h       List the Help Text

           The specified port is opened for listening.  When the port is
        opened by a remote computer  all  incoming  data  is  displayed.
        Data entered from the keyboard is transported to the remote com-
        puter.  

           The PMON program supports the following command line options,
        as found in the TELNET and CNCT programs, 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  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
        
                 ^?      abort Telnet session

           The startup command file PMON.COM follows:  

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

        PROGRAM OPTIONS                                        PAGE 5-50
        UTIL


        5.27  UTIL 


           The program UTIL is a compendium of various functions used to
        perform useful operations on RT-11 subdirectories.  The  command
        options for UTIL are:  

          UTIL [?] [-cdlmnpqru] [filespec(s)]
                ?       List this Help Text and Exit UTIL
        
                c       change directory
                d       delete a file
                l       list a directory
                m       make a directory
                n       delete a directory
                p       set protection flag on a file
                q       disable query on delete
                r       rename a file
                u       clr protection flag on afile


        Each of the options is invoked by a command file more indicative
        of its intended function.  Most of the subdirectory commands are
        not supported in the RT-11 version of UTIL.  


        5.27.1  LCD 


           Change directory IND control file LCD.COM:  

                .sets cmdlin "-sc 0 4 "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:util.sav
                .data 'cmdlin'
                .data $@wf:cmdfil
                .close
                $@sy:tcpfun




        PROGRAM OPTIONS                                        PAGE 5-51
        UTIL


        5.27.2  LDEL 


           Delete file IND control file LDEL.COM:  

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


        5.27.3  LDIR 


           List directory IND control file LDIR.COM:  

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


        5.27.4  LLS 


           List directory IND control file LLS.COM:  

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




        PROGRAM OPTIONS                                        PAGE 5-52
        UTIL


        5.27.5  LMKDIR 


           Make a subdirectory IND control file LMKDIR.COM:  

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


        5.27.6  LPRO 


           Set protection flag IND control file LPRO.COM:  

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


        5.27.7  LRENAM 


           Rename a file IND control file LRENAM.COM:  

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




        PROGRAM OPTIONS                                        PAGE 5-53
        UTIL


        5.27.8  LRMDIR 


           Remove a subdirectory IND control file LRMDIR.COM:  

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


        5.27.9  LUNP 


           Clear protection flag IND control file LUNP.COM:  

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


        5.28  LDISKS 


           The  LDISKS  program  generates  a  subdirectory map for each
        device specified and optionally outputs the result  to  a  file.
        This utility is not supported under RT-11.  


        5.29  ABRTCP 


           ABRTCP  is  a  program which attempts to gracefully abort the
        TCPIP  system.   All  TCP/IP   connections   are   closed,   all
        client(s)/server(s) are requested to abort, and the TCPIP server
        closes.  The program  is  invoked  from  the  IND  control  file
        ABRTCP.COM:  as:  

                .open sy:tcpfun.com
                .data r sy:vbgexe.sav
                .data TCP:abrtcp.sav
                .close
                $@sy:tcpfun




        PROGRAM OPTIONS                                        PAGE 5-54
        ABRTJB


        5.30  ABRTJB 


           ABRTJB  is  a  program  which  attempts to gracefully abort a
        specific TCP/IP client/server program.  The program  is  invoked
        from the IND control file ABRTJB.COM:  

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

        and may request from 1 to 6 jobs be aborted.  The job aborts are
        sent to the TCPIP server program which closes any  open  connec-
        tions  associated with the job and sends an abort request to the
        specified job.  This program will not  abort  the  TCPIP  server
        program.  














                                    CHAPTER 6

                            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), 210 (get handler status block), and
        212 (device time-out and reset) .  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), 211 (abort job i/o,  for
        SJ  monitors  only),  and  212 (device time-out and reset).  The
        EQ/EU handlers perform all interrupt processing  at  FORK  level
        and donot internally support device timeout.  These handlers may
        be conditionally assembled to support the RT11 SJ, SB,  FB,  and
        XM  monitors (versions 5.3 and later) not supported by the NQ/NU
        device handlers.  



        ETHERNET DEVICE HANDLERS                                Page 6-2
        


           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
        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 6-3
        


        6.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.[ext]    SJ/FB   SJ/FB   SJ/FB          -         -
        eusjms.[ext]    SJ/FB   SJ/FB   SJ/FB          -         -
        eqsjps.[ext]    SJ/FB   SJ/FB   SJ/FB          -         -
        eusjps.[ext]    SJ/FB   SJ/FB   SJ/FB          -         -
        
        eqsbms.[ext]      -       -       -          SB/FB       -
        eusbms.[ext]      -       -       -          SB/FB       -
        eqsbps.[ext]      -       -       -          SB/FB       -
        eusbps.[ext]      -       -       -          SB/FB       -
        
        eq18xm.[ext]      XM      XM      XM      XB/XM/ZB/ZM    -
        eq22xm.[ext]      XM      XM      XM      XB/XM/ZB/ZM    -
        
        eu18xm.[ext]      XM      XM      XM      XB/XM/ZB/ZM    -
        
        ncxv56.[ext]      -       ?       ?       XB/XM/ZB/ZM    -
        nqxv56.[ext]      -       ?       ?       XB/XM/ZB/ZM    -
        nuxv56.[ext]      -       ?       ?       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
        
        
        ______.[ext]    ext == sys, for monitor  with   device timeout
                        ext == nys, for monitor without device timeout
        
        ____ms.[ext]    Drivers are for LSI/11 processors not having a
                        processor status word (PSW == @#177776).
        
        ____ps.[ext]    Drivers are for all processors with a
                        processor status word (PSW == @#177776).
        
        __sj__.[ext]    Drivers contain special function 211 (abort
                        job i/o) for RT11SJ monitors.


        ETHERNET DEVICE HANDLERS                                PAGE 6-4
        DEVICE HANDLER SYSTEM SUMMARY


        6.2  DEVICE HANDLER FEATURE SUMMARY 

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


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

        ETHERNET DEVICE HANDLERS                                PAGE 6-5
        DEVICE HANDLER FEATURE SUMMARY


        6.3  ALTERNATE DEUNA DEVICE HANDLERS 


           In  addition  to  the  device  handlers  listed in the Device
        Handler tables above are 8 alternate handlers which may  be  re-
        quired  when configuring a system using the DEUNA network inter-
        face.  The DEUNA has  very  little  internal  buffer  space  for
        packets  and  requires more external buffers to operate reliably
        on networks with more than a few active computers.  Testing on a
        PDP-11/44 / DEUNA system attached to a local network having over
        250 active computers required  4  internal  packet  buffers  for
        reliable  operation.   The  additional  EU handlers for SJFB and
        SBFB monitors listed in the  following  table  have  4  internal
        packet buffers instead of the nominal 2 packet buffers.  


        Summary of prebuilt 4 buffer EU device drivers:


        RT-11 VERSION   [5.3]   [5.4]   [5.5]      [5.6 ...]
                        -----   -----   -----      ---------
        eusjm4.[ext]    SJ/FB   SJ/FB   SJ/FB          -
        eusjp4.[ext]    SJ/FB   SJ/FB   SJ/FB          -
        
        eusbm4.[ext]      -       -       -          SB/FB
        eusbp4.[ext]      -       -       -          SB/FB
        
        
                                SPFUNS               DEVICE
                       206  207  210  211  212    EIS  PSW  UMR
                       ---  ---  ---  ---  ---    ---  ---  ---
        eusjm4.[ext]    X    -    -    X    X      -    -    -
        eusjp4.[ext]    X    -    -    X    X      -    X    -
        
        eusbm4.[ext]    X    -    -    -    X      -    -    -
        eusbp4.[ext]    X    -    -    -    X      -    X    -
        
        
        ______.[ext]    ext == sys, for monitor  with   device timeout
                        ext == nys, for monitor without device timeout
        
        ____m4.[ext]    Drivers are for LSI/11 processors not having a
                        processor status word (PSW == @#177776).
        
        ____p4.[ext]    Drivers are for all processors with a
                        processor status word (PSW == @#177776).
        
        __sj__.[ext]    Drivers contain special function 211 (abort
                        job i/o) for RT11SJ monitors.


        ETHERNET DEVICE HANDLERS                                PAGE 6-6
        ALTERNATE DEUNA DEVICE HANDLERS


        6.4  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), 211 (abort job  i/o),  and  212
             (device timeout / reset) do not require device alloca-
             tion.  




        6.5  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 6-7
        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
        
                Receive  Timeout / Reset        212
                Transmit Timeout / Reset        212


        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.  


        6.5.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 6-8
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        6.5.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 6-9
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        6.5.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 6-10
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        6.5.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.  


        6.5.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 6-11
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        6.5.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 6-12
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        6.5.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.  


        6.5.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 6-13
        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


        6.5.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 6-14
        USE OF SPECIAL FUNCTIONS (.SPFUN)


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


        6.5.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.  


        6.5.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 6-15
        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


        6.5.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 6-16
        USE OF SPECIAL FUNCTIONS (.SPFUN)


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


        6.5.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 6-17
        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


        6.5.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 6-18
        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


        6.5.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 6-19
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        6.5.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


        6.5.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 6-20
        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


        6.5.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 6-21
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        6.5.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 6-22
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        6.5.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


        6.5.11  Timeout / Reset (.SPFUN 212) 


           The  functionality of the timeout / reset special function is
        equivalent to an internal device timeout.  This  implemenatation
        allows  the  handlers to be assembled for use with monitors with
        or without device timeout functionality.  A user call  to  spfun
        212  aborts  any pending transmit packet, the network handler to
        be cleared, and the network device to be restarted.  The  actual
        device timeout interval is determined by the user program.  




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


        6.5.11.1  Receive Timeout / Reset  - 

           The  receive  timeout  /  reset (blkn = 0) causes the receive
        timeout counter to be incremeneted.  

           The  following  is  the  form of the special function Receive
        Timeout / Reset (.SPFUN 212):  

        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 212
        
                buf     is not used
        
                wcnt    is not used
        
                blkn    0
        
                crtn    is the entry point of a completion routine


        6.5.11.2  Transmit Timeout / Reset  - 

           The  transmit  timeout / reset (blkn = 1) causes the transmit
        timeout counter to be incremeneted.  

           The  following  is  the form of the special function Transmit
        Timeout / Reset (.SPFUN 212):  

        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 212
        
                buf     is not used
        
                wcnt    is not used


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


        
                blkn    1
        
                crtn    is the entry point of a completion routine


        6.6  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
        code.  


        6.6.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


        ETHERNET DEVICE HANDLERS                               PAGE 6-25
        HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2


        6.6.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
        
                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.  


        6.6.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




        ETHERNET DEVICE HANDLERS                               PAGE 6-26
        HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2


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













                                    CHAPTER 7

                           BUILDING THE TCP/IP PACKAGE





        7.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.  

             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 assume 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.EIS  to  copy  the EIS
                 specific  files  into  the  C:   directory   with   the
                 appropriate .SAV and .OBJ file types.  

             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.  




        BUILDING THE TCP/IP PACKAGE                             PAGE 7-2
        TCP/IP PACKAGE


        7.2  TCP/IP PACKAGE 


           The  TCP/IP 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   disks   SRDSK1.DSK,  SRDSK2.DSK,
                 SRDSK3.DSK, and SRDSK4.DSK to a disk  or  logical  disk
                 having at least 10000 blocks of free space.  

             2.  Use the command file BLDRT.SET to create the RT-11 con-
                 ditional files.  

             3.  The  command  file BLDALL.COM will compile and link the
                 complete TCP/IP Package.  Inspect BLDALL.COM to see how
                 each  individual component is built.  An unloaded 11/73
                 processor will take from 40 to 50  minutes  to  compile
                 and link the complete package.  

             4.  Rename all .SAV files to .SXV files.  

             5.  The  command file RTV53.INS or RTV56.INS may be used to
                 copy all the files necessary to  configure  a  complete
                 implementation  of  the TCP/IP Package for RT-11 to the
                 TCP:  directory.  (This includes all the files found on
                 logical disks RTDSK1.DSK, RTDSK2.DSK, and RTDSK3.DSK). 



        7.3  COMPILING OPTIONS 


           The TCP/IP 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.  VTCPIP.H for
        TCPIP.SAV, which contains define statements that have been  com-
        mented  out  to exclude the diagnostics.  Several other programs
        have optional sections that may be disabled  by  commenting  out
        selected define statements.  














                                    CHAPTER 8

                               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 24 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.  DVDSK1    EQ/EU Device Drivers 
            14.  DVDSK2    NC/NQ/NU Device Drivers 

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

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

            18.  RTDOC     SS and RT Package Documentation 
            19.  TSXDOC    TSX Package Documentation 
            20.  RNODSK    Package Documentation in RNO Format 



        DISTRIBUTION DISKS                                      Page 8-2
        


            21.  RTHTML    RT-11 Docs in HTML Format 
            22.  TSHTML    TSX-Plus Docs in HTML Format 
            23.  SSHTML    Small System Docs in HTML Format 

            24.  TCPIPM    Minimal Distribution 















                                   APPENDIX A

                                 HIDDEN OPTIONS





        A.1  DISABLE PASSWORD 


           The  -b  option  will disable the user/password query in pro-
        grams TELNET, RTELNT, FTP, RFTP, CNCT, RCNCT, MAIL,  and  MMAIL.
        Local  users normally are not required to use passwords when ac-
        tivating TELNET, FTP, or CNCT.  The MAIL and MMAIL programs  and
        the  network  server programs RTELNT, RFTP, and RCNCT should not
        specify the -b option for security reasons.  














                                   APPENDIX B

                 TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG





        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG          Page B-2
        


        B.1  VERSION 2.40 

        V02.40
        15-Jun-2008
            PORTIN.C
                Updated makesocket() socket scanning to
                start socket closing on orphaned sockets
                after suitable timeout periods.
            CLIUTL.C
                Fixed code in listen() which would cause an
                inifinite loop if the socket state change to
                SLISTEN was not detected.  Added error checking
                for listen() startup failure.
            RHTTP.C, RPOP3.C, RAUTH.C, RGOPH.C, RSMTP.C, RLPD.C
            RCNCT.C, RPCNCT.C, RFTP.C, RTLNTA.C, and RPTLNA.C
                Scan for end of line and terminate line fixed
                for possible line buffer overflow.
                Added error checking for listen() startup
                failure and to detect socket corruption.
            FTPB.C, FTPL.C, and PMON.C
                Added error checking for listen() startup
                failure.
            TELNET.C and CNCT.C
                Updated various common constructs of the type a->b
                located throughout the programs to use a common
                value.  Removed program wide global values from
                function argument lists.
            JOBMON.MAC
                Corrected the system call to the TSX 'job status'
                emt.
            EQ.MAC
                Updated the EQ device driver interrupt processing
                to be more consistant with the EU device driver.
            DFAULT.H, LCLSKT.C, GBLSKT.C, and SKTSKT.C
                Reduced maximum number of TCPIP 'sockets'
                to 16.
        
            TSX-Plus Observations:
                When configuring the NGR parameter in TSGEN.MAC
                (The total number of 'shared' global regions
                used by all jobs) the minimum value must be set
                to the sum of the number of time share lines
                plus the total number of subprocess windows
                plus the number of TCPIP sockets plus one.
                This is required even though the subprocess
                windows are not shared.
        
                When configuring the TBLDEF parameters
                in TSGEN.MAC, e.g. with
        
                    TBLDEF      2.,8.,10.,1.
        


        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG          PAGE B-3
        VERSION 2.40


                a value of 2 + 8 + 16 + 1 is the minimum value
                required for NGR.
        
                It has been observed that if the detached jobs
                parameter is increased much beyond 10. TSX
                becomes unstable with heavy network access and
                will consistently freeze. This effect is quite
                repeatable and may change with different system
                configurations. (TSX-Plus V6.5)


        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG          PAGE B-4
        VERSION 2.40


        B.2  VERSION 2.39 

        V02.39
        15-Jan-2008
            RFTP.C
                Because the SIZE command always reports file sizes
                as multiples of 512 bytes, transfers of ASCII files
                may become problematic if the FTP client compares
                the transferred file size to the SIZE command file
                size as they are in general NOT the same.  Thus
                the default has been changed to report the SIZE
                command as NOT implemented.  The -f option has been
                added to enable the SIZE command if required.


        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG          PAGE B-5
        VERSION 2.39


        B.3  VERSION 2.38 

        V02.38
        26-Mar-2007
            MAILER.C
                Increased the maximum line length from 128
                to 512 characters.  Various header lines
                were exceeding 180 characters causeing
                malformed headers when truncated to 128
                characters.


        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG          PAGE B-6
        VERSION 2.38


        B.4  VERSION 2.37 

        V02.37
        1-Feb-2007
            RFTP.C
                Updated RFTP.C for RT-11 to not specify any
                files as logical disks.  The RT-11 version
                does not support the change directory (cd)
                command into logical disk files.
            TSXUTL.C
                Fixed the change directory (cd) string parsing
                to ignore superfluous NULL subdirectorys,
                e.g.: cd dm5://xdsk.dsk/, cd dl3://, ...
            PASWRD.C
                Corrected the 'Access Directory' selection
                processing and display code.


        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG          PAGE B-7
        VERSION 2.37


        B.5  VERSION 2.36 

        V02.36
        15-Nov-2006
            MAILER.C
                Corrected mailer scan and forwarding routines.
            MAILA.C, MAILB.C, and MMAIL.C
                Added code to 'complete' an email address
                when only a local username is given.


        B.6  VERSION 2.35 

        V02.35
        1-Oct-2006
            MAILA.C, MAILB.C, MMAIL.C, MAILER, and RSMTP.C
                Corrected mail 'index' file processing which
                synchronizes the receiving and sending of
                mail messages.
            MAILER.C and PASWRD.C
                Added mail forwarding for local users.  A user's
                mail may be forwarded to another local user account
                or to a remote computer.  The MAILER service should
                now be activated by MAIL, MMAIL, RSMTP, and RPOP3.


        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG          PAGE B-8
        VERSION 2.35


        B.7  VERSION 2.34 

        V02.34
        1-Jan-2006
            RFTP.C
                The command filespecs are now scanned to remove
                badly formed file paths created by browsers
                which assume only heirarchical file structures.
        
            RTLNTA.C, RTLNTB.C, RCNCT.C, RFTP.C, RHTTP.C,
            RLPD, RSMTP.C, RPOP3.C, RGOPH.C, and RAUTH.C
                The TCP/IP server programs have been updated to
                allow an alternate service port to be specified
        
            TSX-Plus Only:.
                The TCPIP.CFG file must specify a unique server
                command file for the alternate port option.
                e.g.:
        
                service=33,1,TCP:rtelnt.s33     # alternate port
        
                rtelnt.s33:
                        ...
                        run/single TCP:rtelnt
                        -actlqpyz 0 2 1 33 PAS:paswrd.fil 15 600
        
            RPTLNA.C, RPTLNB.C, RPCNCT.C,
            TELNET.C, CNCT.C, FTPA.C, MAILA.C, and PMON.C
                Various changes/corrections in help text,
                no changes in program code.


        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG          PAGE B-9
        VERSION 2.34


        B.8  VERSION 2.33 

        V02.33
        15-Jan-2004
            EI.MAC, EU.MAC, and EQ.MAC
                The network device drivers have been rewritten
                to remove the internal device time-out code.
                This change means that the RT-11 monitors no longer
                are required to have the sysgen device time-out
                option.  The device time-out code is now implemented
                through a device handler special function (spfun 212).
                The spfun 212 is an optional device handler function.
                To utilize this device time-out option the user
                program must include coding to determine when a
                time-out has occurred and call spfun 212 to initialize
                the network interface.  [ The removal of the device
                time-out code simplifies the handler.  The device
                handler no longer requires the .timio, .ctimio, or
                .sync processing. This also means that the time-out
                configuration is completely user programmable. ]
        
            NIV56.MAC, NCV56.MAC, NQV56.MAC, and NUV56.MAC
                Added the special function spfun 212 to the DEC
                network device drivers.  This function adds
                device time-out to the NC, NQ, and NU handlers.
                The functionality is identical to that described
                for the EQ and EU drivers above.
        
            ENDRVR.MAC and SYSTEM.MAC
                Updated ENDRVR.MAC to support the Network Device
                Time-Out special function spfun 212.  If the
                transmission of a packet does not complete or
                return an error within 4 seconds then an xmit
                time-out call (spfun 212, block = 1) initializes
                the network interface.  Similarly, if no packets
                are recieved within 1 minute then a recv time-out
                call (spfun 212, block = 0) initializes the
                network interface.  The spfun 212 calls update
                the driver time-out counters if the ethernet
                status block option (spfun 210) is included.
                SYSTEM.MAC was updated to include extra queue
                elements for the two added .mrkt/.cmkt timing
                channels.


        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG         PAGE B-10
        VERSION 2.33


        B.9  VERSION 2.32 

        V02.32
        1-Apr-2003
            TCP.C:
                Updated ackcheck(), estabcon(), checkfin(), and
                the routines calling these functions.
                The function ackcheck() notifies the client
                program via an event that data has been ACKed.
                Redundant CONCLOSE event removed from checkfin().
                The function estabcon() notifies the client program
                with the CONDATA event and now does not ACK the
                recieved data.  The ACK will be generated when
                the data has been DEQUEUEd by the client program.
        
            SERVER.C and SRVUTL.C:
                Moved checking for output data with outqpsh()
                to ntsleep() (from SERVER.C to SRVUTL.C).
                
            TCP.C, EVTDEF.H, and DFAULT.H:
                A long standing 'synchronization' problem between
                the TCPIP server and the client programs has been
                found.  No event was being sent from the server
                program to the clients when the outgoing data
                had been accepted by the remote host.  A new
                event has been added to the CONCLASS: CONSENT.
                This new event has been added to the event
                definitions in EVTDEF.H.  The function ackcheck()
                in TCP.C has been updated for the synchronization
                and repeated ACK checks.  This correction
                has allowed the removal of all 'transfer delay'
                timimg code in modules FTPA.C, FTPB.C, FTPL.C,
                RFTP.C, RHTTP.C, and RGOPH.C.
        
            SRVUTL.C, CLIUTL.H, and PRODEF.H:
                Added the code to allow the last packet transferred
                by transq() to be immediately retransmitted.
                This is the note in transq():
        
                /*
                 * This is really %#@&$*.
                 * Most systems use a 'delayed ACK' when receiving
                 * small packets.  This may result in very low
                 * transfer rates.  Some systems will ACK on an
                 * immediate duplicate.  So here we send a duplicate
                 * packet if enabled.
                 */
        
                This retransmit is only applicable to data packets
                not ACK packets or any other control packet.
        
                Updated the routines outqpsh() and outqoff().


        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG         PAGE B-11
        VERSION 2.32


        
            FTPA.C, FTPB.C, FTPL.C, RFTP.C, RHTTP.C, and RGOPH.C:
                To significantly increase data transfer rates the
                fread(), fwrite(), and NULL removal routines have
                been replaced with MACRO routines. The function
                blkrd() reads multiple disk blocks directly into
                the read buffer.  The function blkwt() writes
                data directly from the data buffer.  The function
                blkstr() is a fast NULL removal routine replacing
                the previous 'for' loop.
        
            FTPA.C, FTPB.C, FTPPI.H, and FTPL.C:
                Added the command 'duplicate' to enable/disable
                the transmission of duplicate packets.
        
            RFTP.C, RHTTP.C, and RGOPH.C:
                Added the command line option '-w' to enable
                duplicate packet transmission.
        
            CLIUTL.C, FTPB.C, FTPL.C, and RFTP.C:
                Added code to copy the mseg, mwin, and mtu values
                from the 'control socket' to the 'data socket'.
        
            RFTP.C:
                Check for a repeated PORT command.  Terminate
                connection on third identical PORT command.
        
            SCRNAC.C:
                Updated SKTMON Screen A to indicate if duplicate
                packet transmission is enabled/disabled.
        
            SCRNDI.C and SCRNPT.C:
                Updated display window to enumerate the individual
                TCP/IP flags.
        
            V_____.H:
                Restored the '#define DEBUGOPTION' in all
                the V_____.H header files.  This allows
                individual programs to be compiled with
                debugging.  The '#define DEBUGOPTION' in
                DFAULT.H remains to allow all programs to
                be compiled with debugging by changing just
                this one file.


        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG         PAGE B-12
        VERSION 2.32


        B.10  VERSION 2.31 

        V02.31
        1-Dec-2002
            FTPL.C:
                Updated STOR and RETR functionality to include
                RT-11 Device Read and Write. (Required a change
                to the C I/O Library routine IOFOPA.MAC)
                Added check for file size specification before
                appending "[-1]" to write file specifications.
        
            TSXUTL.C:
                Added check for file size specification before
                appending "[-1]" to write file specifications.
        
            RTFILE.C:
                Various minor changes to rtparse(), rtwild(),
                and rtstring().
        
            IOFOPA.MAC:
                Observations of RT-11 / TSX-Plus .csispc responses
                which in turn required a modification to the C-Library
                I/O routine to maintain compatability with all
                versions of RT-11 and TSX-Plus:
        
                        Mode          RT (V5.3)       TSX-Plus
                        ----          ---------       --------
                        DY0:            ok              ok
                        DY0:=           error           ok
                        DY0:.           ok              ok
                        DY0:.=          error           ok
                        DY0:[-1]        error           ok
                        DY0:[-1]=       error           ok
                        DY0:A           ok              ok
                        DY0:A=          ok              ok
                        DY0:.E          ok              ok
                        DY0:.E=         error           ok
                        DY0:A.          ok              ok
                        DY0:A.=         ok              ok
                        DY0:A[-1]       error           ok
                        DY0:A[-1]=      ok              ok
                        DY0:A.[-1]      error           ok
                        DY0:A.[-1]=     ok              ok
                        DY0:.E[-1]      error           ok
                        DY0:.E[-1]=     error           ok
        
            EU.MAC:
                Discovered that the difference between a DELUA and
                DEUNA network cards' interrupt response to running
                out of read-buffers would cause the DEUNA to enter
                an interrupt race condition in the handler.  This
                problem would result in exceedingly slow transfers,


        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG         PAGE B-13
        VERSION 2.31


                a driver hang, or system crash.  A minor driver
                change has corrected this problem.


        TCP/IP PACKAGE FOR TSX-PLUS / RT-11 CHANGE LOG         PAGE B-14
        VERSION 2.31


        B.11  VERSION 2.30 

        V02.30
        25-Oct-2002
                Slow file transfer problems caused by TCPIP server
                packet processing routines not updating the transfer
                flag skt->out.lasttime properly.  Files updated:
                SERVER.C, SRVUTL.C, TCP.C, and DFAULT.H
        
                Changed port number sequence to a pseudo random
                value based on the current clock ticks.  File
                PROTIN.C modified.
        
                SUSPND.MAC suspend/resume code was modified.
        
                Server programs RFTP.C, RHTTP.C, and RGOPH.C updated.
                Client programs FTPB.C and FTPL.C updated.
        
                The RPTLNT.C file was split into RPTLNA.C and RPTLNB.C
                because of the C compiler complaints of 'OUT-OF-SPACE'.
        
                Moved the '#define DEBUGOPTION' to VRSION.H from
                all the V_____.H header files.
        
        4-July-2002
                Fixed a possible problem in RPOP3.C [topline()] which
                could cause file truncation if mail file exceeds
                32767 lines.


Return to TCP/IP Documentation Index

... Home Page

Last Updated: June 2008