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