TCP/IP Package for TSX-Plus Documentation



                                 TCP/IP Package


                                       for


                                    TSX-Plus




                            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  TSX-PLUS SYSTEM GENERATION                        3-1 
          3.1     BUSTYPE                                            3-1 
          3.1.1     TSGEN Unibus Mapping Modification                3-2 
          3.2     NGR                                                3-3 
          3.3     DEVXMR                                             3-4 
          3.4     IOABT                                              3-4 
          3.5     DEVDEF                                             3-5 
          3.6     MESSAGE COMMUNICATION CHANNELS                     3-5 
          3.7     LINE DEFINITIONS                                   3-6 
          3.8     DETACH                                             3-7 
          3.9     RECORD LOCKING                                     3-7 
          3.10    USER COMMAND LINKAGE                               3-8 

        CHAPTER 4  PROGRAM OPTIONS                                   4-1 
          4.1     TCPIP                                              4-1 
          4.2     SKTMON                                             4-7 
          4.3     PASWRD                                             4-8 
          4.4     TELNET                                             4-9 
          4.5     RTELNT                                            4-10 
          4.6     RPTLNT                                            4-11 
          4.7     CNCT                                              4-13 
          4.8     RCNCT                                             4-14 
          4.9     RPCNCT                                            4-15 
          4.10    FTP                                               4-18 
          4.11    FTPL                                              4-21 
          4.12    RFTP                                              4-23 
          4.13    MAIL                                              4-24 
          4.14    MMAIL                                             4-26 
          4.15    RPOP3                                             4-28 
          4.16    MAILER                                            4-30 
          4.17    RSMTP                                             4-32 
          4.18    RAUTH                                             4-34 
          4.19    LLPQRM                                            4-35 
          4.19.1    LLPC                                            4-37 
          4.19.2    LLPQ                                            4-37 
          4.19.3    LLPR                                            4-37 
          4.19.4    LLPRM                                           4-37 
          4.20    RLPD                                              4-38 
          4.21    LPRINT                                            4-39 
          4.22    LPQRM                                             4-41 
          4.22.1    LPC                                             4-43 
          4.22.2    LPQ                                             4-43 
          4.22.3    LPR                                             4-43 


                                                                 Page ii
        


          4.22.4    LPRM                                            4-43 
          4.23    NTSND                                             4-43 
          4.24    RHTTP                                             4-44 
          4.25    RGOPH                                             4-46 
          4.26    PMON                                              4-51 
          4.27    UTIL                                              4-52 
          4.27.1    LCD                                             4-53 
          4.27.2    LDEL                                            4-53 
          4.27.3    LDIR                                            4-53 
          4.27.4    LLS                                             4-53 
          4.27.5    LMKDIR                                          4-53 
          4.27.6    LPRO                                            4-54 
          4.27.7    LRENAM                                          4-54 
          4.27.8    LRMDIR                                          4-54 
          4.27.9    LUNP                                            4-54 
          4.28    LDISKS                                            4-54 
          4.29    ABRTCP                                            4-55 
          4.30    ABRTJB                                            4-55 

        CHAPTER 5  ETHERNET DEVICE HANDLERS                          5-1 
          5.1     DEVICE HANDLER SYSTEM SUMMARY                      5-3 
          5.2     DEVICE HANDLER FEATURE SUMMARY                     5-4 
          5.3     ALTERNATE DEUNA DEVICE HANDLERS                    5-5 
          5.4     PROGRAMMING                                        5-6 
          5.5     USE OF SPECIAL FUNCTIONS (.SPFUN)                  5-6 
          5.5.1     Unit Specification (.SPFUN 200)                  5-7 
          5.5.1.1     Allocate Unit                                  5-8 
          5.5.1.2     Deallocate Unit                                5-9 
          5.5.2     Promiscuous Mode (.SPFUN 201)                   5-10 
          5.5.2.1     Enable Promiscuous Mode                       5-10 
          5.5.2.2     Disable Promiscuous Mode                      5-11 
          5.5.3     Protocol Type (.SPFUN 202)                      5-12 
          5.5.3.1     Enable Protocol Type                          5-12 
          5.5.3.2     Disable Protocol Type                         5-13 
          5.5.4     Multicast Address (.SPFUN 203)                  5-14 
          5.5.4.1     Enable Multicast Address                      5-14 
          5.5.4.2     Disable Multicast Address                     5-15 
          5.5.5     Transmit Ethernet Frame (.SPFUN 204)            5-16 
          5.5.6     Receive Ethernet Frame (.SPFUN 205)             5-17 
          5.5.7     Frame Queueing (.SPFUN 206)                     5-18 
          5.5.7.1     Enable Frame Queueing                         5-19 
          5.5.7.2     Disable Frame Queueing                        5-19 
          5.5.8     Get Ethernet Address (.SPFUN 207)               5-20 
          5.5.9     Get Ethernet Status Block (.SPFUN 210)          5-21 
          5.5.10    Abort Job I/O (.SPFUN 211)                      5-22 
          5.5.11    Timeout / Reset (.SPFUN 212)                    5-22 
          5.5.11.1    Receive Timeout / Reset                       5-23 
          5.5.11.2    Transmit Timeout / Reset                      5-23 
          5.6     HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2           5-24 
          5.6.1     Get PLAS Allocation Size (.SPFUN 300)           5-24 
          5.6.2     Initialize Handler (.SPFUN 301)                 5-25 
          5.6.3     ENPLAS.SAV - Allocating the PLAS Region         5-25 


                                                                Page iii
        


        CHAPTER 6  BUILDING THE TCP/IP PACKAGE                       6-1 
          6.1     C COMPILER                                         6-1 
          6.2     TCP/IP PACKAGE                                     6-2 
          6.3     COMPILING OPTIONS                                  6-2 

        CHAPTER 7  DISTRIBUTION DISKS                                7-1 

        APPENDIX A  HIDDEN OPTIONS                                   A-1 
          A.1     DISABLE PASSWORD                                   A-1 
          A.2     SUBDIRECTORY UNIT SELECTION                        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 TXS-Plus, Version 2.40 

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

        Operating System:  TSX-Plus(RT-11) 

        Source Langauge:  DECUS C and RT-11 Macro 

        Abstract:  

           The 'TCP/IP Package for TSX-Plus' provides TCP/IP networking
        services for multiple users with TSX-Plus.  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 TSX-PLUS systems.  The programs are written in C
        and RT-11 macro.  A security system allows usernames/passwords
        and authorizations for each client/server component to be speci-
        fied for each user.  

           The sources for the 'TCP/IP Package for TSX-Plus' 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
        cleint service uses 1 region except for the FTP variants (FTP,
        FTPL, and RFTP) which use 1 additional region during data
        transfers.  The network control program TCPIP uses one addi-
        tional region for fragmented packet reconstruction.  

           The hardware requirements are a TSX-PLUS system having a
        minimum of 512k bytes of memory, a DEQNA/DELQA (Q-Bus) or
        DEUNA/DELUA (Unibus) ethernet card with associated transceiver
        (thick, thin, or CAT-5) and optionally a pair of dedicated
        serial lines for each simultaneously active remote Telnet ses-
        sion.  



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

                                                                  Page v
        


        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 TSX-PLUS system device.  The logical  name  as-
        signments 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 TSX-Plus executables are found on log-
        ical disks TSDSK1.DSK, TSDSK2.DSK, and TSDSK3.DSK.  The required
        device  handlers  are  found on the logical disks DVDSK1.DSK and
        DVDSK2.DSK.  


        1.1  INSTALLATION CONFIGURATIONS 


           The TSX-Plus 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 TSXUCL.INS for a  complete  set  of
        definitions.   Edit the 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.  DETACH.TSX       detached job startup command file 
           2.  TCPIP.COM        TCPIP startup command file 
           3.  TCPIP.SAV        TCPIP network server Program 
           4.  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.SRV       TELNET server detached job startup 
           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.SRV        CNCT server detached job startup 
           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.SRV         FTP server detached job startup 
           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.SRV        RPOP3 server detached job startup 
           2.  RPOP3.COM        RPOP3 server startup command file 
           3.  RPOP3.SAV        RPOP3 server program 


        14.  MAILER Task 
           1.  MAILER.SRV       MAILER task detached job startup 
           2.  MAILER.COM       MAILER task startup command file 
           3.  MAILER.SAV       MAILER task program 


        15.  Remote MAIL Server 
           1.  RSMTP.SRV        MAIL server detached job startup 
           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.SRV         RLPD server detached job startup 
           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.SRV       LPRINT task detached job startup 
           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.SRV        RHTTP server detached job startup 
           2.  RHTTP.COM        RHTTP server startup command file 
           3.  RHTTP.SAV        RHTTP server program 


        22.  Remote Gopher Server 
           1.  RGOPH.SRV        RGOPH server detached job startup 
           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.SRV        RAUTH server detached job startup 
           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.  KILLM.SAV        Kill all Client/Server Messages 
           5.  REMOVE.COM       Remove all Client/Server global regions 




        1.3  INSTALLATION IN DETAIL 


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

           Under TSX-Plus the most convenient installation is:  

             1.  Create TSXTCP.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], 
                 a logical disk for the MAIL directory 

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

        SOFTWARE INSTALLATION                                   PAGE 1-7
        INSTALLATION IN DETAIL


             5.  Optionally Create GOPHER.DSK[nnn], 
                 a logical disk for the GOPHER 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:, HTP:, and GPH:  logical disks are what-
                      ever is needed.  



             6.  Copy  the  contents  of  the distribution disks TSDSK1,
                 TSDSK2, and TSDSK3 to TCP:.  

             7.  Copy  and  rename (as EQ.TSX or EU.TSX) the appropriate
                 device handler from the  logical  disks  DVDSK1.DSK  or
                 DVDSK2.DSK to SY:.  (See the chapter on device handlers
                 for  more  information  on  selecting  the  appropriate
                 device handler.) 

             8.  Edit  the  file  TCP:TSXUCL.INS to include the CCL com-
                 mands you want.  

             9.  Create  a  command file which will mount and assign the
                 logical   disk   for   TCP:    and   add    the    line
                 '@TCP:TSXUCL.INS' at the end.  Include this file in the
                 LINEx.TSX startup files.  

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

            11.  Edit  the  command file TCP:PASWRD.COM to mount and as-
                 sign the logical disk PAS:.  

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

            13.  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 re-
                 quired for your network.  

            14.  Edit  TCP:TCPIP.COM to mount TCP:  and assign units 0-3
                 of the device handler to EN0-3.  Copy this file to SY:. 



        SOFTWARE INSTALLATION                                   PAGE 1-8
        INSTALLATION IN DETAIL


            15.  Edit  or  create  the  TSX  detached  job  startup file
                 SY:DETACH.TSX      to      include       the       line
                 'detach sy:tcpip.com'.  

            16.  Edit  the files TCP:*.SRV to mount and assign the logi-
                 cal disks for TCP:, PAS:, MAI:, HTP:, and GPH:  as  re-
                 quired  by  the particular service.  (Since the servers
                 are run as detached jobs these need to be defined  when
                 the job starts.) 

            17.  Update  your TSX configuration by following the section
                 on TSX-Plus system generation.  

            18.  Reboot your TSX-Plus system.  Verify that the job TCPIP
                 is running.  (If the job did not start then check  that
                 SY:TCPIP.COM  has  TCP:   defined correctly, the confi-
                 guration file path is correct, the  device  assignments
                 are correct, and file TCPIP.CFG is correct.  Try start-
                 ing the  TCPIP  server  from  the  console:   ru/single
                 TCP:TCPIP,  enter  the  command  line  arguments at the
                 argv:  prompt and see what errors the program gives.) 

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

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

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

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

            23.  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
                 RFTP.SRV  configuration  is  correct  and that password
                 checking is working) 




        SOFTWARE INSTALLATION                                   PAGE 1-9
        INSTALLATION IN DETAIL


           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 TSX-PLUS 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 EQ.TSX handler requires 36k 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  ac-
        tivating  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 EQ18.TSX 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 com-
        munications 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 TSX-PLUS 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)  EU22.TSX  handler  re-
        quires  22k  bytes  for  code and packet buffers and the network
        server program TCPIP.SAV will use 64k bytes  for  a  maximum  of
        approximately 86k 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)  EU18.TSX  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 sessions
        then a pair of dedicated  serial  lines  is  required  for  each
        simultaneously  active session.  Each dedicated pair consists of
        a TSX-PLUS timeshare line cross connected to a  CL  line  via  a
        NULL-MODEM cable.  

           For  a  DLV11-J  four port serial board the cross connections
        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.   Two  such  cables  allow  PORT1
        (TSX-timeshare line) to connect  to  PORT2(CL  line)  and  PORT3
        (TSX-timeshare  line)  to connect to PORT4(CL line) allowing two
        simultaneous remote Telnet  sessions.   The  DLV11-J  baud  rate
        should  be  limited to 4800 as two serial ports are required for
        each session and  is  a  relatively  heavy  burden  even  for  a
        LSI-11/73.  


        HARDWARE INSTALLATION                                   PAGE 2-3
        SERIAL PORT INSTALLATION


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













                                    CHAPTER 3

                           TSX-PLUS SYSTEM GENERATION




           The TSX-Plus system must be regenerated to provide the neces-
        sary device support, system services, and  options  required  by
        the  TCP/IP  Package.  What follows is a description of each op-
        tion that should be examined and updated  to  allow  the  proper
        operation of the various hardware and software components of the
        TCP/IP Package.  


        3.1  BUSTYPE 



                                      NOTE

             The DEQNA/DELQA device used by the TCP/IP Package is a
             QBUS device.   The  DEUNA/DELUA  device  used  by  the
             TCP/IP Package is a Unibus device.  



           BUSTYP defines the machine bus structure for TSX-Plus.  Their
        are two possible machine bus structures supported by TSX-Plus  -
        the  QBUS  (LSI) and the UNIBUS.  Select one of these parameters
        below to specify the bus support desired.  Use the following in-
        formation for choosing the correct bus structure.  

        QBUS - 11/23, 11/23-Plus, 11/73, and Professional.  
        UNIBUS - 11/24, 11/34a, 11/44, and 11/60.  

        BUSTYP = QBUS   ;Specify machine bus structure (UNIBUS/QBUS) 


        TSX-PLUS SYSTEM GENERATION                              PAGE 3-2
        BUSTYPE


        3.1.1  TSGEN Unibus Mapping Modification 


           A  change to the TSX-Plus TSGEN.MAC file is required to allo-
        cate 4 UNIBUS MAPPING REGISTERS for the 22-bit  EU22.TSX  driver
        when used with systems having more than 248.  kbytes of address-
        able memory.  

           The  mapping  registers are only required when more than 248.
        Kbytes of memory are used by TSX-Plus on a Unibus system.  

           The following was excerpted from TSGEN.MAC:  
                ******************************************************
                        ;
                        ;  Generate tables for Unibus map registers
                        ;
                                .GLOBL  UMRBAS,UMREND,UMRWHD
                        UMRWHD: .WORD   0
                                .MACRO  UMRDEF  NUM
                                .BYTE   CURUMR          ;UM$UMR
                                .BYTE   NUM             ;UM$NMR
                        .WORD   NUM*4096.               ;UM$WDS
                        .WORD   0                       ;UM$IOQ
                CURUMR  =       CURUMR+NUM
                        .ENDM   UMRDEF
                ;  Define UMR sets in order of size -- small to large.
                CURUMR  =       5       ;Map regs 0-4 always mapped
                UMRBAS:
                        .IF     EQ,      ;Generate only
                        UMRDEF  1.                      ;for UNIBUS
                        UMRDEF  1.                      ;machines
                        UMRDEF  4.
                        UMRDEF  4.
                        UMRDEF  8.
                        UMRDEF  8.
                        .ENDC
                UMREND:
                ******************************************************

           Change  the  first  'UMRDEF 8.' to 'UMRDEF 4.' This will free
        the last 4 UNIBUS  MAPPING  REGISTERS  for  use  by  the  22-bit
        EU22.TSX driver.  


        TSX-PLUS SYSTEM GENERATION                              PAGE 3-3
        BUSTYPE


        3.2  NGR 



                                      NOTE

             The  TCP/IP Package uses PLAS regions for passing data
             and parameters between  the  network  server  and  the
             various  client/server tasks.  Each active client pro-
             gram uses at least one  region.   FTP  variants  (FTP,
             FTPL,  or  RFTP)  use an additional region during data
             transfers.  



           The  number of shared global PLAS regions that can be created
        by all jobs.  

        NGR = 27.       ;Number of global PLAS regions

            NOTE:

                When configuring the NGR parameter in TSGEN.MAC
                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.
        
                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)




        TSX-PLUS SYSTEM GENERATION                              PAGE 3-4
        DEVXMR


        3.3  DEVXMR 



                                      NOTE

             The DEQNA/DELQA/DEUNA/DELUA device handlers use 1 PLAS
             region.  



           Some  device handlers allocate extended memory (PLAS) regions
        for their use.  For example, the DU and MU handlers each require
        one  PLAS region.  If you are using any other handlers which re-
        quire extended memory regions, include the number of regions re-
        quired.  

        DEVXMR = 4.     ;Number of XM regions for device handlers 


        3.4  IOABT 



                                      NOTE

             The  TCP/IP  Package  Network  Server  which  uses the
             DEQNA/DELQA/DEUNA/DELUA handlers internally queue  the
             network  requests.   If IOABT is not set to 1 then the
             Network Server program cannot be aborted.   This  will
             also  be  true  for the remote TELNET and CNCT servers
             which must abort I/O through the CL device handler.  



           The  IOABT  parameter  controls  the action taken by TSX-Plus
        when a job terminates execution.  If IOABT=0, TSX-Plus will wait
        for  all  outstanding I/O pending for the job to complete before
        the job is actually terminated.  If IOABT=1, TSX-Plus will  call
        the  handler  abort  entry point for all outstanding I/O pending
        for the job.  Note, the "SET IO NO ABORT" keyboard  command  may
        be used to change the value of this parameter.  

        IOABT = 1       ;0==>I/O rundown, 1==>I/O abort 




        TSX-PLUS SYSTEM GENERATION                              PAGE 3-5
        DEVDEF


        3.5  DEVDEF 



                                      NOTE

             The  device handler, EQ.TSX or EU.TSX must be added to
             the list of system handlers loaded by TSX-PLUS at sys-
             tem startup.  The handler may be mapped, uses DMA, and
             should not allow SET operations on the loaded handler. 



        DEVDEF  ,DMA,MAPH,NOSET 


        3.6  MESSAGE COMMUNICATION CHANNELS 



                                      NOTE

             Each  active client/server program of the TCP/IP Pack-
             age allocates 1 message channel for interprocess  com-
             munication.  



           Define  parameters  pertaining  to  the inter-program message
        communication feature.  If this feature is not wanted,  set  all
        four parameters to 0 (zero).  

           Maximum number of message communication channels which may be
        simultaneously in use.  

        MAXMC   =       24.     ;Max message channels 


        Maximum message length (bytes).  

        MSCHRS  =       200.    ;Max message length (bytes) 


        Maximum  of messages which may be held in queue.  

        MAXMSG  =       64.     ;Max queued messages 


        Maximum  of requests for messages that may be held in queue.  

        MAXMRB  =       24.     ;Max  pending message requests 



        TSX-PLUS SYSTEM GENERATION                              PAGE 3-6
        MESSAGE COMMUNICATION CHANNELS


           The message length used by TCPIP programs is only 16.  bytes.
        Thus the MSCHRS term may be changed to '16.' if  no  other  user
        programs use the message channels.  


        3.7  LINE DEFINITIONS 



                                      NOTE

             If  the  remote  TELNET  or  CNCT  servers  are  to be
             enabled, then a pair of cross connected  serial  lines
             must  be  added  to the Line Definition table for each
             active session.  The  following  Line Definitions  il-
             lustrate  the  additions  required.   If more than one
             pair of lines are added then  select  sequential  time
             share  and  sequential  CL lines.  The SILO length de-
             finition for the CL line should  be  greater  than  or
             equal  to the maximum number of characters it will re-
             ceive in .5 seconds (120 for 2400 baud or 240 for 4800
             baud).   This  will reduce XON/XOFF sequences and max-
             imize the serial transfer rate.  


        ; The TBLDEF macro call requires four arguments:
        ;   1. The number of real time-sharing lines on machine.
        ;   2. The number of subprocess jobs.
        ;   3. The number of detached jobs.
        ;   4. The number of dedicated CL lines.
        
        TBLDEF  3.,10.,6.,1.    ;# Real, # Subprocess,
                                ;# Detached, # CL lines
        
        ; #3 time-sharing line is cross linked to CL0:
                LINDEF  340,175600
                CMDFIL  LINE3.TSX
                TRMTYP  VT100
                FLAGS   NRMFLG
                LINEND
        
        ; CL0: is cross linked to #3 time-sharing line
                CLDEF   0,350,175610
                SILO    256.,12.,4.
                CLEND




        TSX-PLUS SYSTEM GENERATION                              PAGE 3-7
        DETACH


        3.8  DETACH 



                                      NOTE

             The  command  file  DETACH.TSX  is used to startup the
             Network Server.  



           Use  the  "DETACH" macro here to declare any start-up command
        files and associated parameters (up to 80 characters) to be  run
        as detached jobs:  

        DETACH           ;Start-up detached job 


        3.9  RECORD LOCKING 



                                      NOTE

             If the MAIL, RSMTP, MMAIL, MAILER, RPOP3, or RLPD pro-
             grams are to be used then record locking is  necessary
             to properly update the mail/lprint sequence files.  



           Define  parameters  pertaining  to record (block) locking for
        shared files.  If the shared file block locking facility is  not
        wanted, set all of these parameters to 0 (zero).  

           Maximum  number  of  shared  files  which  may be open simul-
        taneously.  Note that several  users  accessing  the  same  file
        count as 1.  

        MAXSF   =       4.      ;Max number of shared files 


        Maximum  number  of  I/O  channels  which  all  users may simul-
        taneously have open to shared files.  Note, this  is  the  total
        number for all users not for each user.  

        MAXSFC  =       16.     ;Max  shared file channels 


        Maximum number of blocks which may be simultaneously held locked
        by any channel.  That is, max blocks locked per channel.  

        MXLBLK  =       16.     ;Max blocks locked per channel 


        TSX-PLUS SYSTEM GENERATION                              PAGE 3-8
        USER COMMAND LINKAGE


        3.10  USER COMMAND LINKAGE 



                                      NOTE

             The  file  TCP:TSXUCL.INS contains over 40 UCL defini-
             tions, however a typical user may require only  a  few
             of them.  



           U$CL is a flag that controls whether the User Command Linkage
        is to be used to allow users to define their own  commands.   If
        U$CL  is  non-zero the UCL facility is enabled and users may de-
        fine their own system commands.  If U$CL is zero,  user  defined
        commands will not be supported by the system.  Note:  if the UCL
        facility is enabled, the TSXUCL.SAV file must be placed  on  the
        system disk.  

        U$CL    =       1       ;0==>No UCL program 
                                ;1==>UCL program 


        Number of user-defined commands that can be stored by TSXUCL for
        each job.  (The number of blocks required in  the  SY:TSXUCL.DAT
        file  is  approximately  equal to the number of commands per job
        times the total number of time-sharing lines divided by 5).  

        UCLMNC  =       12.     ;Maximum user-defined 
                                ;commands per job 














                                    CHAPTER 4

                                 PROGRAM OPTIONS




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


        4.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 [?] [-d level] [-f filespec] [-v]
                ?               List this Help Text and Exit TCPIP
                f  filespec     Configuration File


        The  startup  command  file  TCPIP.COM deassigns all devices and
        then assigns the network server device EN to be the  DEQNA/DELQA
        device  EQ or the DEUNA/DELUA device EU.  Four EN units are used
        by TCPIP, three are used to  receive  IP(EN0:),  ARP(EN1:),  and
        RARP(EN2:)  packets and one is used to transmit(EN3:) all packet
        types.  



        PROGRAM OPTIONS                                         PAGE 4-2
        TCPIP


                deassign
                dismount ld0:
                dismount ld1:
                dismount ld2:
                dismount ld3:
                dismount ld4:
                dismount ld5:
                dismount ld6:
                dismount ld7:
                mount ld7: dl1:tsxtcp.dsk
                assign ld7: TCP:
                assign eq0: en0:
                assign eq1: en1:
                assign eq2: en2:
                assign eq3: en3:
                run/single TCP:tcpip
                ^1 ^2 ^3 ^4 ^5 ^6


        The  TCPIP  program is usually started at TSX-Plus startup using
        the file DETACH.TSX:  

                detach sy:tcpip.com

           The   TCPIP.SAV   program  requires  the  configuration  file
        TCP:TCPIP.CFG which defines all the parameters required to  con-
        figure the network server.  Typical configuration parameters are
        detailed in the following configuration file:  


        PROGRAM OPTIONS                                         PAGE 4-3
        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 4-4
        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 4-5
        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=LOG: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,2,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 4-6
        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 4-7
        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.  


        4.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  startup  command  file  contains  an assignment to allow
        SKTMON to access the status of the device driver:  

                assign eq0: en0:
                run/single TCP:sktmon 0 ^1




        PROGRAM OPTIONS                                         PAGE 4-8
        PASWRD


        4.3  PASWRD 


           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, CNCT or printing services) 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/password specifications is limited by the program
        memory size to about 50.  The PASWRD.FIL contains  1  block  for
        each  user/password  specification.  The PASWRD.COM command file
        should be updated to reflect the location of the password files.
        A  seperate  directory  allows  the  exclusion  of its access by
        remote FTP sessions, local users or remote telnet sessions  with
        appropriate TSX-PLUS access rights may still access the password
        files.  

           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  directory/sub-
        directory/file specifications 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 directory/subdirectory/file access rights are only
             used by the remote FTP server.  Logins via  TELNET  or
             CNCT  rely  upon  any  security  features  enabled  in
             TSX-PLUS and not by the PASWRD.FIL specifications.  




        PROGRAM OPTIONS                                         PAGE 4-9
        TELNET


        4.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 [?] [-h] [-p filespec]
                ?               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 startup command file TELNET.COM follows:  

                run/single TCP:telnet
                -hbp PAS:paswrd.fil ^1 ^2 ^3 ^4 ^5 ^6




        PROGRAM OPTIONS                                        PAGE 4-10
        RTELNT


        4.5  RTELNT 


           RTELNT  is  a  server program for remote TELNET sessions into
        TSX-Plus.  The program startup options are:  

          RTELNT [?] [-hmp filespec] [-acelqrtvyz] [parameters]
                ?       List the Help Text and Exit RTELNT
                a       Attach to Service
                c  i    CL Line i is cross connected to TSX Line j
                e       Enable Monitoring of all Transactions
                h       Specify the Help Filespec
                l  n    Number of CL/TSX line pairs
                m       Specify the Message Filespec
                p       Specify the Password Filespec
                q  n    Specify an Alternate Connection Port
                r       Restart RTELNT after Disconnect
                t  j    TSX Line j is cross connected to CL 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:  

                run/single TCP:rtelnt
                -ctlpyz 0 3 1 PAS:paswrd.fil 15 600  ^1 ^2 ^3 ^4 ^5 ^6


        The program is normally invoked by the TCPIP network server pro-
        gram by the command file RTELNT.SRV:  

                deassign
                dismount ld0:
                dismount ld1:
                dismount ld2:
                dismount ld3:
                dismount ld4:
                dismount ld5:
                dismount ld6:
                dismount ld7:
                assign sy: wf:
                mount ld6: dl1:paswrd.dsk
                assign ld6: PAS:
                mount ld7: dl1:tsxtcp.dsk
                assign ld7: TCP:
                run/single TCP:rtelnt
                -actlpyz 0 3 1 PAS:paswrd.fil 15 600


        The  service entry in the TCP/IP configuration file reflects the


        PROGRAM OPTIONS                                        PAGE 4-11
        RTELNT


        default RTELNT port of 23.  If an alternate  port  is  specified
        for  RTELNT  using the '-q' option then the TCP/IP configuration
        file must be changed to match the port selection.  A server pro-
        gram  may  be  configured to respond to multiple TCP/IP ports by
        creating a service specification entry /  service  command  file
        pair for each additional port.  


        The  RTELNT help and message files are RTELNT.HLP and RTELNT.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.  


        4.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] [-aceklqrtvyz] [parameters]
                ?       List the Help Text and Exit RPTLNT
                a       Attach to Service
                c  i    CL line number
                e       Enable Monitoring of all Transactions
                h       Specify the Help Filespec
                k  c    Break Character
                l  n    Number of CL lines to scan
                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 4-12
        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:  

                run/single TCP:rptlnt
                -rctqpmyz 1 14 1173 PAS:paswrd.fil ...
                        ... TCP:rptlnt.msg 15 600 ^1 ^2 ^3 ^4 ^5 ^6


        The program is normally invoked by the TCPIP network server pro-
        gram by the command file RPTLNT.SRV:  



        PROGRAM OPTIONS                                        PAGE 4-13
        RPTLNT


        deassign
        dismount ld0:
        dismount ld1:
        dismount ld2:
        dismount ld3:
        dismount ld4:
        dismount ld5:
        dismount ld6:
        dismount ld7:
        assign sy: wf:
        mount ld6: dl1:paswrd.dsk
        assign ld6: PAS:
        mount ld7: dl1:tsxtcp.dsk
        assign ld7: TCP:
        run/single TCP:rptlnt
        -actqpmyz 1 14 1173 PAS:paswrd.fil 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.  

           For  services  which  are  automatically started by the TCPIP
        server the 'service=' entry in the TCPIP.CFG file  must  specify
        the same port number as contained in the .SRV startup file.  The
        number of sessions must be 1.  Additional ports may be specified
        using separate .SRV startup files.  


        4.7  CNCT 


           The  CNCT program allows the user to initiate a connection to
        a remote TSX-Plus host for a terminal session.  This program  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 [?] [-h] [-p filespec]
                ?               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


        PROGRAM OPTIONS                                        PAGE 4-14
        CNCT


                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 startup command file CNCT.COM follows:  

                run/single TCP:cnct
                -hbp PAS:paswrd.fil ^1 ^2 ^3 ^4 ^5 ^6


        4.8  RCNCT 


           RCNCT  is  a  server  program  for  remote CNCT sessions into
        TSX-Plus.  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] [-acelqrtvyz] [parameters]
                ?       List the Help Text and Exit RCNCT
                a       Attach to Service
                c  i    CL line i is cross connected to TSX line j
                e       Enable Monitoring of all Transactions
                h       Specify the Help Filespec
                l  n    Number of CL/TSX line pairs
                m       Specify the Message Filespec
                p       Specify the Password Filespec
                q  n    Specify an Alternate Connection Port
                r       Restart RCNCT after Disconnect
                t  j    TSX line j is cross connected to CL 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 RCNCT.COM:  

                run/single TCP:rcnct
                -ctlpyz 0 3 1 PAS:paswrd.fil 15 600 ...
                        ... ^1 ^2 ^3 ^4 ^5 ^6



        PROGRAM OPTIONS                                        PAGE 4-15
        RCNCT


           The  program  is normally invoked by the TCPIP network server
        program by the command file RCNCT.SRV:  

                deassign
                dismount ld0:
                dismount ld1:
                dismount ld2:
                dismount ld3:
                dismount ld4:
                dismount ld5:
                dismount ld6:
                dismount ld7:
                assign sy: wf:
                mount ld6: dl1:paswrd.dsk
                assign ld6: PAS:
                mount ld7: dl1:tsxtcp.dsk
                assign ld7: TCP:
                run/single TCP:rcnct
                -actlpyz 0 3 1 PAS:paswrd.fil 15 600


        The  service entry in the TCP/IP configuration file reflects the
        default RCNCT port of 27.  If an alternate port is specified for
        RCNCT  using  the '-q' option then the TCP/IP configuration file
        must be changed to match the port selection.  A  server  program
        may  be configured to respond to multiple TCP/IP ports by creat-
        ing a service specification entry / service  command  file  pair
        for each additional port.  


        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.  


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



        PROGRAM OPTIONS                                        PAGE 4-16
        RPCNCT


           The program startup options are:  

          RPCNCT [?] [-hmp filespec] [-aceklqrtvyz] [parameters]
                ?       List the Help Text and Exit RPCNCT
                a       Attach to Service
                c  i    CL line number
                e       Enable Monitoring of all Transactions
                h       Specify the Help Filespec
                k  c    Break Character
                l  n    Number of CL lines to scan
                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 4-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:  

                run/single TCP:rpcnct
                -rctqpmyz 1 14 1173 PAS:paswrd.fil ...
                        ... TCP:rpcnct.msg 15 600 ^1 ^2 ^3 ^4 ^5 ^6


        The program is normally invoked by the TCPIP network server pro-
        gram by the command file RPCNCT.SRV:  



        PROGRAM OPTIONS                                        PAGE 4-18
        RPCNCT


        deassign
        dismount ld0:
        dismount ld1:
        dismount ld2:
        dismount ld3:
        dismount ld4:
        dismount ld5:
        dismount ld6:
        dismount ld7:
        assign sy: wf:
        mount ld6: dl1:paswrd.dsk
        assign ld6: PAS:
        mount ld7: dl1:tsxtcp.dsk
        assign ld7: TCP:
        run/single TCP:rpcnct
        -actqpmyz 1 14 1173 PAS:paswrd.fil 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.  

           For  services  which  are  automatically started by the TCPIP
        server the 'service=' entry in the TCPIP.CFG file  must  specify
        the same port number as contained in the .SRV startup file.  The
        number of sessions must be 1.  Additional ports may be specified
        using separate .SRV startup files.  


        4.10  FTP 


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

          FTP [?] [-f filespec] [-p filespec]
                   [-ginrv] [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


        PROGRAM OPTIONS                                        PAGE 4-19
        FTP


        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 FTP startup command file is:  

                run/single TCP:ftp
                -hbp PAS:paswrd.fil ^1 ^2 ^3 ^4 ^5 ^6


        The FTP 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
        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
        lmkdir          make a local directory
        lprotect        set protection flag on local file
        lpwd            show local working directory
        lrename         rename a local file
        lrmdir          remove a local directory
        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


        PROGRAM OPTIONS                                        PAGE 4-20
        FTP


        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
        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 or get can be used to restore a device from
        an image file (must specify binary format):  

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




        PROGRAM OPTIONS                                        PAGE 4-21
        FTPL


        4.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 [?] [-ghinrv] [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
        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 FTPL startup command file is:  

                run/single TCP:ftpl
                -hb -p PAS:paswrd.fil ^1 ^2 ^3 ^4 ^5 ^6


        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


        PROGRAM OPTIONS                                        PAGE 4-22
        FTPL


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




        PROGRAM OPTIONS                                        PAGE 4-23
        RFTP


        4.12  RFTP 


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

          RFTP [?] [-hmp filespec] [-aefqruvwyz] [parameters]
                ?       List the Help Text and Exit RFTP
                a       Attach to Service
                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 command file RFTP.COM:  

                run/single TCP:rftp
                -rpyz PAS:paswrd.fil 15 600 ...
                        ... ^1 ^2 ^3 ^4 ^5 ^6


        The program is normally invoked by the TCPIP network server pro-
        gram by the command file RFTP.SRV:  

                deassign
                dismount ld0:
                dismount ld1:
                dismount ld2:
                dismount ld3:
                dismount ld4:
                dismount ld5:
                dismount ld6:
                dismount ld7:
                assign sy: wf:
                mount ld6: dl1:paswrd.dsk
                assign ld6: PAS:
                mount ld7: dl1:tsxtcp.dsk
                assign ld7: TCP:
                run/single TCP:rftp
                -aspyz 0 4 PAS:paswrd.fil 15 600




        PROGRAM OPTIONS                                        PAGE 4-24
        RFTP


        The  service entry in the TCP/IP configuration file reflects the
        default RFTP port of 21.  If an alternate port is specified  for
        RFTP  using  the  '-q' option then the TCP/IP configuration file
        must be changed to match the port selection.  A  server  program
        may  be configured to respond to multiple TCP/IP ports by creat-
        ing a service specification entry / service  command  file  pair
        for each additional port.  


        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 command file RFTHLP.COM  uses
        the  subdirectories  utility LDISKS to create a logical disk map
        for inclusion in the RFTP.HLP file.  

           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:  

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




        4.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] [-h] [-t n] [-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
                t  n            MAILER Delivery Task Number
                z  s            Connection Timeout in Seconds


        The  Intermediate Host IP option provides a means of routing the
        internet mail through another host machine.  The  TSX-Plus  MAIL
        program  does not support retry operations if the mail cannot be
        delivered, using an intermediate host  supporting  retries  will


        PROGRAM OPTIONS                                        PAGE 4-25
        MAIL


        provide this feature to the TSX-Plus 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 command file MAIL.COM:  

                run/single TCP:mail
                -hpzt PAS:paswrd.fil 60 1 ^1 ^2 ^3 ^4 ^5 ^6


        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
        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
        lmkdir          make a local directory
        lprotect        set protection flag on local file
        lpwd            show local working directory
        lrename         rename a local file
        lrmdir          remove a local directory
        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


        PROGRAM OPTIONS                                        PAGE 4-26
        MAIL


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

           The  MAILER  delivery  task number should be specified if im-
        mediate mail forwarding is required.  The task  number  must  be
        that specified in the TCPIP.CFG for the MAILER task.  The MAILER
        task is started by MAIL when the program exits.  


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



        PROGRAM OPTIONS                                        PAGE 4-27
        MMAIL


          MMAIL [?] [-fp filespec] [-t n] [-h]
                ?               List the Help Text and Exit MMAIL
                f  filespec     Command File
                h               Help list
                p  filespec     Specify the Password Filespec
                t  n            MAILER Delivery Task Number


        The  MAILER  delivery  task  number must be specified.  The task
        number must be that specified in the TCPIP.CFG  for  the  MAILER
        task.  The MAILER task is started by MMAIL when mail is sent.  

           The MMAIL program is invoked from the command file MMAIL.COM: 

                run/single TCP:mmail
                -hpt PAS:paswrd.fil 1 ^1 ^2 ^3 ^4 ^5 ^6


        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
        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
        lmkdir          make a local directory
        lprotect        set protection flag on local file
        lpwd            show local working directory
        lrename         rename a local file
        lrmdir          remove a local directory
        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


        PROGRAM OPTIONS                                        PAGE 4-28
        MMAIL


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


        4.15  RPOP3 


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



        PROGRAM OPTIONS                                        PAGE 4-29
        RPOP3


          RPOP3 [?] [-p filespec] [-aeqrtvyz] [parameters]
                ?       List the Help Text and Exit RPOP3
                a       Attach to Service
                e       Enable Monitoring of RPOP3 Transactions
                p       Specify the Password Filespec
                q  n    Specify an Alternate Connection Port
                r       Restart RPOP3 after Disconnect
                t  n    TCPIP Task Number for Mail Delivery Agent
                v       Verbose Mode
                y  s    Login Timeout in seconds
                z  s    Inactivity Timeout in seconds


        The  MAILER  delivery  task  number must be specified.  The task
        number must be that specified in the TCPIP.CFG  for  the  MAILER
        task.  The MAILER task is started by RPOP3 when mail is sent.  

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

                run/single TCP:rpop3
                -rptyz PAS:paswrd.fil 1 15 600 ...
                        ... ^1 ^2 ^3 ^4 ^5 ^6


        The program is normally invoked by the TCPIP network server pro-
        gram by the command file RPOP3.SRV:  

                deassign
                dismount ld0:
                dismount ld1:
                dismount ld2:
                dismount ld3:
                dismount ld4:
                dismount ld5:
                dismount ld6:
                dismount ld7:
                assign sy: wf:
                mount ld6: dl1:paswrd.dsk
                assign ld6: PAS:
                mount ld7: dl1:tsxtcp.dsk
                assign ld7: TCP:
                run/single TCP:rpop3
                -aptyz PAS:paswrd.fil 1 15 600


        The  service entry in the TCP/IP configuration file reflects the
        default RPOP3 port of 110.  If an alternate  port  is  specified
        for  RPOP3  using  the '-q' option then the TCP/IP configuration
        file must be changed to match the port selection.  A server pro-
        gram  may  be  configured to respond to multiple TCP/IP ports by
        creating a service specification entry /  service  command  file


        PROGRAM OPTIONS                                        PAGE 4-30
        RPOP3


        pair for each additional port.  

           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.  


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

          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


        PROGRAM OPTIONS                                        PAGE 4-31
        MAILER




        The  Intermediate Host IP option provides a means of routing the
        internet mail through another host machine.  The  TSX-Plus  MAIL
        program  does not support retry operations if the mail cannot be
        delivered, using an intermediate host  supporting  retries  will
        provide this feature to the TSX-Plus 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 command file MAILER.COM:  

                run/single TCP:mailer
                -p PAS:paswrd.fil ^1 ^2 ^3 ^4 ^5 ^6


        The program is normally invoked by the TCPIP network server pro-
        gram by the command file MAILER.SRV:  

                deassign
                dismount ld0:
                dismount ld1:
                dismount ld2:
                dismount ld3:
                dismount ld4:
                dismount ld5:
                dismount ld6:
                dismount ld7:
                assign sy: wf:
                mount ld6: dl1:paswrd.dsk
                assign ld6: PAS:
                mount ld7: dl1:tsxtcp.dsk
                assign ld7: TCP:
                run/single TCP:mailer
                -piz PAS:paswrd.fil mail.domain.name 60


        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
        to  the  mail  system.  A user may have local and/or remote MAIL
        access (or no access) depending on the password file parameters. 


        PROGRAM OPTIONS                                        PAGE 4-32
        MAILER


           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.  


        4.17  RSMTP 


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

          RSMTP [?] [-hp filespec] [-aeiqrtvz] [parameters]
                ?       List the Help Text and Exit RSMTP
                a       Attach to Service
                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
                t  n    MAILER Delivery Task Number
                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 command file RSMTP.COM:  

                run/single TCP:rsmtp
                -rptz PAS:paswrd.fil 1 600  ^1 ^2 ^3 ^4 ^5 ^6


        The program is normally invoked by the TCPIP network server pro-
        gram by the command file RSMTP.SRV:  



        PROGRAM OPTIONS                                        PAGE 4-33
        RSMTP


                deassign
                dismount ld0:
                dismount ld1:
                dismount ld2:
                dismount ld3:
                dismount ld4:
                dismount ld5:
                dismount ld6:
                dismount ld7:
                assign sy: wf:
                mount ld6: dl1:paswrd.dsk
                assign ld6: PAS:
                mount ld7: dl1:tsxtcp.dsk
                assign ld7: TCP:
                run/single TCP:rsmtp
                -aptz PAS:paswrd.fil 1 600


        The  service entry in the TCP/IP configuration file reflects the
        default RSMTP port of 25.  If an alternate port is specified for
        RSMTP  using  the '-q' option then the TCP/IP configuration file
        must be changed to match the port selection.  A  server  program
        may  be configured to respond to multiple TCP/IP ports by creat-
        ing a service specification entry / service  command  file  pair
        for each additional port.  


        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.  




        PROGRAM OPTIONS                                        PAGE 4-34
        RAUTH


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

           ,  

           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
                a       Attach to Service
                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


        PROGRAM OPTIONS                                        PAGE 4-35
        RAUTH





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

                run/single TCP:rauth
                -rz 30


        The program is normally invoked by the TCPIP network server pro-
        gram by the command file RAUTH.SRV:  

                deassign
                dismount ld0:
                dismount ld1:
                dismount ld2:
                dismount ld3:
                dismount ld4:
                dismount ld5:
                dismount ld6:
                dismount ld7:
                mount ld7: dl1:tsxtcp.dsk
                assign ld7: TCP:
                run/single TCP:rauth
                -az 30


        The  service entry in the TCP/IP configuration file reflects the
        default RAUTH port of 113.  If an alternate  port  is  specified
        for  RAUTH  using  the '-q' option then the TCP/IP configuration
        file must be changed to match the port selection.  A server pro-
        gram  may  be  configured to respond to multiple TCP/IP ports by
        creating a service specification entry /  service  command  file
        pair for each additional port.  


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



        PROGRAM OPTIONS                                        PAGE 4-36
        LLPQRM


          LLPQRM [?] [-p filespec] [-t n] -o opt [opt arguments]
                ?               List the Help Text and Exit LLPQRM
                p  filespec     LPD configuration file
                t  n            TCPIP Task Number for LPD Delivery Agent
                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  delivery  task  number must be specified.  The task
        number must be that specified in the TCPIP.CFG  for  the  LPRINT
        task.   The LPRINT task is started by LLPQRM when a print job is
        queued by LPR option or the print queue is started  by  the  LPC
        option.  

           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


        Each of the options is invoked by a command file more indicative
        of its intended function.  (The "" around the  TSX-Plus  parame-
        ters  ^1 - ^6  are required to insure that the case of the argu-
        ments are not changed.) 




        PROGRAM OPTIONS                                        PAGE 4-37
        LLPQRM


        4.19.1  LLPC 


           LLPC.COM is the local start printer daemon command file.  

                run/single TCP:llpqrm
                -pto TCP:lpdqrm.cfg 2 lpc "^1" "^2" "^3" "^4" "^5" "^6"


        4.19.2  LLPQ 


           LLPQ.COM  is  the  local  check  printer queue status command
        file.  

                run/single TCP:llpqrm
                -pto TCP:lpdqrm.cfg 2 lpq "^1" "^2" "^3" "^4" "^5" "^6"


        4.19.3  LLPR 


           LLPR.COM is the local print command file.  

                run/single TCP:llpqrm
                -pto TCP:lpdqrm.cfg 2 lpr "^1" "^2" "^3" "^4" "^5" "^6"


        4.19.4  LLPRM 


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

                run/single TCP:llpqrm
                -pto TCP:lpdqrm.cfg 2 lprm "^1" "^2" "^3" "^4" "^5" "^6"


        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.  


        PROGRAM OPTIONS                                        PAGE 4-38
        LLPQRM


    (4) If  a filename is entered, then the specific file is checked and
        'system' queried for file deletion.  


        4.20  RLPD 


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

          RLPD [?] [-p filespec] [-aeqrtv] [parameters]
                ?       List the Help Text and Exit RLPD
                a       Attach to Service
                e       Enable Monitoring of RLPD Transactions
                p       Specify the Configuration Filespec
                q  n    Specify an Alternate Connection Port
                r       Restart RLPD after Disconnect
                t  n    TCPIP Task Number for RLPD Delivery Agent
                v       Verbose Mode


        The  LPRINT  delivery  task  number must be specified.  The task
        number must be that specified in the TCPIP.CFG  for  the  LPRINT
        task.   The  LPRINT  task is started by RLPD when a print job is
        received.  

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

                run/single TCP:rlpd
                -rpt TCP:lpdqrm.cfg 2 ^1 ^2 ^3 ^4 ^5 ^6


        The program is normally invoked by the TCPIP network server pro-
        gram by the command file RLPD.SRV:  

                deassign
                dismount ld0:
                dismount ld1:
                dismount ld2:
                dismount ld3:
                dismount ld4:
                dismount ld5:
                dismount ld6:
                dismount ld7:
                assign sy: wf:
                mount ld6: dl1:paswrd.dsk
                assign ld6: PAS:
                mount ld7: dl1:tsxtcp.dsk
                assign ld7: TCP:
                run/single TCP:rlpd
                -apt TCP:lpdqrm.cfg 2


        PROGRAM OPTIONS                                        PAGE 4-39
        RLPD




        The  service entry in the TCP/IP configuration file reflects the
        default RLPD port of 515.  If an alternate port is specified for
        RLPD  using  the  '-q' option then the TCP/IP configuration file
        must be changed to match the port selection.  A  server  program
        may  be configured to respond to multiple TCP/IP ports by creat-
        ing a service specification entry / service  command  file  pair
        for each additional port.  


        4.21  LPRINT 


           The  program  LPRINT is the backend printing daemon servicing
        printing on the TSX-Plus 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]
                ?               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


        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.  


        PROGRAM OPTIONS                                        PAGE 4-40
        LPRINT


        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 command file LPRINT.COM:  

                run/single TCP:lprint
                -p TCP:lpdqrm.cfg ^1 ^2 ^3 ^4 ^5 ^6


        The program is normally invoked by the TCPIP network server pro-
        gram by the command file LPRINT.SRV:  

                deassign
                dismount ld0:
                dismount ld1:
                dismount ld2:
                dismount ld3:
                dismount ld4:
                dismount ld5:
                dismount ld6:
                dismount ld7:
                assign sy: wf:
                mount ld6: dl1:paswrd.dsk
                assign ld6: PAS:
                mount ld7: dl1:tsxtcp.dsk
                assign ld7: TCP:
                run/single TCP:lprint
                -p TCP:lpdqrm.cfg


        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 4-41
        LPQRM


        4.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 [?] [-inpq 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 4-42
        LPQRM


          LPC [?] [-SP argument]
                ?               List the LPC Help Text and Exit LPQRM
                P  Queue Name   Remote Host Printer Queue
                S  IP Address   Remote Host Name / 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 "" around the  TSX-Plus  parame-
        ters  ^1 - ^6  are required to insure that the case of the argu-
        ments are not changed.) 




        PROGRAM OPTIONS                                        PAGE 4-43
        LPQRM


        4.22.1  LPC 


           LPC.COM is the remote start printer daemon command file.  

        run/single TCP:lpqrm
        -po TCP:lpdqrm.cfg lpc "^1" "^2" "^3" "^4" "^5" "^6"


        4.22.2  LPQ 


           LPQ.COM  is  the  remote  check  printer queue status command
        file.  

        run/single TCP:lpqrm
        -po TCP:lpdqrm.cfg lpq "^1" "^2" "^3" "^4" "^5" "^6"


        4.22.3  LPR 


           LPR.COM is the remote print command file.  

        run/single TCP:lpqrm
        -po TCP:lpdqrm.cfg lpr "^1" "^2" "^3" "^4" "^5" "^6"


        4.22.4  LPRM 


           LPRM.COM is the remote remove queued print file command file. 

        run/single TCP:lpqrm
        -po TCP:lpdqrm.cfg lprm "^1" "^2" "^3" "^4" "^5" "^6"


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

        PROGRAM OPTIONS                                        PAGE 4-44
        NTSND




        The NTSND program is invoked from the command file NTSND.COM:  

                run/single TCP:ntsnd
                -bp PAS:/paswrd/paswrd.fil ^1 ^2 ^3 ^4 ^5 ^6


        4.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] [-aeqrvwz] [parameters]
                ?       List the Help Text and Exit RHTTP
                a       Attach to Service
                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.  

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

                mount ld0: dl1:/http.dsk
                assign ld0: HTP:
                run/single TCP:rhttp
                -rspz 1 2 HTP:/home.htm 30 ^1 ^2 ^3 ^4 ^5 ^6


        The program is normally invoked by the TCPIP network server pro-
        gram by the command file RHTTP.SRV:  



        PROGRAM OPTIONS                                        PAGE 4-45
        RHTTP


                deassign
                dismount ld0:
                dismount ld1:
                dismount ld2:
                dismount ld3:
                dismount ld4:
                dismount ld5:
                dismount ld6:
                dismount ld7:
                assign sy: wf:
                mount ld0: dl1:http.dsk
                assign ld0: HTP:
                mount ld7: dl1:tsxtcp.dsk
                assign ld7: TCP:
                run/single TCP:rhttp
                -aspz 1 2 HTP:/file.ext 30


        The  service entry in the TCP/IP configuration file reflects the
        default RHTTP port of 80.  If an alternate port is specified for
        RHTTP  using  the '-q' option then the TCP/IP configuration file
        must be changed to match the port selection.  A  server  program
        may  be configured to respond to multiple TCP/IP ports by creat-
        ing a service specification entry / service  command  file  pair
        for each additional port.  




                                      NOTE

             The  slashs,  /.../,  are required to delimit the HTTP
             base directory.   If  a  device  or  (logical)  device
             specification  is  used,  HTP:,  then the slash is re-
             quired after the colon.  



           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:/http.dsk/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
        directory and subdirectories  (e.g.   /subdir/file.ext).   These
        requirements  provide  the most security for http requests which
        require no password authentication.  

           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.  




        PROGRAM OPTIONS                                        PAGE 4-46
        RGOPH


        4.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
                a       Attach to Service
                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:  




        PROGRAM OPTIONS                                        PAGE 4-47
        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 4-48
        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 4-49
        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 4-50
        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 command file RGOPH.COM:  

                run/single TCP:rgoph
                -rsp 0 4 TCP:rgoph.cfg ^1 ^2 ^3 ^4 ^5 ^6


        The program is normally invoked by the TCPIP network server pro-
        gram by the command file RGOPH.SRV:  



        PROGRAM OPTIONS                                        PAGE 4-51
        RGOPH


                deassign
                dismount ld0:
                dismount ld1:
                dismount ld2:
                dismount ld3:
                dismount ld4:
                dismount ld5:
                dismount ld6:
                dismount ld7:
                assign sy: wf:
                mount ld6: dl1:paswrd.dsk
                assign ld6: PAS:
                mount ld7: dl1:tsxtcp.dsk
                assign ld7: TCP:
                run/single TCP:rgoph
                -aspz 0 4 TCP:rgoph.cfg 600


        The  service entry in the TCP/IP configuration file reflects the
        default RGOPH port of 70.  If an alternate port is specified for
        RGOPH  using  the '-q' option then the TCP/IP configuration file
        must be changed to match the port selection.  A  server  program
        may  be configured to respond to multiple TCP/IP ports by creat-
        ing a service specification entry / service  command  file  pair
        for each additional port.  


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

        PROGRAM OPTIONS                                        PAGE 4-52
        PMON


                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:  

                run/single TCP:pmon
                -h ^1 ^2 ^3 ^4 ^5 ^6


        4.27  UTIL 


           The program UTIL is a compendium of various functions used to
        perform useful operations on TSX-Plus subdirectories.  The  com-
        mand 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.  




        PROGRAM OPTIONS                                        PAGE 4-53
        UTIL


        4.27.1  LCD 


           Change directory command file LCD.COM:  

                run/single TCP:util
                -sc 0 2 ^1
                @wf:cmdfil


        4.27.2  LDEL 


           Delete file command file LDEL.COM:  

                run/single TCP:util
                -d ^1


        4.27.3  LDIR 


           List directory command file LDIR.COM:  

                run/single TCP:util
                -l ^1


        4.27.4  LLS 


           List directory command file LLS.COM:  

                run/single TCP:util
                -l ^1


        4.27.5  LMKDIR 


           Make a subdirectory command file LMKDIR.COM:  

                run/single TCP:util
                -m ^1




        PROGRAM OPTIONS                                        PAGE 4-54
        UTIL


        4.27.6  LPRO 


           Set protection flag command file LPRO.COM:  

                run/single TCP:util
                -p ^1


        4.27.7  LRENAM 


           Rename a file command file LRENAM.COM:  

                run/single TCP:util
                -r ^1 ^2


        4.27.8  LRMDIR 


           Remove a subdirectory command file LRMDIR.COM:  

                run/single TCP:util
                -n ^1


        4.27.9  LUNP 


           Clear protection flag command file LUNP.COM:  

                run/single TCP:util
                -u ^1


        4.28  LDISKS 


           The  LDISKS  program  generates  a  subdirectory map for each
        device specified and optionally outputs the result to a file.  

          LDISKS [?] [-f filespec] [dev1] [dev2] ...
                ?               List this Help Text and Exit LDISKS
                f  filespec     Output File Specification


        The command file LDISKS.COM allows arbitrary input parameters:  

                run TCP:ldisks
                ^1 ^2 ^3 ^4 ^5 ^6



        PROGRAM OPTIONS                                        PAGE 4-55
        LDISKS


           An example of its use is:  

                LDISKS -f disk.map du2:


        The output file disk.map would look like:  

        Logical Subdirectories for du2:
        
              du2:
                `--> maclib[ 2000]
                `--> pictur[ 6000]
                `-->    phd[14000]
                `--> paswrd[  500]
                `-->   mail[ 1000]
                          `--> baldwi[  500]
                          `-->  guest[  200]
                          `--> anonym[  200]
        


        4.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   command   file
        ABRTCP.COM:  as:  

                run/single TCP:abrtcp


        4.30  ABRTJB 


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

                run/single TCP:abrtjb
                ^1 ^2 ^3 ^4 ^5 ^6

        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 5

                            ETHERNET DEVICE HANDLERS




           The   device  handlers  provide  support  for  the  following
        hardware controllers:  

             1.  DEQNA/DELQA (EQ and NQ Drivers) 

             2.  DEUNA/DELUA (EU and NU Drivers) 

             3.  DECNA (NC Driver) 


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

           The NC/NQ/NU device handlers are the DEC handlers modified to
        include special functions 206 (enable/disable frame bufferring),
        207  (get physical address), 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 5-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 5-3
        


        5.1  DEVICE HANDLER SYSTEM SUMMARY 

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


        RT-11 VERSION   [5.3]   [5.4]   [5.5]      [5.6 ...]    TSX
                        -----   -----   -----      ---------    ---
        eqsjms.[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 5-4
        DEVICE HANDLER SYSTEM SUMMARY


        5.2  DEVICE HANDLER FEATURE SUMMARY 

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


                                SPFUNS               DEVICE
                       206  207  210  211  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 5-5
        DEVICE HANDLER FEATURE SUMMARY


        5.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 5-6
        ALTERNATE DEUNA DEVICE HANDLERS


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




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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


        5.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 5-23
        USE OF SPECIAL FUNCTIONS (.SPFUN)


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


        5.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 5-24
        USE OF SPECIAL FUNCTIONS (.SPFUN)


        
                blkn    1
        
                crtn    is the entry point of a completion routine


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


        5.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 5-25
        HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2


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


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

                           BUILDING THE TCP/IP PACKAGE





        6.1  C COMPILER 


           The DECUS C Compiler and Assembler and the RT-11 Macro Assem-
        bler and Linker are required to build the the TCP/IP Package for
        TSX-Plus  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 up-
        dates 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  al-
        low  the  package to be recompiled.  The CC.SAV files were modi-
        fied by the TSX-Plus SETSIZ  program  to  allow  it  to  use  an
        extended program space of 64Kb.  

             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.  Copy the command files C:CC.TSX and C:ASM.TSX as CC.COM
                 and ASM.COM to the system device.  These TSX-Plus  com-
                 mand files are used to invoke the C compiler and AS as-
                 sembler.  



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


        6.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 BLDTSX.SET to create the TSX-Plus
                 conditional 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 .STV files.  

             5.  The  file  TSX.INS  may  be  used to copy all the files
                 necessary to configure a complete implementation of the
                 TCP/IP  Package  for  TSX-Plus  to the TCP:  directory.
                 (This includes all the files  found  on  logical  disks
                 TSDSK1.DSK, TSDSK2.DSK, and TSDSK3.DSK).  



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

                               DISTRIBUTION DISKS




           The  "TCP/IP  Package  for TSX-Plus", the "TCP/IP Package for
        RT-11", and the "FTP and Telnet Package for Small  Systems"  are
        distributed  as  a  combined  package  of 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 7-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.  


        A.2  SUBDIRECTORY UNIT SELECTION 


           The  default  LD units used by the client/server/utility pro-
        grams  for  subdirectory  access  are  LD2:   and  LD3:.   These
        defaults may be changed with the hidden -s option:  

                -s arg1 arg2

           where arg1 is the first LD unit number to use and arg2 is the
        maximum number of nested subdirectories.  The value of arg1+arg2
        must  be  less than or equal to 8, the total number of LD units.
        The default is arg1=2 and arg2=2.  














                                   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