Welcome

FTP and Telnet Package for Small Systems Change Log

Version 2.40 Released June 2008

   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.

Go Back

... Home Page

Last Updated: February 2011