TCP/IP Package for TSX-Plus 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-3 3.4 IOABT 3-4 3.5 DEVDEF 3-4 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 CNCT 4-11 4.7 RCNCT 4-12 4.8 FTP 4-13 4.9 FTPL 4-15 4.10 RFTP 4-17 4.11 MAIL 4-18 4.12 MMAIL 4-20 4.13 RPOP3 4-22 4.14 MAILER 4-23 4.15 RSMTP 4-25 4.16 LLPQRM 4-27 4.16.1 LLPC 4-28 4.16.2 LLPQ 4-28 4.16.3 LLPR 4-28 4.16.4 LLPRM 4-28 4.17 RLPD 4-29 4.18 LPRINT 4-30 4.19 LPQRM 4-32 4.19.1 LPC 4-34 4.19.2 LPQ 4-34 4.19.3 LPR 4-34 4.19.4 LPRM 4-34 4.20 NTSND 4-34 4.21 RHTTP 4-35 Page ii 4.22 RGOPH 4-37 4.23 UTIL 4-42 4.23.1 LCD 4-43 4.23.2 LDEL 4-43 4.23.3 LDIR 4-43 4.23.4 LLS 4-43 4.23.5 LMKDIR 4-43 4.23.6 LPRO 4-44 4.23.7 LRENAM 4-44 4.23.8 LRMDIR 4-44 4.23.9 LUNP 4-44 4.24 LDISKS 4-44 4.25 ABRTCP 4-45 4.26 ABRTJB 4-45 CHAPTER 5 ETHERNET DEVICE HANDLERS 5-1 5.1 DEVICE HANDLER SYSTEM SUMMARY 5-3 5.2 DEVICE HANDLER FEATURE SUMMARY 5-4 5.3 PROGRAMMING 5-5 5.4 USE OF SPECIAL FUNCTIONS (.SPFUN) 5-5 5.4.1 Unit Specification (.SPFUN 200) 5-6 5.4.1.1 Allocate Unit 5-7 5.4.1.2 Deallocate Unit 5-8 5.4.2 Promiscuous Mode (.SPFUN 201) 5-9 5.4.2.1 Enable Promiscuous Mode 5-9 5.4.2.2 Disable Promiscuous Mode 5-10 5.4.3 Protocol Type (.SPFUN 202) 5-11 5.4.3.1 Enable Protocol Type 5-11 5.4.3.2 Disable Protocol Type 5-12 5.4.4 Multicast Address (.SPFUN 203) 5-13 5.4.4.1 Enable Multicast Address 5-13 5.4.4.2 Disable Multicast Address 5-14 5.4.5 Transmit Ethernet Frame (.SPFUN 204) 5-15 5.4.6 Receive Ethernet Frame (.SPFUN 205) 5-16 5.4.7 Frame Queueing (.SPFUN 206) 5-17 5.4.7.1 Enable Frame Queueing 5-18 5.4.7.2 Disable Frame Queueing 5-18 5.4.8 Get Ethernet Address (.SPFUN 207) 5-19 5.4.9 Get Ethernet Status Block (.SPFUN 210) 5-20 5.4.10 Abort Job I/O (.SPFUN 211) 5-21 5.5 HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2 5-21 5.5.1 Get PLAS Allocation Size (.SPFUN 300) 5-22 5.5.2 Initialize Handler (.SPFUN 301) 5-22 5.5.3 ENPLAS.SAV - Allocating the PLAS Region 5-23 CHAPTER 6 BUILDING THE 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 Page iii APPENDIX A HIDDEN OPTIONS A-1 A.1 DISABLE PASSWORD A-1 A.2 SUBDIRECTORY UNIT SELECTION A-1 Page iv TCP/IP Package for TXS-Plus 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 8 global regions to support multiple client/server programs simultaneously. The number of regions used by each service is TELNET(1), RTELNT(1), FTP(2), FTPL(2), RFTP(2), MAIL(1), RSMTP(1), RPOP3(1), MMAIL(1), MAILER(1), CNCT(1), RCNCT(1), RHTTP(1), RGOPH(1), NTSND(1), LPQRM(1), and RLPD(1). 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 thick or thin wire adapter, and optionally a pair of dedicated serial lines for each simultaneously active remote Telnet session. Alan R. Baldwin Physics Department Kent State University Kent, Ohio 44242 tel: (330) 672 2531 fax: (330) 672 2959 Internet: baldwin@shop-pdp.kent.edu baldwin@ksuvxd.kent.edu CHAPTER 1 SOFTWARE INSTALLATION The 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 disk DVRDSK.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. CNCT Client 1. CNCT.COM CNCT startup command file 2. CNCT.SAV CNCT client program 5. 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 6. FTP Client 1. FTP.COM FTP startup command file 2. FTP.SAV FTP client program 3. FTPCMD.TXT FTP command help text 7. FTPL Client 1. FTPL.COM FTPL startup command file 2. FTPL.SAV FTPL client program 8. 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 9. MAIL Client 1. MAIL.COM MAIL startup command file 2. MAIL.SAV MAIL client program 3. MAICMD.TXT MAIL command help text 10. MMAIL Client 1. MMAIL.COM MMAIL startup command file 2. MMAIL.SAV MMAIL client program 3. MMACMD.TXT MMAIL command help text SOFTWARE INSTALLATION PAGE 1-4 SOFTWARE COMPONENTS 11. 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 12. MAILER Task 1. MAILER.SRV MAILER task detached job startup 2. MAILER.COM MAILER task startup command file 3. MAILER.SAV MAILER task program 13. 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 14. 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 15. 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 16. 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 17. 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 18. Remote Binary File Printing 1. NTSND.COM NTSND client startup command file 2. NTSND.SAV NTSND client program SOFTWARE INSTALLATION PAGE 1-5 SOFTWARE COMPONENTS 19. 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 20. 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 21. Password and Authorization Files 1. PASWRD.COM Password startup command file 2. PASWRD.SAV Password program 3. PASWRD.FIL Password and authorization data file 22. Client/Server Monitor 1. SKTMON.COM Monitor startup command file 2. SKTMON.SAV Monitor program 23. 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 24. 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 25. 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 SOFTWARE INSTALLATION PAGE 1-6 INSTALLATION IN DETAIL 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 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 disk DVRDSK.DSK to SY:. (See the chapter on device handlers for more informa- tion 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:. SOFTWARE INSTALLATION PAGE 1-7 INSTALLATION IN DETAIL 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:. 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) SOFTWARE INSTALLATION PAGE 1-8 INSTALLATION IN DETAIL 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) 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 or thin 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 or thin 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,<BUSTYP-UNIBUS> ;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 limits its use to 8. PLAS regions for passing data and parameters between the network server and the various client/server tasks. The number of regions used by each active client/server program is: TELNET(1), RTELNT(1), FTP(2), FTPL(2), RFTP(2), MAIL(1), RSMTP(1), RPOP3(1), MMAIL(1), MAILER(1), CNCT(1), RCNCT(1), RHTTP(1), RGOPH(1), NTSND(1), LPQRM(1), and RLPD(1). The number of shared global PLAS regions that can be created by all jobs. NGR = 20. ;Number of global PLAS regions 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 TSX-PLUS SYSTEM GENERATION PAGE 3-4 IOABT 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 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 <EQ>,DMA,MAPH,NOSET TSX-PLUS SYSTEM GENERATION PAGE 3-5 MESSAGE COMMUNICATION CHANNELS 3.6 MESSAGE COMMUNICATION CHANNELS NOTE Each active client/server program of the TCP/IP Pack- age uses 1 message channel. Those programs using mes- sage channels are: TCPIP, TELNET, RTELNT, FTP, FTPL, RFTP, MAIL, RSMTP, RPOP3, MMAIL, MAILER, CNCT, RCNCT, RHTTP, RGOPH, NTSND, LPQRM, and RLPD. 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 = 10. ;Max message channels Maximum message length (bytes). MSCHRS = 200. ;Max message length (bytes) Maximum of messages which may be held in queue. MAXMSG = 20. ;Max queued messages Maximum of requests for messages that may be held in queue. MAXMRB = 10. ;Max pending message requests 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. TSX-PLUS SYSTEM GENERATION PAGE 3-6 LINE DEFINITIONS 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 <SY:DETACH.TSX> ;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 [?] [-f filename] ? List this Help Text and Exit TCPIP f filename 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 / FTP / RFTP / CNCT / RCNCT / # MAIL / RSMTP # RPOP3 / MAILER / MMAIL # RLPD / LPRINT / LPQRM / LLPQRM # NTSND # RHTTP # RGOPH # 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 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=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 # mmail / pop3 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 [?] [-hp] ? List the Help Text and Exit TELNET h List the Help Text and Open Connection p filename 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 <CR> follow character M->S skip to end of buffer M->T toggle backspace/delete M->U erase line M->X close connection M->Y interrupt process M->@ send a true null character ^? abort Telnet session The startup command file TELNET.COM follows: run/single TCP:telnet -hbp PAS:/paswrd.dsk/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] [-acelrtvyz] [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 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.dsk/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 RTELNT help and message files are RTELNT.HLP and RTELNT.MSG PROGRAM OPTIONS PAGE 4-11 RTELNT respectively. The h or m options may be used if these files are not on the TCP: device. These files are created by the system manager and are not required. 4.6 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 [?] [-hp] ? List the Help Text and Exit CNCT h List the Help Text and Open Connection p filename Specify the Password Filespec The destination host specification may be the host name or host ip number. If the connection is to be made to an alternate port then follow the name/ip with the port number (decimal). The CNCT program supports the following command line options which are activated by the META character 'control A': M->C open capture file M->D close capture file M->F FTP [internet address] M->H this help screen M->I type my internet address M->O abort output M->Q are you there? M->S skip to end of buffer M->X close connection M->Y interrupt process ^? abort CNCT session The startup command file CNCT.COM follows: run/single TCP:cnct -hbp PAS:/paswrd.dsk/paswrd.fil ^1 ^2 ^3 ^4 ^5 ^6 PROGRAM OPTIONS PAGE 4-12 RCNCT 4.7 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] [-acelrtvyz] [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 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.dsk/paswrd.fil 15 600 ... ... ^1 ^2 ^3 ^4 ^5 ^6 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 PROGRAM OPTIONS PAGE 4-13 RCNCT The RCNCT help and message files are RCNCT.HLP and RCNCT.MSG respectively. The h or m options may be used if these files are not on the TCP: device. These files are created by the system manager and are not required. 4.8 FTP The FTP program provides reliable data transfer between cooperating computer systems. The FTP program startup options are: FTP [?] [-f filename] [-p filename] [-ghinrv] [destination host] ? List this Help Text and Exit FTP f filename Command File g Wildcard Expansion Disabled h FTP Help List i Interactive Prompting Off n AutoLogin Disabled on Connect p filename Specify the Password Filespec r Output Redirection Disabled v Verbose Mode Disabled The destination host specification may be the host name or host ip number. If the connection is to be made to an alternate port then follow the name/ip with the port number (decimal). If the work file device, wf:, is not assigned then the pro- gram will fail to execute the commands mget, mdel, or mls. The FTP startup command file is: run/single TCP:ftp -hbp PAS:/paswrd.dsk/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 PROGRAM OPTIONS PAGE 4-14 FTP - inquires if prompting is on dir list contents of remote directory get receive file hash toggle printing `#' for each 1024 bytes transferred help print local help information 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 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 PROGRAM OPTIONS PAGE 4-15 FTP wild toggle wildcard expansion of local file names > <filespec> 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] 4.9 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 [?] [-p filename] [-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.dsk/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 PROGRAM OPTIONS PAGE 4-16 FTPL delete delete remote file - inquires if prompting is on dir list contents of remote directory get receive file hash toggle printing `#' for each 1024 bytes transferred help print local help information interactive turn on prompting for multiple commands ls list contents of remote directory mdelete delete multiple files mget get multiple files mkdir make directory on the remote machine mode set file transfer mode mput send multiple files noninteractive turn off prompting on multiple commands open connect to remote ftp passive enable or disable passive transfer mode prompt toggle interactive prompting on multiple commands put send one file pwd print working directory on remote machine quit terminate ftp session and exit quote send arbitrary ftp command 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] PROGRAM OPTIONS PAGE 4-17 RFTP 4.10 RFTP RFTP is a server program for remote FTP sessions into TSX-Plus. The program startup options are: RFTP [?] [-hmp filespec] [-aeruvyz] ? List the Help Text and Exit RFTP a Attach to Service e Monitor all RFTP Transactions h Specify the Help Filespec m Specify the Message Filespec p Specify the Password Filespec r Restart RFTP after Disconnect u UNIX Style DIR Command 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 RFTP.COM: run/single TCP:rftp -rpyz PAS:/paswrd.dsk/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 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 PROGRAM OPTIONS PAGE 4-18 RFTP 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.11 MAIL The MAIL program provides local and internet mail services. This program is recommended for systems not requiring a POP3 server. The startup options for MAIL are: MAIL [?] [-fp filespec] [-i IP Address] [-z s] ? List the Help Text and Exit MAIL f filename Command File h Help list i IP Address Intermediate Host Name / IP Address p filename Specify the Password Filespec z s Connection Timeout in Seconds The Intermediate Host IP option provides a means of routing the internet mail through another host machine. The 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 MAIL program is invoked from the command file MAIL.COM: run/single TCP:mail -hpz PAS:/paswrd.dsk/paswrd.fil 60 ^1 ^2 ^3 ^4 ^5 ^6 PROGRAM OPTIONS PAGE 4-19 MAIL 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 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 PROGRAM OPTIONS PAGE 4-20 MAIL 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.12 MMAIL The MMAIL program is a front end interface to the MAILER ser- vice. This program is recommended for systems requiring a POP3 server. The startup options for MMAIL are: MMAIL [?] [-fp filespec] [-t n] [-h] ? List the Help Text and Exit MMAIL f filename Command File h Help list p filename 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.dsk/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 PROGRAM OPTIONS PAGE 4-21 MMAIL 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 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. PROGRAM OPTIONS PAGE 4-22 MMAIL 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.13 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: RPOP3 [?] [-p filespec] [-t n] [-z s] [-y s] [-aerv] ? List the Help Text and Exit RPOP3 a Attach to Service e Enable Monitoring of RPOP3 Transactions p filespec Specify the Password Filespec r Restart RPOP3 after Disconnect t n 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.dsk/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: PROGRAM OPTIONS PAGE 4-23 RPOP3 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 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.14 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. The program startup op- tions are: PROGRAM OPTIONS PAGE 4-24 MAILER MAILER [?] [-p filespec] [-i IP-address] [-t n] [-z s] [-ev] ? List the Help Text and Exit MAILER e Enable Monitoring of MAILER Transactions i IP-address Intermediate Host Name / IP Address p filespec Specify the Password Filespec t n (minutes) Continuous scanning time interval v Verbose Mode z s Conection 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 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.dsk/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 PROGRAM OPTIONS PAGE 4-25 MAILER temporarily 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. 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 RSMTP RSMTP is a server program for remote MAIL into TSX-Plus. The program startup options are: RSMTP [?] [-hp filespec] [-z s] [-aerv] ? List the Help Text and Exit RSMTP a Attach to Service e Monitor all RSMTP Transactions h Specify the Help Filespec p Specify the Password Filespec r Restart RSMTP after Disconnect t n Mail 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.dsk/paswrd.fil 1 600 ... ... ^1 ^2 ^3 ^4 ^5 ^6 PROGRAM OPTIONS PAGE 4-26 RSMTP The program is normally invoked by the TCPIP network server pro- gram by the command file RSMTP.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:rsmtp -aptz PAS:paswrd.fil 1 600 The specification of device wf: is required by RSMTP to tem- porarily store incoming mail messages before writing the mail to the users mail directories. If wf: is undefined, inaccessable, or not initialized then incoming mail will not be delivered. The MAIL programs MAIL.SAV, MMAIL.SAV, MAILER.SAV, RPOP3.SAV, and RSMTP.SAV make use of the password file to restrict access to the mail system. A user may have local and/or remote MAIL access (or no access) depending on the password file parameters. Incoming mail may be directed to a users' default directory or to a specific mail directory (specified in the password file). A typical configuration is to create a mail directory, SY:MAIL.DSK, and have mail subdirectories for each user. Thus the path SY:/MAIL/USER1/ specifies the users' unique mail direc- tory and should be specified in the password configuration. The local mail programs MAIL.SAV, MMAIL.SAV, and MAILER.SAV and the remote mail programs RSMTP.SAV and RPOP3.SAV check the password file to verify that the user has the privilege to send or re- ceive mail via the network and places any received mail in the specified mail directory. These programs will use/create a mail index file in the mail directory which is used to keep an index of all received mail. PROGRAM OPTIONS PAGE 4-27 LLPQRM 4.16 LLPQRM LLPQRM is the program which submits, controls and reports the status of the local LPRINT daemon. The program performs the functions of LPC, LPQ, LPR, and LPRM. The program startup op- tions are: LLPQRM [?] [-p filespec] [-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 PROGRAM OPTIONS PAGE 4-28 LLPQRM 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.) 4.16.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.16.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.16.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.16.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 PROGRAM OPTIONS PAGE 4-29 LLPQRM checked. (2) If a file name is not specified then all queued files for all users are checked and the 'system' queried for each file to be deleted. (3) If a username is entered, then all files for this user are checked and 'system' queried for each file deletion. (4) If a filename is entered, then the specific file is checked and 'system' queried for file deletion. 4.17 RLPD RLPD is a server program providing remote printing on the TSX-Plus system printer. The program startup options are: RLPD [?] [-p filespec] [-t n] [-aer] ? List the Help Text and Exit RLPD a Attach to Service e Enable Monitoring of RLPD Transactions p filespec Specify the Configuration Filespec r Restart RLPD after Disconnect t n TCPIP Task Number for RLPD Delivery Agent 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: PROGRAM OPTIONS PAGE 4-30 RLPD 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 4.18 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] [-t n] [-v] ? List the Help Text and Exit LPRINT p filespec Specify the Configuration Filespec t n (minutes) Continuous Scanning Time Interval v Verbose Mode The LLPQRM.CFG configuration file is of the following form: 001 ; three digit sequence sy2:\lpdtmp\ ; temporary directory sy0:\paswrd\paswrd.fil ; pass word file lp * name ls: ; line printer dspcgc * name hf: ; cgc graphics device dspqbs * name hg: ; qbs graphics device file * name sy3:\tmpwrk\ ; write to a file lp pdp * ls: ; line printer dspcgc pdp * hf: ; cgc graphics device dspqbs pdp * hg: ; qbs graphics device PROGRAM OPTIONS PAGE 4-31 LPRINT The first line is a sequence number maintained by RLPD, LLPQRM, and LPRINT. The second line is the directory used for holding the queued files until processed by LPRINT. The third line references the password file which may be used to check if the user exists. The fourth and succeeding lines contain printing queues and their access permissions. The four entries are: (1) queue name (2) machine name (* is any) (3) user name (* is any) (4) device The data is copied to the specified printing device or random access device using the name in the print control file (cfa.nnn). The program may be started interactively (for diagnostic pur- poses) by the 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-32 LPQRM 4.19 LPQRM LPQRM is the program which submits, controls and reports the status of remote printer queues. The program performs the func- tions of LPC, LPQ, LPR, and LPRM. The program startup options are: LPQRM [?] [-ipq argument] [-e] -o opt [opt arguments] ? List the Help Text and Exit LPQRM e Enable Monitoring of LPQRM Transactions i IP Address Remote Server Name / IP Address n Port Number Remote Server Port Number q Queue Name Remote Server Printer Queue p filespec Configuration File o lpc [?] Start printer queue lpq [?] Get printer queue status lpr [?] Submit a job to a printer queue lprm [?] Remove a job from a printer queue The -o opt argument must preceed the opt specific op- tions. Program sub options are: PROGRAM OPTIONS PAGE 4-33 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-34 LPQRM 4.19.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.19.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.19.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.19.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.20 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-35 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.21 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] [-z s] [-aerv] ? 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 r Restart RHTTP after Disconnect v Verbose Mode 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-36 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 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-37 RGOPH 4.22 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] [-z s] [-aerv] ? List the Help Text and Exit RGOPH a Attach to Service e Enable Monitoring of all RGOPH Transactions p Specify the Master GOPHER File r Restart RGOPH after Disconnect v Verbose Mode 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-38 RGOPH # # This is the Master Gopher List # # Each entry has the following format: #<code><TAB>description # <TAB>file or list specification # <TAB>machine name or IP address # <TAB>port number # # End list with '.' and <CRLF> # # Common item types specified by <code> 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-39 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/' (<code> = 1) specification indicates this is a directory of subitems: PROGRAM OPTIONS PAGE 4-40 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-41 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/' (<code> = 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-42 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 4.23 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] [file-spec(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-43 UTIL 4.23.1 LCD Change directory command file LCD.COM: run/single TCP:util -sc 0 2 ^1 @wf:cmdfil 4.23.2 LDEL Delete file command file LDEL.COM: run/single TCP:util -d ^1 4.23.3 LDIR List directory command file LDIR.COM: run/single TCP:util -l ^1 4.23.4 LLS List directory command file LLS.COM: run/single TCP:util -l ^1 4.23.5 LMKDIR Make a subdirectory command file LMKDIR.COM: run/single TCP:util -m ^1 PROGRAM OPTIONS PAGE 4-44 UTIL 4.23.6 LPRO Set protection flag command file LPRO.COM: run/single TCP:util -p ^1 4.23.7 LRENAM Rename a file command file LRENAM.COM: run/single TCP:util -r ^1 ^2 4.23.8 LRMDIR Remove a subdirectory command file LRMDIR.COM: run/single TCP:util -n ^1 4.23.9 LUNP Clear protection flag command file LUNP.COM: run/single TCP:util -u ^1 4.24 LDISKS The LDISKS program generates a subdirectory map for each device specified and optionally outputs the result to a file. LDISKS [?] [-f filename] [dev1] [dev2] ... ? List this Help Text and Exit LDISKS f filename Output File Name The command file LDISKS.COM allows arbitrary input parameters: run TCP:ldisks ^1 ^2 ^3 ^4 ^5 ^6 PROGRAM OPTIONS PAGE 4-45 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.25 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.26 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) and 210 (get handler status block). These handlers support only RT11XM V5.6 (and later), NU is coded to use the UB.SYS pseudo handler for UNIBUS systems with greater than 256K bytes. The NC/NQ/NU handlers perform all interrupt processing at IRQ level (FORK level is never entered), and do not internally support device timeout. The EQ/EU device handlers are logically equivalent to the NQ/NU device handlers but were designed with special functions 206 (enable/disable frame bufferring), 207 (get physical ad- dress), 210 (get handler status block), and 211 (abort job i/o, for SJ monitors only). These handlers may be conditionally as- sembled to support the RT11 SJ, SB, FB, and XM monitors (ver- sions 5.3 and later) not supported by the NQ/NU device handlers. The EQ and EU handlers may be conditionally assembled for Version 6 of the TSX-Plus operating system. The 22-bit EU handler requires a change in the TSX sysgen file TSGEN.MAC to allocate 4 UMR registers to the EU handler. TSX-Plus versions 6.0 through 6.2 require a unique version of the EQ/EU handler ETHERNET DEVICE HANDLERS Page 5-2 with special functions 300 (get PLAS region size), 301 (initial- ize handler with PLAS region base address), and the support pro- gram ENPLAS.SAV. The program ENPLAS.SAV creates the PLAS memory region required by the handler. ETHERNET DEVICE HANDLERS Page 5-3 5.1 DEVICE HANDLER SYSTEM SUMMARY Summary of prebuilt EQ/EU/NC/NQ/NU device drivers and supported systems: RT-11 VERSION [5.3] [5.4] [5.5] [5.6 ...] TSX ----- ----- ----- --------- --- eqsjms.sys SJ/FB SJ/FB SJ/FB - - eusjms.sys SJ/FB SJ/FB SJ/FB - - eqsjps.sys SJ/FB SJ/FB SJ/FB - - eusjps.sys SJ/FB SJ/FB SJ/FB - - eqsbms.sys - - - SB/FB - eusbms.sys - - - SB/FB - eqsbps.sys - - - SB/FB - eusbps.sys - - - SB/FB - eq18xm.sys XM XM XM XB/XM/ZB/ZM - eq22xm.sys XM XM XM XB/XM/ZB/ZM - eu18xm.sys XM XM XM XB/XM/ZB/ZM - ncxv56.sys - ? ? XB/XM/ZB/ZM - nqxv56.sys - ? ? XB/XM/ZB/ZM - nuxv56.sys - ? ? XB/XM/ZB/ZM - eq18.v62 - - - - <= V6.2 eq22.v62 - - - - <= V6.2 eu18.v62 - - - - <= V6.2 eu22.v62 - - - - <= V6.2 eq18.tsx - - - - >= V6.4 eq22.tsx - - - - >= V6.4 eu18.tsx - - - - >= V6.4 eu22.tsx - - - - >= V6.4 ____ms.sys Drivers are for LSI/11 processors not having a processor status word (PSW == @#177776). ____ps.sys Drivers are for all processors with a processor status word (PSW == @#177776). __sj__.sys Drivers contain special function 211 (abort job i/o) for RT11SJ monitors. ETHERNET DEVICE HANDLERS PAGE 5-4 DEVICE HANDLER SYSTEM SUMMARY 5.2 DEVICE HANDLER FEATURE SUMMARY Summary of prebuilt EQ/EU/NC/NQ/NU device driver features: SPFUNS DEVICE 206 207 210 211 EIS PSW UMR FORK TIMEOUT --- --- --- --- --- --- --- ---- ------- eqsjms.sys X - - X - - - X X eusjms.sys X - - X - - - X X eqsjps.sys X - - X - X - X X eusjps.sys X - - X - X - X X eqsbms.sys X - - - - - - X X eusbms.sys X - - - - - - X X eqsbps.sys X - - - - X - X X eusbps.sys X - - - - X - X X eq18xm.sys X X X - X X - X X eq22xm.sys X X X - X X - X X eu18xm.sys X X X - X X - X X ncxv56.sys X X X - X X - - - nqxv56.sys X X X - X X - - - nuxv56.sys X X X - X X X - - eq18.v62 X X X - X X - X X eq22.v62 X X X - X X - X X eu18.v62 X X X - X X - X X eu22.v62 X X X - X X X X X eq18.tsx X X X - X X - X X eq22.tsx X X X - X X - X X eu18.tsx X X X - X X - X X eu22.tsx X X X - X X X X X ____ms.sys Drivers are for LSI/11 processors not having a processor status word (PSW == @#177776). ____ps.sys Drivers are for all processors with a processor status word (PSW == @#177776). __sj__.sys Drivers contain special function 211 (abort job i/o) for RT11SJ monitors. ETHERNET DEVICE HANDLERS PAGE 5-5 DEVICE HANDLER FEATURE SUMMARY 5.3 PROGRAMMING Programs that call the Ethernet handler must follow a certain order. Write such programs with the following elements in the order indicated. 1. Use the .LOOKUP programmed request to open a channel to the device unit. 2. Allocate the unit using SPFUN 200. 3. Perform the Ethernet operation(s). 4. Deallocate the unit using SPFUN 200. 5. Use the .CLOSE programmed request to close the channel to the specified device unit. NOTE Special functions 207 (get physical address), 210 (get handler status block), and 211 (abort job i/o) do not require device allocation. 5.4 USE OF SPECIAL FUNCTIONS (.SPFUN) The EQ/EU/NC/NQ/NU Ethernet handlers operate the Ethernet controllers using the .SPFUN programmed request with the follow- ing function codes: ETHERNET DEVICE HANDLERS PAGE 5-6 USE OF SPECIAL FUNCTIONS (.SPFUN) Function Code -------- ---- Allocate unit 200 Deallocate unit 200 Enable Promiscuous Mode 201 Disable Promiscuous Mode 201 Enable protocol type 202 Disable protocol type 202 Enable multicast address 203 Disable multicast address 203 Transmit Ethernet frame 204 Receive Ethernet frame 205 Enable frame bufferring 206 Disable frame bufferring 206 Get physical address 207 Get handler status block 210 Abort Job I/O 211 Successful completion of a .SPFUN request clears the carry bit. Completion with an error sets the carry bit, and the status word in the buffer contains an error code. 5.4.1 Unit Specification (.SPFUN 200) The allocate unit special function allocates a unit for a job's exclusive use. The deallocate unit special function deallocates a unit so it can be used by another job. ETHERNET DEVICE HANDLERS PAGE 5-7 USE OF SPECIAL FUNCTIONS (.SPFUN) 5.4.1.1 Allocate Unit - The following is the form of the special function allocate unit (.SPFUN 200): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 200 buf is the address of a 4-word buffer containing the status word and space for the station's physical address. The buffer contents are returned by the allocate unit special function. The high byte of the status word contains a 0. Allocate unit returns one of the following octal status codes in the low byte of the status word: 0 Success 2 Controller error while attempting to initialize the network interface 3 No resources (unit in use) 11 Reserved wcnt is 0 blkn is 1 crtn is the entry point of a completion routine ETHERNET DEVICE HANDLERS PAGE 5-8 USE OF SPECIAL FUNCTIONS (.SPFUN) 5.4.1.2 Deallocate Unit - The following is the form of the special function deallocate unit (.SPFUN 200): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 200 buf is the address of a 1-word buffer containing the status word. The high byte of the status word contains a 0. Deallocate unit returns one of the following octal status codes in the low byte of the status word: 0 Success 1 Unknown unit. The specified unit was not opened by the job issueing the request. 2 Controller error while attempting to initialize the network interface 11 Unit still active wcnt is 0 blkn is 0 crtn is the entry point of a completion routine ETHERNET DEVICE HANDLERS PAGE 5-9 USE OF SPECIAL FUNCTIONS (.SPFUN) 5.4.2 Promiscuous Mode (.SPFUN 201) The enable promiscuous mode special function enables the Ethernet hardware to receive all network traffic regardless of address or protocol. Any read request to the handler will re- turn the first available packet received by the controller in- terface. The disable promiscuous mode special function enables the ad- dress/protocol filtering provided by the Ethernet hardware and enables the specified protocol. 5.4.2.1 Enable Promiscuous Mode - The following is the form of the special function enable promiscuous mode (.SPFUN 201): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 201 buf is the address of a 1-word buffer containing the status word. The high byte of the status word contains a 0. Enable promiscuous mode returns one of the following octal status codes in the low byte of the status word: 0 Success 6 address/protocol active wcnt is 0 blkn is 1 crtn is the entry point of a completion routine ETHERNET DEVICE HANDLERS PAGE 5-10 USE OF SPECIAL FUNCTIONS (.SPFUN) 5.4.2.2 Disable Promiscuous Mode - The following is the form of the special function disable promiscuous mode (which performs an enable protocol type) (.SPFUN 201): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 201 buf is the address of a 2-word buffer that contains the status word, followed by the 1-word protocol type that is to be enabled when the promiscuous mode is disabled. The high byte of the status word contains a 0. The disable promiscuous mode returns one of the following octal status codes in the low byte of the status word: 0 Success 1 Unknown unit. The specified unit was not opened by the job issueing the request. 2 Controller error while attempting to initialize the network interface 3 Reserved 6 Reserved 10 Protocol type in use wcnt is 0 blkn is 0 crtn is the entry point of a completion routine ETHERNET DEVICE HANDLERS PAGE 5-11 USE OF SPECIAL FUNCTIONS (.SPFUN) 5.4.3 Protocol Type (.SPFUN 202) The enable protocol type special function adds a protocol type to those to be recognized by the Ethernet controller. Only one protocol type can be specified for each unit. At least one protocol type must be enabled to receive Ethernet frames. The disable protocol type special function removes the pro- tocol type from the list of those recognized by the Ethernet controller. 5.4.3.1 Enable Protocol Type - The following is the form of the special function enable pro- tocol type (.SPFUN 202): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 202 buf is the address of a 2-word buffer that contains the status word followed by the protocol type word. The high byte of the status word contains a 0. Enable protocol type returns one of the following octal status codes in the low byte of the status word: 0 Success 1 Unknown unit. The specified unit was not opened by the job issuing the request 2 Controller error while attempting to initialize the network interface 3 No resources (unit's protocol table full) 6 Reserved ETHERNET DEVICE HANDLERS PAGE 5-12 USE OF SPECIAL FUNCTIONS (.SPFUN) 10 Protocol type in use The protocol type is specified by the user wcnt is 0 blkn is 1 crtn is the entry point of a completion routine 5.4.3.2 Disable Protocol Type - The following is the form of the special function disable protocol type (.SPFUN 202): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 202 buf is the address of a 2-word buffer that contains the status word followed by the protocol type word. The high byte of the status word contains a 0. Disable protocol type returns one of the following octal status codes in the low byte of the status word: 0 Success 1 Unknown unit. The specified unit was not opened by the job issuing the request 2 Controller error while attempting to initialize the network interface If the disabled protocol type is not the same as the enabled protocol type for this unit then 'success' is returned. wcnt is 0 ETHERNET DEVICE HANDLERS PAGE 5-13 USE OF SPECIAL FUNCTIONS (.SPFUN) blkn is 0 crtn is the entry point of a completion routine 5.4.4 Multicast Address (.SPFUN 203) The enable multicast address special function adds the multi- cast address to those recognized by the Ethernet controller. Ypu need not specify the unit's physical or broadcast address. Only one multicast address is allowed per handler unit. The disable multicast address special function removes the multicast address from those to be recognized by the Ethernet controller. 5.4.4.1 Enable Multicast Address - The following is the form of the special function enable mul- ticast address (.SPFUN 203): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 203 buf is the address of a 4-word buffer that contains the status word, followed by the 3-word multicast address. The low order bit of the first address word should be a 1. The high byte of the status word contains a 0. Enable multicast address returns one of the following octal status codes in the low byte of the status word: 0 Success 1 Unknown unit. The specified unit was not opened by the job issueing the request. 2 Controller error while attempting to ETHERNET DEVICE HANDLERS PAGE 5-14 USE OF SPECIAL FUNCTIONS (.SPFUN) initialize the network interface 3 No resources (unit's address table is full, or hardware address table full) wcnt is 0 blkn is 1 crtn is the entry point of a completion routine 5.4.4.2 Disable Multicast Address - The following is the form of the special function disable multicast address (.SPFUN 203): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 203 buf is the address of a 4-word buffer that contains the status word, followed by the 3-word multicast address. The low order bit of the first address word should be a 1. The high byte of the status word contains a 0. Disable multicast address returns one of the following octal status codes in the low byte of the status word: 0 Success 1 Unknown unit. The specified unit was not opened by the job issueing the request. 2 Controller error while attempting to initialize the network interface If the disabled multicast address is not the same as the enabled multicast address for this unit then 'success' is returned. ETHERNET DEVICE HANDLERS PAGE 5-15 USE OF SPECIAL FUNCTIONS (.SPFUN) wcnt is 0 blkn is 0 crtn is the entry point of a completion routine 5.4.5 Transmit Ethernet Frame (.SPFUN 204) The special function transmit Ethernet frame transmits the Ethernet frame pointed to in the buf argument. If the source field of the frame is not zero, it is kept and used. If the source field of the frame is zero, the controllers physical ad- dress is inserted in the source field before transmission. The following is the form of the special function transmit Ethernet frame (.SPFUN 204): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 204 buf is the address of a variable size buffer containing the status word, followed by the Ethernet packet to be transmitted. The first word following the status word is reserved. Next is the 3-word destination address field followed by the 3-word source address field. The next word is the packet protocol type. Following this is the variable length packet containing from 23 to 750 words. The transmit Ethernet frame returns one of the following octal status codes in the low byte of the status word: 0 Success 1 Unknown unit. The specified unit was not opened by the job issueing the request. 2 Controller error while attempting to ETHERNET DEVICE HANDLERS PAGE 5-16 USE OF SPECIAL FUNCTIONS (.SPFUN) initialize the network interface 13 Transmit failed When status code 13 is returned in the low byte of the status word, transmit Ethernet frame returns one of the following octal status codes in the high byte of the status word: 1 Invalid frame length 2 Excessive collisions 3 Carrier check failed wcnt is determined by the variable size of the user buffer (including the status word and reserved word). The packet size (including the status word and reserved word) can vary between 32 and 759 words. blkn is 0 crtn is the entry point of a completion routine 5.4.6 Receive Ethernet Frame (.SPFUN 205) The receive Ethernet frame special function returns the next Ethernet packet with the desired unit address and protocol type to the buffer. The function does not return Ethernet frames that are received with errors. The following is the form of the special function receive Ethernet frame (.SPFUN 205): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 205 buf is the address of a variable size buffer containing the status word, a word containing the frame size, and followed by ETHERNET DEVICE HANDLERS PAGE 5-17 USE OF SPECIAL FUNCTIONS (.SPFUN) upto 757 words to receive the Ethernet frame. The buffer contents are returned by the receive Ethernet frame function. The high byte of the status word contains a 0. The receive Ethernet frame special function returns one of the following octal status codes in the low byte of the status word: 0 Success 1 Unknown unit. The specified unit was not opened by the job issueing the request. 2 Controller error while attempting to initialize the network interface wcnt is the size of the user buffer including the status and frame size words blkn is 0 crtn is the entry point of a completion routine 5.4.7 Frame Queueing (.SPFUN 206) The Enable frame queueing special function allows the handlers to internally queue received packets that match any enabled address/protocol even though a receive request has not been issued for that address/protocol or a previous packet has not been processed. The EQ handler normally allocates space for internally queueing upto 20 packets (this may be changed by mod- ifying 'rbcnt' in EQ.MAC and rebuilding the EQ handler). The 22-bit EU handler normally allocates space for internally queue- ing 10 packets and the 18-bit EU handler allocates space for 2 packets (this may be changed by modifying 'rbcnt' in EU.MAC and rebuilding the EU handlers). The disable frame queueing special function disables the in- ternal queueing of packets. This function may only be issued if all address/protocol pairs have been disabled. ETHERNET DEVICE HANDLERS PAGE 5-18 USE OF SPECIAL FUNCTIONS (.SPFUN) 5.4.7.1 Enable Frame Queueing - The following is the form of the special function enable frame queueing (.SPFUN 206): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 206 buf is the address of a 1-word buffer for the returned status word which is always 0 wcnt is 0 blkn is 1 crtn is the entry point of a completion routine 5.4.7.2 Disable Frame Queueing - The following is the form of the special function disable frame queueing (.SPFUN 206): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 206 buf is the address of a 1-word buffer containing the status word. The high byte of the status word contains a 0. Disable frame queueing returns one of the following octal status codes in the low byte of the status word: ETHERNET DEVICE HANDLERS PAGE 5-19 USE OF SPECIAL FUNCTIONS (.SPFUN) 0 Success 6 address/protocol active wcnt is 0 blkn is 0 crtn is the entry point of a completion routine 5.4.8 Get Ethernet Address (.SPFUN 207) The get Ethernet address special function returns the physi- cal address of the Ethernet controller card. The following is the form of the special function get Ethernet address (.SPFUN 207): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 207 buf is the address of a 4-word buffer in which the status word, which is always 0, and the six byte physical Ethernet address are returned. wcnt is 0 blkn is 0 crtn is the entry point of a completion routine ETHERNET DEVICE HANDLERS PAGE 5-20 USE OF SPECIAL FUNCTIONS (.SPFUN) 5.4.9 Get Ethernet Status Block (.SPFUN 210) The get Ethernet status block special function returns the handler's internal parameter block. The information contained in the parameter block includes the number of packets received and transmitted for each EQ/EU unit as well as timeout informa- tion. The following is the form of the special function get Ethernet status block (.SPFUN 210): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 210 buf is the address of a buffer into which wcnt words are written from the EQ/EU handlers status block. wcnt is the number of words to return to the buffer. The status word must be included in the word count. blkn is 0 crtn is the entry point of a completion routine The complete list of parameters in the status block may be found in the EQ/EU Ethernet handler files EQ.MAC, EU.MAC, and EI.MAC. The first word is always a status word of value 0, the following 4-byte (long integer) parameters are: eiipkt total receiver interrupts eiopkt total transmitter interrupts eirtmo total receive timeouts eixtmo total transmit timeouts eirun[8] received packets for each unit eixun[8] transmitted packets for each unit These are the only parameters used by any program in the 'TCP/IP Package for TSX-Plus' or 'TCP/IP Package for RT-11'. ETHERNET DEVICE HANDLERS PAGE 5-21 USE OF SPECIAL FUNCTIONS (.SPFUN) 5.4.10 Abort Job I/O (.SPFUN 211) The abort job i/o special function is conditionally assembled into drivers for the RT11SJ monitors. The SJ monitor never calls the abort entry point in the device handler (either from a .ABTIO request or at job termination) this means that the inter- nally queued i/o requests will never complete and the monitor will lock waiting for the i/o to complete. This special func- tion calls the abort entry point clearing all internally queued elements associated with the current job. The following is the form of the special function Abort Job I/O (.SPFUN 211): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 211 buf is not used wcnt is not used blkn is not used crtn is the entry point of a completion routine 5.5 HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2 The EQ and EU Ethernet handlers configured for TSX-Plus ver- sions 6.0 through 6.2 have these additional .SPFUN programmed requests: Function Code -------- ---- Get PLAS Allocation Size 300 Initialize Handler 301 Successful completion of a .SPFUN request clears the carry bit. Completion with an error sets the carry bit without any error ETHERNET DEVICE HANDLERS PAGE 5-22 HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2 code. 5.5.1 Get PLAS Allocation Size (.SPFUN 300) The following is the form of the special function Get PLAS Alocation Size (.SPFUN 300): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 300 buf handler returns the requested allocation size, in 32. word increments, in the first word of the buffer wcnt is not used blkn is not used crtn is the entry point of a completion routine 5.5.2 Initialize Handler (.SPFUN 301) The following is the form of the special function Initialize Handler (.SPFUN 301): Macro Call: .SPFUN area,chan,func,buf,wcnt,blkn,[crtn] where: area is address of 6-word EMT argument block chan is a channel number in the range 0 to 376 (octal) func is 301 buf the address of buf is the PLAS base address ETHERNET DEVICE HANDLERS PAGE 5-23 HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2 wcnt is not used blkn is not used crtn is the entry point of a completion routine Attempting to reinitialize the handler or to initialize the handler with a PLAS base address of 0 will be reported as an er- ror by setting the carry bit. 5.5.3 ENPLAS.SAV - Allocating the PLAS Region The program ENPLAS.SAV is a support program which creates the PLAS buffer required by the TSX-Plus V6.0 through V6.2 EQ and EU device handlers. The program uses .spfun 300 to get the buffer size, creates the PLAS region, uses .spfun 301 to handoff the PLAS region's Base Address to the device handler and to initial- ize the handler. This program must run before the EQ or EU device handler can be used. The device EN0: must be assigned before running ENPLAS.SAV. ASSIGN EU0: EN0: or ASSIGN EQ0: EN0: R ENPLAS.SAV The device handler requires only a single initialization to be used by the TCPIP.SAV server or the small system client pro- grams. CHAPTER 6 BUILDING THE 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 21 RX02 logical floppy disks: 1. TSDSK1 TCP/IP Package for TSX-Plus 2. TSDSK2 Executables for TSX-Plus Systems. 3. TSDSK3 (EQ/EU Device Driver Required) 4. RTDSK1 TCP/IP Package for RT-11 5. RTDSK2 Executables for RT-11 Mapped Systems. 6. RTDSK3 (EQ/EU/NC/NQ/NU Device Driver Required) 7. SRDSK1 TCP/IP Package Sources 8. SRDSK2 All source code files for: 9. SRDSK3 TCP/IP Package for TSX-Plus 10. SRDSK4 TCP/IP Package for RT-11 11. SMLTCP Small System Package Executables (EQ/EU/NC/NQ/NU Device Driver Required) 12. SSDSK1 Small System Package Sources 13. DVRDSK EQ/EU/NC/NQ/NU Device Drivers 14. CCDSK1 DECUS C Compiler, Assembler, and Libraries. 15. CCDSK2 DECUS C Source Changes 16. CCXDSK Compiler helper files for mapped RT-11 systems. 17. DOCDSK Package Documentation 18. RNODSK Package Documentation in RNO Format 19. RTHTML RT-11 Docs in HTML Format 20. TSHTML TSX-Plus Docs in HTML Format DISTRIBUTION DISKS Page 7-2 21. SSHTML Small System Docs in HTML Format 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.