These are the updates for the standalone FTP and Telnet programs available for TSX-Plus and all RT-11 monitors: SJ, SB, FB, XB, XM, ZB, and ZM. Small System Change Log V02.40 15-Jun-2008 EQ.MAC Updated the EQ device driver interrupt processing to be more consistant with the EU device driver. V02.39 15-Jan-2008 No changes. Synchronized to RT/TSX Version 2.39. V02.38 26-Mar-2007 No changes. Synchronized to RT/TSX Version 2.38. V02.37 1-Feb-2007 No changes. Synchronized to RT/TSX Version 2.37. V02.36 15-Nov-2006 No changes. Synchronized to RT/TSX Version 2.36. V02.35 1-Oct-2006 No changes. Synchronized to RT/TSX Version 2.35. V02.34 15-Oct-2005 FTPSBI.C, TLNTI.C, and CNCTI.C Help text changes/corrections. V02.33 15-Jan-2004 EI.MAC, EU.MAC, and EQ.MAC The network device drivers have been rewritten to remove the internal device time-out code. This change means that the RT-11 monitors no longer are required to have the sysgen device time-out option. The device time-out code is now implemented through a device handler special function (spfun 212). The spfun 212 is an optional device handler function. To utilize this device time-out option the user program must include coding to determine when a time-out has occurred and call spfun 212 to initialize the network interface. [ The removal of the device time-out code simplifies the handler. The device handler no longer requires the .timio, .ctimio, or .sync processing. This also means that the time-out configuration is completely user programmable. ] NIV56.MAC, NCV56.MAC, NQV56.MAC, and NUV56.MAC Added the special function spfun 212 to the DEC network device drivers. This function adds device time-out to the NC, NQ, and NU handlers. The functionality is identical to that described for the EQ and EU drivers above. ENDRVR.MAC and SYSTEM.MAC Updated ENDRVR.MAC to support the Network Device Time-Out special function spfun 212. If the transmission of a packet does not complete or return an error within 2 seconds then an xmit time-out call (spfun 212, block = 1) initializes the network interface. Similarly, if no packets are recieved within a sliding interval ranging from 6 seconds to 3 minutes then a recv time-out call (spfun 212, block = 0) initializes the network interface. The spfun 212 calls update the driver time-out counters if the ethernet status block option (spfun 210) is included. A receive time-out now initiates a complete shutdown and restart of the network interface. This includes: 1) Aborting all I/O (removing all queued receive/transmit elements), deallocating, and closing the network channels. 2) Reopening, allocating, and configuring the receive and transmit channels. V02.32 1-May-2003 EQ.MAC, EU.MAC, and EI.MAC: Corrected the 'Interrupt Service Routines' for the DEQNA/DELQA and DEUNA/DELUA device drivers. NTUTL.C and PRODEF.H: Corrected an error in the POKEINTERVAL coding in the function ntsleep(). Added the code to allow the last packet transferred by transq() to be immediately retransmitted (duplicated). This is the note in transq(): /* * This is really %#@&$*. * Most systems use a 'delayed ACK' when receiving * small packets. This may result in very low * transfer rates. Some systems will ACK on an * immediate duplicate. So here we send a duplicate * packet if enabled. */ This retransmit is only applicable to data packets not ACK packets or any other control packet. FTPPI2.C, FTPPI3.C, SKTL02.C, and SKTLIB.C: Added the command 'duplicate' to enable/disable the transmission of duplicate packets. USRFTP.C: To significantly increase data transfer rates the fread(), fwrite(), and NULL removal routines have been replaced with MACRO routines. The function blkrd() reads multiple disk blocks directly into the read buffer. The function blkwt() writes data directly from the data buffer. The function blkstr() is a fast NULL removal routine replacing the previous 'for' loop. FTPCNT.C, FTPLSN.C, SKTL54.C, SKTLIB.C, and SKTLIB.H: Added code to copy the mseg, mwin, and mtu values from the 'control socket' to the 'data socket'. TCP.C and PRODEF.H: Updated the repeated ACK retransmission code to wait for 4 ACKs before forcing data retransmission. NET.C, NTUTL.C, and TCP.C: Corrected various TCP protocol sequencing problems, Data Packet processing, and DATA Packet ACK processing. QUEUTL.C, NET.C, SKTL22.C, SKTL30.C, and SKTLIB.C New function outqpsh() added to QUEUTL.C to check the 'push' flag and queued data status to determine if data packet transmission should be triggered. V02.31 1-Dec-2002 FTPDO1.C, FTPDO2.C, and RTFILE.C: Updated STOR and RETR functionality to include RT-11 Device Read and Write. (Required a change to the C I/O Library routine IOFOPA.MAC) Added check for file size specification before appending "[-1]" to write file specifications. SESUTL.C: Changed message(14) to a print statement. IOFOPA.MAC: Observations of RT-11 / TSX-Plus .csispc responses which in turn required a modification to the C-Library I/O routine to maintain compatability with all versions of RT-11 and TSX-Plus: Mode RT (V5.3) TSX-Plus ---- --------- -------- DY0: ok ok DY0:= error ok DY0:. ok ok DY0:.= error ok DY0:[-1] error ok DY0:[-1]= error ok DY0:A ok ok DY0:A= ok ok DY0:.E ok ok DY0:.E= error ok DY0:A. ok ok DY0:A.= ok ok DY0:A[-1] error ok DY0:A[-1]= ok ok DY0:A.[-1] error ok DY0:A.[-1]= ok ok DY0:.E[-1] error ok DY0:.E[-1]= error ok EU.MAC: Discovered that the difference between a DELUA and DEUNA network cards' interrupt response to running out of read-buffers would cause the DEUNA to enter an interrupt race condition in the handler. This problem would result in exceedingly slow transfers, a driver hang, or system crash. A minor driver change has corrected this problem. V02.30 25-Oct-2002 FTPSB.LNK, TLNTSB.LNK, and CNCTSB.LNK: System lockups caused by inadequate STACK ALLOCATION. Stack Allocation set to /B:3000 . USRFTP.C: Fixed a debug statement in 'userftpd()'. Removed all suspnd() calls (unnecesary). SKTL30.C (and SKTLIB.C): Fixed skenque() to check if outgoing data queue has sufficient data to transmit a full packet and trigger the packet transmision. TCP.C: FTPSB data transfer stalls and timeouts cause by a coding error in estabcon(). Duplicate packets were not reACKed to continue the data sequence. Added diagnostic coding in estabcon(). NET.C: Removed unused variable 'redir' from ntsleep(). Modified 'do{}while()' to ensure one inner process. DMPFIL.C: Added the device specification 'dmp:' to the file specification in dmpfil(). NTUTL.C: Fixed the diagnostic print statement in 'transq() for a long integer. GBLDAT.H: Added DMPFIL.H to includes. SYSTEM.MAC: Added an optional diagnostic section to fill the STACK with '177777's to determine the maximum stack depth at run time. SUSPND.MAC: .RSUM and .SPND are not supported by RT-11 SJ. An additional flag was added to allow waits when running under SJ systems.
Last Updated: February 2011