FTP and Telnet Package
for
Small Systems
Version 2.40, 15-Jun-2008
CHAPTER 1 SOFTWARE INSTALLATION 1-1
1.1 INSTALLATION CONFIGURATIONS 1-2
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 CONFIGURATION FILE 1-3
1.4 INSTALLATION IN DETAIL 1-8
CHAPTER 2 HARDWARE INSTALLATION 2-1
2.1 Q-BUS SYSTEMS 2-1
2.2 1;UNIBUS SYSTEMS 2-1
CHAPTER 3 SYSTEM GENERATION 3-1
CHAPTER 4 PROGRAM OPTIONS 4-1
4.1 FTP 4-1
4.2 TELNET 4-3
4.3 CNCT 4-5
CHAPTER 5 ETHERNET DEVICE HANDLERS 5-1
5.1 DEVICE HANDLER SYSTEM SUMMARY 5-3
5.2 DEVICE HANDLER FEATURE SUMMARY 5-4
5.3 ALTERNATE DEUNA DEVICE HANDLERS 5-5
5.4 PROGRAMMING 5-6
5.5 USE OF SPECIAL FUNCTIONS (.SPFUN) 5-6
5.5.1 Unit Specification (.SPFUN 200) 5-7
5.5.1.1 Allocate Unit 5-8
5.5.1.2 Deallocate Unit 5-9
5.5.2 Promiscuous Mode (.SPFUN 201) 5-10
5.5.2.1 Enable Promiscuous Mode 5-10
5.5.2.2 Disable Promiscuous Mode 5-11
5.5.3 Protocol Type (.SPFUN 202) 5-12
5.5.3.1 Enable Protocol Type 5-12
5.5.3.2 Disable Protocol Type 5-13
5.5.4 Multicast Address (.SPFUN 203) 5-14
5.5.4.1 Enable Multicast Address 5-14
5.5.4.2 Disable Multicast Address 5-15
5.5.5 Transmit Ethernet Frame (.SPFUN 204) 5-16
5.5.6 Receive Ethernet Frame (.SPFUN 205) 5-17
5.5.7 Frame Queueing (.SPFUN 206) 5-18
5.5.7.1 Enable Frame Queueing 5-19
5.5.7.2 Disable Frame Queueing 5-19
5.5.8 Get Ethernet Address (.SPFUN 207) 5-20
5.5.9 Get Ethernet Status Block (.SPFUN 210) 5-21
5.5.10 Abort Job I/O (.SPFUN 211) 5-22
5.5.11 Timeout / Reset (.SPFUN 212) 5-22
5.5.11.1 Receive Timeout / Reset 5-23
5.5.11.2 Transmit Timeout / Reset 5-23
5.6 HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2 5-24
5.6.1 Get PLAS Allocation Size (.SPFUN 300) 5-24
5.6.2 Initialize Handler (.SPFUN 301) 5-25
5.6.3 ENPLAS.SAV - Allocating the PLAS Region 5-25
CHAPTER 6 BUILDING THE FTP AND TELNET PACKAGE 6-1
6.1 C COMPILER 6-1
Page ii
6.1.1 Building under RT-11 6-1
6.1.2 Building under TSX-Plus 6-2
6.2 FTP AND TELNET PACKAGE 6-2
6.3 COMPILING OPTIONS 6-3
CHAPTER 7 DISTRIBUTION DISKS 7-1
APPENDIX A SMALL SYSTEM CHANGE LOG A-1
A.1 VERSION 2.40 A-2
A.2 VERSION 2.38 A-3
A.3 VERSION 2.38 A-4
A.4 VERSION 2.37 A-5
A.5 VERSION 2.36 A-6
A.6 VERSION 2.35 A-7
A.7 VERSION 2.34 A-8
A.8 VERSION 2.33 A-9
A.9 VERSION 2.32 A-10
A.10 VERSION 2.31 A-12
A.11 VERSION 2.30 A-13
Page iii
FTP and Telnet Package for Small Systems, Version 2.40
Submitted by Alan R. Baldwin,
Kent State University, Kent, Ohio 44242
Operating System: RT-11/TSX-Plus
Source Langauge: DECUS C and RT-11 Macro
Abstract:
The 'FTP and Telnet Package for Small Systems' provides stan-
dalone FTP and Telnet programs. These programs will run under
all RT-11 monitors (SJ, SB, FB, XB, XM, ZB, and ZM) and
TSX-Plus.
The sources for the 'FTP and Telnet Package for Small
Systems' include header, command, C language, and macro files.
The DECUS C compiler (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 requirements are an RT-11 system with 56K bytes of memory
and a DEQNA/DELQA (Q-Bus) or DEUNA/DELUA (Unibus) ethernet card
with associated transceiver (thick, thin, or CAT-5).
Alan R. Baldwin
Physics Department
Kent State University
Kent, Ohio 44242
tel: (330) 672 2531
fax: (330) 672 2959
Internet:
baldwin@kent.edu
baldwin@shop-pdp.kent.edu
CHAPTER 1
SOFTWARE INSTALLATION
The FTP and Telnet Package 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 RT-11 system device. The logical name assign-
ments used by the package are:
1. TCP: Location of programs and configuration file.
2. ENx: Selected device driver units 0-3.
The FTP and Telnet Package for Small Systems executables are
found on logical disk SSDSK1.DSK. The required device handlers
are found on the logical disks DVDSK1.DSK and DVDSK2.DSK.
NOTE
The size of one or more of the programs FTPSB.SAV,
TLNTSB.SAV, or CNCTSB.SAV may exceed the available
program space under the SJ, SB, or FB monitors.
Usually the programs will load/run under the RT11 V5.3
SJ and FB monitors and the RT11 V5.6 SB monitor. The
RT11 V5.6 FB monitor must be minimally configured to
load/run the programs. No limitation exists when run
under an XM, ZM, or TSX monitor.
SOFTWARE INSTALLATION PAGE 1-2
INSTALLATION CONFIGURATIONS
1.1 INSTALLATION CONFIGURATIONS
The FTP and Telnet package may be installed in one of the
following three configurations:
1.1.1 Install All Files on System Device
All command files and programs are copied directly to your
system disk. Assign SY: to TCP:. This configuration installs
9 files (and 320 blocks) on your system disk.
1.1.2 Install Only Command Files on System Device
Create a seperate logical disk (TCP:) for the programs and
copy only the command files to the system directory. This will
install 3 files (and 3 blocks) on your system device.
1.1.3 Install All Files on a Logical Disk
Create a seperate logical disk (TCP:) for the package and
copy all the files to this disk.
1.2 SOFTWARE COMPONENTS
The following annotated list summarizes the software
components:
1. FTP Client
1. FTP.CSM FTP IND control file (SJ/SB/FB)
2. FTP.CXM FTP IND control file (XB/XM/ZB/ZM)
3. FTP.CTM FTP command file (TSX)
4. FTPSB.SAV FTP client program
2. Telnet Client
1. TELNET.CSM TELNET IND control file (SJ/SB/FB)
2. TELNET.CXM TELNET IND control file (XB/XM/ZB/ZM)
3. TELNET.CTM TELNET command file (TSX)
4. TLNTSB.SAV TELNET client program
3. CNCT Client
SOFTWARE INSTALLATION PAGE 1-3
SOFTWARE COMPONENTS
1. CNCT.CSM CNCT IND control file (SJ/SB/FB)
2. CNCT.CXM CNCT IND control file (XB/XM/ZB/ZM)
3. CNCT.CTM CNCT command file (TSX)
4. CNCTSB.SAV CNCT client program
4. Miscellaneous Files
1. TCPIP.CFG Configuration file
2. RTUCL.INS UCL commands for RT-11 SJ/SB/FB
3. XMUCL.INS UCL commands for RT-11 XB/XM/ZB/ZM
4. TSXUCL.INS UCL commands for TSX-Plus
5. TCPIP.RT TCPIP.RUN for RT-11 SJ/SB/FB
6. TCPIP.XM TCPIP.RUN for RT-11 XB/XM/ZB/ZM
7. TCPIP.TSX TCPIP.RUN for TSX-Plus
1.3 CONFIGURATION FILE
Each of the programs, FTPSB, TLNTSB, and CNCTSB, requires the
configuration file TCPIP.CFG which defines all the parameters
required to configure the programs for network access. Note
that TCP/IP services, tasks, and session logging are commented
out as these are not support.
SOFTWARE INSTALLATION PAGE 1-4
CONFIGURATION FILE
#
# 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
#
SOFTWARE INSTALLATION PAGE 1-5
CONFIGURATION FILE
#
# 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=512 # limit advertized window (nnwin == mwin)
nndomto=5 # domain timeout
nnretry=4 # number of retries
nnarpto=2 # arp timeout in seconds
nnpkt=1 # send only 1 packet(s) per transq
SOFTWARE INSTALLATION PAGE 1-6
CONFIGURATION FILE
# The following line specifies the TCPIP logging file
# which will contain information for each session
# started: TELNET / RTELNT / RPTLNT / CNCT / RCNCT / RPCNCT
# FTP / FTPL / RFTP
# MAIL / RSMTP / RPOP3 / MAILER / MMAIL
# RHTTP / RGOPH / RAUTH
# RLPD / LPRINT / LPQRM / LLPQRM
# NTSND / PMON
#logsession=sy: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,1,sy:rftp.srv # remote ftp server
#service=23,1,sy:rtelnt.srv # remote telnet server
#service=25,1,sy:rsmtp.srv # remote smtp server (task: -t 1)
#service=27,1,sy:rcnct.srv # remote cnct server
#service=70,1,sy:rgoph.srv # remote gopher server
#service=80,1,sy:rhttp.srv # remote http server
#service=110,1,sy:rpop3.srv # remote pop3 server (task: -t 1)
#service=113,1,sy:rauth.srv # remote auth server
#service=515,1,sy: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,sy:mailer.srv # mmail / pop3 mail delivery agent
#task=2,0,sy:lprint.srv # rlpd / llpqrm printing delivery agent
SOFTWARE INSTALLATION PAGE 1-7
CONFIGURATION FILE
#
# 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=512 # maximum transmit unit in bytes
# outgoing packet size
# MIN = 128, DEFAULT = 512, MAX = 512
mseg=512 # largest segment we can receive
# whatever the hardware can take
# MIN = 128, DEFAULT = 512, MAX = 512
mwin=512 # most bytes we can receive without ACK
# = TCP window size
# MIN = 128, DEFAULT = 512, MAX = 512
# 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
SOFTWARE INSTALLATION PAGE 1-8
CONFIGURATION FILE
#
# 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 program 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.
1.4 INSTALLATION IN DETAIL
Complete the hardware installation as described in the
chapter titled Hardware Installation.
Under RT-11 or TSX-Plus the most convenient installation is:
1. Copy the .SAV files from the distribution disk SMLTCP.DSK to
SY:
2. Copy the command files from the distribution disk SMLTCP.DSK
to SY:
1. RT-11 (SJ/SB/FB): files *.CSM
2. RT-11 (XB/XM/ZB/ZM): files *.CXM
3. TSX-Plus: files *.CTM
3. Copy the configuration file TCPIP.CFG from the distribution
disk SMLTCP.DSK to SY:.
4. Copy the UCL command file from the distribution disk
SMLTCP.DSK to SY:
1. RT-11 (SJ/SB/FB): file RTUCL.INS
2. RT-11 (XB/XM/ZB/ZM): file XMUCL.INS
3. TSX-Plus: file TSXUCL.INS
SOFTWARE INSTALLATION PAGE 1-9
INSTALLATION IN DETAIL
5. Copy the system specific TCPIP.___ file to SY:TCPIP.RUN.
1. RT-11 (SJ/SB/FB): file TCPIP.RT
2. RT-11 (XB/XM/ZB/ZM): file TCPIP.XM
3. TSX-Plus: file TCPIP.TSX
6. Install UCL commands:
1. RT-11 (SJ/SB/FB): Type '$@RTUCL.INS'
2. RT-11 (XB/XM/ZB/ZM): Type '$@XMUCL.INS'
3. TSX-Plus: Installation is in TCPIP.TSX
7. Verify that your system was sysgened for timer support and
no error logging. If not, then perform a system generation
or rebuild the device handlers to your requirements.
8. Copy and rename the appropriate device handler from the log-
ical disks DVDSK1.DSK or DVDSK2.DSK to SY:. (See the
chapter on device handlers for more information on selecting
the appropriate device handler.)
9. Install the handler using the 'install' command or reboot
the system and verify the handler was installed.
10. Edit the file SY:TCPIP.RUN to assign TCP:, load the
appropriate device handler (RT-11 only) and assign units 0-3
of the device handler to EN0-3.
11. Edit the file SY:TCPIP.CFG for your configuration. Your
machine's name and IP address are required and the specifi-
cation of a name server and gateway may be required for your
network.
12. Type '$@SY:TCPIP.RUN' to load the handler. (You may wish
to add the line '$@SY:TCPIP.RUN' to your RT-11 startup com-
mand file or your TSX-Plus LINEx.TSX file.)
13. Attempt to FTP or Telnet to a local computer using only the
IP number of that computer. (verifies connections are pos-
sible)
14. Attempt to FTP or Telnet 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)
15. Attempt to FTP or Telnet 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 TCPIP.CFG. (verifies that the
gateway entry is correct)
CHAPTER 2
HARDWARE INSTALLATION
2.1 Q-BUS SYSTEMS
A Q-Bus based RT-11 or TSX-Plus system requires the installa-
tion of a DEQNA or DELQA communications controller. A system
memory of 56K bytes for SJ/SB/FB systems, 96K bytes for
XB/XM/ZB/ZM systems, and 128K bytes for TSX-Plus systems is re-
quired. The EQSJ__ and EQSB__ handlers use about 4K bytes in-
cluding the internal buffers. The EQ18XM and EQ18.TSX handlers
use about 5.5K bytes including the internal buffers. The NQX
handler uses about 7.5K bytes.
Blockmode memory is recommended for use with the DEQNA or
DELQA communications controller although not necessary.
The DEQNA or DELQA interface is connected via a bulkhead ca-
ble assembly (with perhaps an extension ETHERNET transceiver ca-
ble) to a transceiver (with either a thick, thin, or CAT-5 wire
connection).
2.2 1;UNIBUS SYSTEMS
A Unibus based RT-11 or TSX-Plus system requires the instal-
lation of a DEUNA or DELUA communications controller. A system
memory of 56K bytes for SJ/SB/FB systems, 96K bytes for
XB/XM/ZB/ZM systems, and 128K bytes for TSX-Plus systems is re-
quired. The EUSJ__ and EUSB__ handlers use about 4K bytes in-
cluding the internal buffers. The EU18XM and EU18.TSX handlers
use about 6.5K bytes including the internal buffers. The NUX
handler uses about 7.5K bytes.
The DEUNA or DELUA interface is connected via a bulkhead ca-
ble assembly (with perhaps an extension ETHERNET transceiver
HARDWARE INSTALLATION PAGE 2-2
1;UNIBUS SYSTEMS
cable) to a transceiver (with either a thick, thin, or CAT-5
wire connection).
CHAPTER 3
SYSTEM GENERATION
The FTP and Telnet Package for Small Systems is for RT-11
versions 5.3 and later and TSX-PLus. This package does not re-
quire a mapped monitor. Device handlers supporting the
DEQNA/DELQA (EQ and NQ), DEUNA/DELUA (EU and NU), and DECNA (NC)
are provided for the various devices and processor configura-
tions.
The selection of the appropriate device handler is dependent
upon the RT11/TSX-Plus version and processor configuration. A
custom device handler may be built using the supplied condi-
tional files. Options for building the EQ and EU device
handlers include the number of internal packet buffers, device
timeout, mfps/mtps or PSW processor types, and optional spfun
selection.
For small systems (i.e. 56K bytes) the EQSB__ and EUSB__
handlers have been built for only 2 internal packet buffers, no
EIS instructions, and support for spfuns 206 and 212. The
EQSJ__ and EUSJ__ handlers add support for spfun 211.
For mapped RT-11 systems (96K bytes or larger) and TSX-Plus
systems select the appropriate mapped handler for your system.
SYSTEM GENERATION Page 3-2
Summary of prebuilt EQ/EU/NC/NQ/NU
device drivers and supported systems:
RT-11 VERSION [5.3] [5.4] [5.5] [5.6 ...] TSX
----- ----- ----- --------- ---
eqsjms.[ext] SJ/FB SJ/FB SJ/FB - -
eusjms.[ext] SJ/FB SJ/FB SJ/FB - -
eqsjps.[ext] SJ/FB SJ/FB SJ/FB - -
eusjps.[ext] SJ/FB SJ/FB SJ/FB - -
eqsbms.[ext] - - - SB/FB -
eusbms.[ext] - - - SB/FB -
eqsbps.[ext] - - - SB/FB -
eusbps.[ext] - - - SB/FB -
eq18xm.[ext] XM XM XM XB/XM/ZB/ZM -
eq22xm.[ext] XM XM XM XB/XM/ZB/ZM -
eu18xm.[ext] XM XM XM XB/XM/ZB/ZM -
ncxv56.[ext] - ? ? XB/XM/ZB/ZM -
nqxv56.[ext] - ? ? XB/XM/ZB/ZM -
nuxv56.[ext] - ? ? XB/XM/ZB/ZM -
eq18.v62 - - - - <= V6.2
eq22.v62 - - - - <= V6.2
eu18.v62 - - - - <= V6.2
eu22.v62 - - - - <= V6.2
eq18.tsx - - - - >= V6.4
eq22.tsx - - - - >= V6.4
eu18.tsx - - - - >= V6.4
eu22.tsx - - - - >= V6.4
______.[ext] ext == sys, for monitor with device timeout
ext == nys, for monitor without device timeout
____ms.[ext] Drivers are for LSI/11 processors not having a
processor status word (PSW == @#177776).
____ps.[ext] Drivers are for all processors with a
processor status word (PSW == @#177776).
__sj__.[ext] Drivers contain special function 211 (abort
job i/o) for RT11SJ monitors.
SYSTEM GENERATION Page 3-3
Summary of prebuilt EQ/EU/NC/NQ/NU
device driver features:
SPFUNS DEVICE
206 207 210 211 212 EIS PSW UMR
--- --- --- --- --- --- --- ---
eqsjms.[ext] X - - X X - - -
eusjms.[ext] X - - X X - - -
eqsjps.[ext] X - - X X - X -
eusjps.[ext] X - - X X - X -
eqsbms.[ext] X - - - X - - -
eusbms.[ext] X - - - X - - -
eqsbps.[ext] X - - - X - X -
eusbps.[ext] X - - - X - X -
eq18xm.[ext] X X X - X X X -
eq22xm.[ext] X X X - X X X -
eu18xm.[ext] X X X - X X X -
ncxv56.[ext] X X X - X X X -
nqxv56.[ext] X X X - X X X -
nuxv56.[ext] X X X - X X X X
eq18.v62 X X X - X X X -
eq22.v62 X X X - X X X -
eu18.v62 X X X - X X X -
eu22.v62 X X X - X X X X
eq18.tsx X X X - X X X -
eq22.tsx X X X - X X X -
eu18.tsx X X X - X X X -
eu22.tsx X X X - X X X X
______.[ext] ext == sys, for monitor with device timeout
ext == nys, for monitor without device timeout
____ms.[ext] Drivers are for LSI/11 processors not having a
processor status word (PSW == @#177776).
____ps.[ext] Drivers are for all processors with a
processor status word (PSW == @#177776).
__sj__.[ext] Drivers contain special function 211 (abort
job i/o) for RT11SJ monitors.
SYSTEM GENERATION Page 3-4
In addition to the device handlers listed in the Device
Handler tables above are 8 alternate handlers which may be re-
quired when configuring a system using the DEUNA network inter-
face. The DEUNA has very little internal buffer space for
packets and requires more external buffers to operate reliably
on networks with more than a few active computers. Testing on a
PDP-11/44 / DEUNA system attached to a local network having over
250 active computers required 4 internal packet buffers for
reliable operation. The additional EU handlers for SJFB and
SBFB monitors listed in the following table have 4 internal
packet buffers instead of the nominal 2 packet buffers.
Summary of prebuilt 4 buffer EU device drivers:
RT-11 VERSION [5.3] [5.4] [5.5] [5.6 ...]
----- ----- ----- ---------
eusjm4.[ext] SJ/FB SJ/FB SJ/FB -
eusjp4.[ext] SJ/FB SJ/FB SJ/FB -
eusbm4.[ext] - - - SB/FB
eusbp4.[ext] - - - SB/FB
SPFUNS DEVICE
206 207 210 211 212 EIS PSW UMR
--- --- --- --- --- --- --- ---
eusjm4.[ext] X - - X X - - -
eusjp4.[ext] X - - X X - X -
eusbm4.[ext] X - - - X - - -
eusbp4.[ext] X - - - X - X -
______.[ext] ext == sys, for monitor with device timeout
ext == nys, for monitor without device timeout
____m4.[ext] Drivers are for LSI/11 processors not having a
processor status word (PSW == @#177776).
____p4.[ext] Drivers are for all processors with a
processor status word (PSW == @#177776).
__sj__.[ext] Drivers contain special function 211 (abort
job i/o) for RT11SJ monitors.
CHAPTER 4
PROGRAM OPTIONS
These programs may be run under RT-11 and TSX-Plus. Use the
appropriate file, TSXUCL.INS, XMUCL.INS, or RTUCL.INS to define
the UCL commands for your particular system.
The program startup options are outlined and typical startup
command files listed.
4.1 FTP
The FTPSB program provides reliable data transfer between
cooperating computer systems. The FTP program startup options
are:
FTPSB [?] [-ehv] [-f filespec] [destination host]
? List this Help Text and Exit FTPSB
e Enable Error Message Printing
f filespec Configuration File
h FTPSB Help List
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).
The FTP program supports the following command line options:
? print local help information
ascii set ascii transfer type
bell toggle command completed beep
binary set binary transfer type
cd change remote working directory
close terminate ftp session
debug toggle/set debugging mode
delete delete remote file
PROGRAM OPTIONS PAGE 4-2
FTP
- inquires if prompting is on
dir list contents of remote directory
duplicate enable/disable duplicate packets
get receive file
hash toggle printing `#' for each
1024 bytes transferred
help print local help information
ls list contents of remote directory
mkdir make directory on the remote machine
netdebug toggle/set network debugging mode
open connect to remote ftp
passive enable or disable passive transfer mode
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
system query remote system type
type print a remote file to the screen
user send new user information
verbose toggle verbose mode
version FTPSB-11 version displayed
The commands get, put, and send allow explicit renaming of
the files during the transfer by specifying the optional
destination file name:
get/put/send [source name] [destination name]
The commands put or send can be used to transfer a device im-
age to an image file (must specify binary format):
put/send dev:[-1] destination-image-file
The command get can be used to restore a device from an image
file (must specify binary format):
get source-image-file dev:[-1]
PROGRAM OPTIONS PAGE 4-3
FTP
For RT-11-SJ/SB/FB the IND control file FTP.CSM starts the
program:
.sets cmdlin "-h "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
.open sy:tcpfun.com
.data run TCP:ftpsb.sav
.data 'cmdlin'
.close
$@sy:tcpfun
For RT-11-XB/XM/ZB/ZM the IND control file FTP.CXM starts the
program:
.sets cmdlin "-h "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
.open sy:tcpfun.com
.data r sy:vbgexe.sav
.data TCP:ftpsb.sav
.data 'cmdlin'
.close
$@sy:tcpfun
For TSX-Plus the command file FTP.CTM starts the program:
run/single TCP:ftpsb.sav
-h ^1 ^2 ^3 ^4 ^5 ^6
4.2 TELNET
The TLNTSB program allows the user to initiate a connection
to a remote host for a terminal session. The startup options
for TELNET are:
TLNTSB destination [?] [-eh] [-f filespec]
? List the Help Text and Exit TLNTSB
e Enable Error Message Printing
f filespec Configuration File
h List the Help Text and Open Connection
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 TLNTSB program supports the following command line op-
tions which are activated by the META character 'control A':
PROGRAM OPTIONS PAGE 4-4
TELNET
M->C open capture file
M->D close capture file
M->F FTP [internet address]
M->H this help screen
M->I type my internet address
M->K erase character
M->O abort output
M->Q are you there?
M->R toggle follow character
M->S skip to end of buffer
M->T toggle backspace/delete
M->U erase line
M->X close connection
M->Y interrupt process
M->@ send a true null character
^? abort Telnet session
For RT-11-SJ/SB/FB the IND control file TELNET.CSM starts the
program:
.sets cmdlin "-h "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
.open sy:tcpfun.com
.data run TCP:tlntsb.sav
.data 'cmdlin'
.close
$@sy:tcpfun
For RT-11-XB/XM/ZB/ZM the IND control file TELNET.CXM starts the
program:
.sets cmdlin "-h "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
.open sy:tcpfun.com
.data r sy:vbgexe.sav
.data TCP:tlntsb.sav
.data 'cmdlin'
.close
$@sy:tcpfun
For TSX-Plus the command file TELNET.CTM starts the program:
run/single TCP:tlntsb.sav
-h ^1 ^2 ^3 ^4 ^5 ^6
PROGRAM OPTIONS PAGE 4-5
CNCT
4.3 CNCT
The CNCTSB program allows the user to initiate a connection
to a remote RT-11/TSX-Plus host for a terminal session. This
program is the TLNTSB program stripped of all TELNET negotia-
tions and uses a non standard TCP port (27). The startup op-
tions for CNCTSB are:
CNCTSB destination [?] [-eh] [-f filespec]
? List the Help Text and Exit CNCTSB
e Enable Error Message Printing
f filespec Configuration File
h List the Help Text and Open Connection
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 CNCTSB 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->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
For RT-11-SJ/SB/FB the IND control file CNCT.CSM starts the
program:
.sets cmdlin "-h "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
.open sy:tcpfun.com
.data run TCP:cnctsb.sav
.data 'cmdlin'
.close
$@sy:tcpfun
For RT-11-XB/XM/ZB/ZM the IND control file CNCT.CXM starts the
program:
PROGRAM OPTIONS PAGE 4-6
CNCT
.sets cmdlin "-h "+"'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
.open sy:tcpfun.com
.data r sy:vbgexe.sav
.data TCP:cnctsb.sav
.data 'cmdlin'
.close
$@sy:tcpfun
For TSX-Plus the command file CNCT.CTM starts the program:
run/single TCP:cnctsb.sav
-h ^1 ^2 ^3 ^4 ^5 ^6
CHAPTER 5
ETHERNET DEVICE HANDLERS
The device handlers provide support for the following
hardware controllers:
1. DEQNA/DELQA (EQ and NQ Drivers)
2. DEUNA/DELUA (EU and NU Drivers)
3. DECNA (NC Driver)
The Ethernet handlers provide support for one controller and
a maximum of 8 units numbered 0 through 7. These unit numbers
are used as a logical connection between a user program and an
address/protocol pair to be recognized by the Ethernet hardware.
The NC/NQ/NU device handlers are the DEC handlers modified to
include special functions 206 (enable/disable frame bufferring),
207 (get physical address), 210 (get handler status block), and
212 (device time-out and reset) . These handlers support only
RT11XM V5.6 (and later), NU is coded to use the UB.SYS pseudo
handler for UNIBUS systems with greater than 256K bytes. The
NC/NQ/NU handlers perform all interrupt processing at IRQ level
(FORK level is never entered) and do not internally support
device timeout.
The EQ/EU device handlers are logically equivalent to the
NQ/NU device handlers but were designed with special functions
206 (enable/disable frame bufferring), 207 (get physical ad-
dress), 210 (get handler status block), 211 (abort job i/o, for
SJ monitors only), and 212 (device time-out and reset). The
EQ/EU handlers perform all interrupt processing at FORK level
and donot internally support device timeout. These handlers may
be conditionally assembled to support the RT11 SJ, SB, FB, and
XM monitors (versions 5.3 and later) not supported by the NQ/NU
device handlers.
ETHERNET DEVICE HANDLERS Page 5-2
The EQ and EU handlers may be conditionally assembled for
Version 6 of the TSX-Plus operating system. The 22-bit EU
handler requires a change in the TSX sysgen file TSGEN.MAC to
allocate 4 UMR registers to the EU handler. TSX-Plus versions
6.0 through 6.2 require a unique version of the EQ/EU handler
with special functions 300 (get PLAS region size), 301 (initial-
ize handler with PLAS region base address), and the support pro-
gram ENPLAS.SAV. The program ENPLAS.SAV creates the PLAS memory
region required by the handler.
ETHERNET DEVICE HANDLERS Page 5-3
5.1 DEVICE HANDLER SYSTEM SUMMARY
Summary of prebuilt EQ/EU/NC/NQ/NU
device drivers and supported systems:
RT-11 VERSION [5.3] [5.4] [5.5] [5.6 ...] TSX
----- ----- ----- --------- ---
eqsjms.[ext] SJ/FB SJ/FB SJ/FB - -
eusjms.[ext] SJ/FB SJ/FB SJ/FB - -
eqsjps.[ext] SJ/FB SJ/FB SJ/FB - -
eusjps.[ext] SJ/FB SJ/FB SJ/FB - -
eqsbms.[ext] - - - SB/FB -
eusbms.[ext] - - - SB/FB -
eqsbps.[ext] - - - SB/FB -
eusbps.[ext] - - - SB/FB -
eq18xm.[ext] XM XM XM XB/XM/ZB/ZM -
eq22xm.[ext] XM XM XM XB/XM/ZB/ZM -
eu18xm.[ext] XM XM XM XB/XM/ZB/ZM -
ncxv56.[ext] - ? ? XB/XM/ZB/ZM -
nqxv56.[ext] - ? ? XB/XM/ZB/ZM -
nuxv56.[ext] - ? ? XB/XM/ZB/ZM -
eq18.v62 - - - - <= V6.2
eq22.v62 - - - - <= V6.2
eu18.v62 - - - - <= V6.2
eu22.v62 - - - - <= V6.2
eq18.tsx - - - - >= V6.4
eq22.tsx - - - - >= V6.4
eu18.tsx - - - - >= V6.4
eu22.tsx - - - - >= V6.4
______.[ext] ext == sys, for monitor with device timeout
ext == nys, for monitor without device timeout
____ms.[ext] Drivers are for LSI/11 processors not having a
processor status word (PSW == @#177776).
____ps.[ext] Drivers are for all processors with a
processor status word (PSW == @#177776).
__sj__.[ext] Drivers contain special function 211 (abort
job i/o) for RT11SJ monitors.
ETHERNET DEVICE HANDLERS PAGE 5-4
DEVICE HANDLER SYSTEM SUMMARY
5.2 DEVICE HANDLER FEATURE SUMMARY
Summary of prebuilt EQ/EU/NC/NQ/NU
device driver features:
SPFUNS DEVICE
206 207 210 211 212 EIS PSW UMR
--- --- --- --- --- --- --- ---
eqsjms.[ext] X - - X X - - -
eusjms.[ext] X - - X X - - -
eqsjps.[ext] X - - X X - X -
eusjps.[ext] X - - X X - X -
eqsbms.[ext] X - - - X - - -
eusbms.[ext] X - - - X - - -
eqsbps.[ext] X - - - X - X -
eusbps.[ext] X - - - X - X -
eq18xm.[ext] X X X - X X X -
eq22xm.[ext] X X X - X X X -
eu18xm.[ext] X X X - X X X -
ncxv56.[ext] X X X - X X X -
nqxv56.[ext] X X X - X X X -
nuxv56.[ext] X X X - X X X X
eq18.v62 X X X - X X X -
eq22.v62 X X X - X X X -
eu18.v62 X X X - X X X -
eu22.v62 X X X - X X X X
eq18.tsx X X X - X X X -
eq22.tsx X X X - X X X -
eu18.tsx X X X - X X X -
eu22.tsx X X X - X X X X
______.[ext] ext == sys, for monitor with device timeout
ext == nys, for monitor without device timeout
____ms.[ext] Drivers are for LSI/11 processors not having a
processor status word (PSW == @#177776).
____ps.[ext] Drivers are for all processors with a
processor status word (PSW == @#177776).
__sj__.[ext] Drivers contain special function 211 (abort
job i/o) for RT11SJ monitors.
ETHERNET DEVICE HANDLERS PAGE 5-5
DEVICE HANDLER FEATURE SUMMARY
5.3 ALTERNATE DEUNA DEVICE HANDLERS
In addition to the device handlers listed in the Device
Handler tables above are 8 alternate handlers which may be re-
quired when configuring a system using the DEUNA network inter-
face. The DEUNA has very little internal buffer space for
packets and requires more external buffers to operate reliably
on networks with more than a few active computers. Testing on a
PDP-11/44 / DEUNA system attached to a local network having over
250 active computers required 4 internal packet buffers for
reliable operation. The additional EU handlers for SJFB and
SBFB monitors listed in the following table have 4 internal
packet buffers instead of the nominal 2 packet buffers.
Summary of prebuilt 4 buffer EU device drivers:
RT-11 VERSION [5.3] [5.4] [5.5] [5.6 ...]
----- ----- ----- ---------
eusjm4.[ext] SJ/FB SJ/FB SJ/FB -
eusjp4.[ext] SJ/FB SJ/FB SJ/FB -
eusbm4.[ext] - - - SB/FB
eusbp4.[ext] - - - SB/FB
SPFUNS DEVICE
206 207 210 211 212 EIS PSW UMR
--- --- --- --- --- --- --- ---
eusjm4.[ext] X - - X X - - -
eusjp4.[ext] X - - X X - X -
eusbm4.[ext] X - - - X - - -
eusbp4.[ext] X - - - X - X -
______.[ext] ext == sys, for monitor with device timeout
ext == nys, for monitor without device timeout
____m4.[ext] Drivers are for LSI/11 processors not having a
processor status word (PSW == @#177776).
____p4.[ext] Drivers are for all processors with a
processor status word (PSW == @#177776).
__sj__.[ext] Drivers contain special function 211 (abort
job i/o) for RT11SJ monitors.
ETHERNET DEVICE HANDLERS PAGE 5-6
ALTERNATE DEUNA DEVICE HANDLERS
5.4 PROGRAMMING
Programs that call the Ethernet handler must follow a certain
order. Write such programs with the following elements in the
order indicated.
1. Use the .LOOKUP programmed request to open a channel to the
device unit.
2. Allocate the unit using SPFUN 200.
3. Perform the Ethernet operation(s).
4. Deallocate the unit using SPFUN 200.
5. Use the .CLOSE programmed request to close the channel to
the specified device unit.
NOTE
Special functions 207 (get physical address), 210 (get
handler status block), 211 (abort job i/o), and 212
(device timeout / reset) do not require device alloca-
tion.
5.5 USE OF SPECIAL FUNCTIONS (.SPFUN)
The EQ/EU/NC/NQ/NU Ethernet handlers operate the Ethernet
controllers using the .SPFUN programmed request with the follow-
ing function codes:
ETHERNET DEVICE HANDLERS PAGE 5-7
USE OF SPECIAL FUNCTIONS (.SPFUN)
Function Code
-------- ----
Allocate unit 200
Deallocate unit 200
Enable Promiscuous Mode 201
Disable Promiscuous Mode 201
Enable protocol type 202
Disable protocol type 202
Enable multicast address 203
Disable multicast address 203
Transmit Ethernet frame 204
Receive Ethernet frame 205
Enable frame bufferring 206
Disable frame bufferring 206
Get physical address 207
Get handler status block 210
Abort Job I/O 211
Receive Timeout / Reset 212
Transmit Timeout / Reset 212
Successful completion of a .SPFUN request clears the carry bit.
Completion with an error sets the carry bit, and the status word
in the buffer contains an error code.
5.5.1 Unit Specification (.SPFUN 200)
The allocate unit special function allocates a unit for a
job's exclusive use.
The deallocate unit special function deallocates a unit so it
can be used by another job.
ETHERNET DEVICE HANDLERS PAGE 5-8
USE OF SPECIAL FUNCTIONS (.SPFUN)
5.5.1.1 Allocate Unit -
The following is the form of the special function allocate
unit (.SPFUN 200):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 200
buf is the address of a 4-word buffer
containing the status word and space
for the station's physical address.
The buffer contents are returned by
the allocate unit special function.
The high byte of the status word contains a 0.
Allocate unit returns one of the following
octal status codes in the low byte of the
status word:
0 Success
2 Controller error while attempting to
initialize the network interface
3 No resources (unit in use)
11 Reserved
wcnt is 0
blkn is 1
crtn is the entry point of a completion routine
ETHERNET DEVICE HANDLERS PAGE 5-9
USE OF SPECIAL FUNCTIONS (.SPFUN)
5.5.1.2 Deallocate Unit -
The following is the form of the special function deallocate
unit (.SPFUN 200):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 200
buf is the address of a 1-word buffer
containing the status word.
The high byte of the status word contains a 0.
Deallocate unit returns one of the following
octal status codes in the low byte of the
status word:
0 Success
1 Unknown unit. The specified unit was not
opened by the job issueing the request.
2 Controller error while attempting to
initialize the network interface
11 Unit still active
wcnt is 0
blkn is 0
crtn is the entry point of a completion routine
ETHERNET DEVICE HANDLERS PAGE 5-10
USE OF SPECIAL FUNCTIONS (.SPFUN)
5.5.2 Promiscuous Mode (.SPFUN 201)
The enable promiscuous mode special function enables the
Ethernet hardware to receive all network traffic regardless of
address or protocol. Any read request to the handler will re-
turn the first available packet received by the controller in-
terface.
The disable promiscuous mode special function enables the ad-
dress/protocol filtering provided by the Ethernet hardware and
enables the specified protocol.
5.5.2.1 Enable Promiscuous Mode -
The following is the form of the special function enable
promiscuous mode (.SPFUN 201):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 201
buf is the address of a 1-word buffer
containing the status word.
The high byte of the status word contains a 0.
Enable promiscuous mode returns one of the
following octal status codes in the low byte
of the status word:
0 Success
6 address/protocol active
wcnt is 0
blkn is 1
crtn is the entry point of a completion routine
ETHERNET DEVICE HANDLERS PAGE 5-11
USE OF SPECIAL FUNCTIONS (.SPFUN)
5.5.2.2 Disable Promiscuous Mode -
The following is the form of the special function disable
promiscuous mode (which performs an enable protocol type)
(.SPFUN 201):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 201
buf is the address of a 2-word buffer that
contains the status word, followed by
the 1-word protocol type that is to be
enabled when the promiscuous mode is
disabled.
The high byte of the status word contains a 0.
The disable promiscuous mode returns one of the
following octal status codes in the low byte
of the status word:
0 Success
1 Unknown unit. The specified unit was not
opened by the job issueing the request.
2 Controller error while attempting to
initialize the network interface
3 Reserved
6 Reserved
10 Protocol type in use
wcnt is 0
blkn is 0
crtn is the entry point of a completion routine
ETHERNET DEVICE HANDLERS PAGE 5-12
USE OF SPECIAL FUNCTIONS (.SPFUN)
5.5.3 Protocol Type (.SPFUN 202)
The enable protocol type special function adds a protocol
type to those to be recognized by the Ethernet controller. Only
one protocol type can be specified for each unit. At least one
protocol type must be enabled to receive Ethernet frames.
The disable protocol type special function removes the pro-
tocol type from the list of those recognized by the Ethernet
controller.
5.5.3.1 Enable Protocol Type -
The following is the form of the special function enable pro-
tocol type (.SPFUN 202):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 202
buf is the address of a 2-word buffer
that contains the status word followed
by the protocol type word.
The high byte of the status word contains a 0.
Enable protocol type returns one of the
following octal status codes in the low byte
of the status word:
0 Success
1 Unknown unit. The specified unit was
not opened by the job issuing the
request
2 Controller error while attempting to
initialize the network interface
3 No resources (unit's protocol table full)
6 Reserved
ETHERNET DEVICE HANDLERS PAGE 5-13
USE OF SPECIAL FUNCTIONS (.SPFUN)
10 Protocol type in use
The protocol type is specified by the user
wcnt is 0
blkn is 1
crtn is the entry point of a completion routine
5.5.3.2 Disable Protocol Type -
The following is the form of the special function disable
protocol type (.SPFUN 202):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 202
buf is the address of a 2-word buffer
that contains the status word followed
by the protocol type word.
The high byte of the status word contains a 0.
Disable protocol type returns one of the
following octal status codes in the low byte
of the status word:
0 Success
1 Unknown unit. The specified unit was
not opened by the job issuing the
request
2 Controller error while attempting to
initialize the network interface
If the disabled protocol type is not the
same as the enabled protocol type for this
unit then 'success' is returned.
wcnt is 0
ETHERNET DEVICE HANDLERS PAGE 5-14
USE OF SPECIAL FUNCTIONS (.SPFUN)
blkn is 0
crtn is the entry point of a completion routine
5.5.4 Multicast Address (.SPFUN 203)
The enable multicast address special function adds the multi-
cast address to those recognized by the Ethernet controller.
Ypu need not specify the unit's physical or broadcast address.
Only one multicast address is allowed per handler unit.
The disable multicast address special function removes the
multicast address from those to be recognized by the Ethernet
controller.
5.5.4.1 Enable Multicast Address -
The following is the form of the special function enable mul-
ticast address (.SPFUN 203):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 203
buf is the address of a 4-word buffer
that contains the status word, followed
by the 3-word multicast address. The
low order bit of the first address
word should be a 1.
The high byte of the status word contains a 0.
Enable multicast address returns one of the
following octal status codes in the low byte
of the status word:
0 Success
1 Unknown unit. The specified unit was not
opened by the job issueing the request.
2 Controller error while attempting to
ETHERNET DEVICE HANDLERS PAGE 5-15
USE OF SPECIAL FUNCTIONS (.SPFUN)
initialize the network interface
3 No resources (unit's address table is full,
or hardware address table full)
wcnt is 0
blkn is 1
crtn is the entry point of a completion routine
5.5.4.2 Disable Multicast Address -
The following is the form of the special function disable
multicast address (.SPFUN 203):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 203
buf is the address of a 4-word buffer
that contains the status word, followed
by the 3-word multicast address. The
low order bit of the first address
word should be a 1.
The high byte of the status word contains a 0.
Disable multicast address returns one of the
following octal status codes in the low byte
of the status word:
0 Success
1 Unknown unit. The specified unit was not
opened by the job issueing the request.
2 Controller error while attempting to
initialize the network interface
If the disabled multicast address is not the
same as the enabled multicast address for this
unit then 'success' is returned.
ETHERNET DEVICE HANDLERS PAGE 5-16
USE OF SPECIAL FUNCTIONS (.SPFUN)
wcnt is 0
blkn is 0
crtn is the entry point of a completion routine
5.5.5 Transmit Ethernet Frame (.SPFUN 204)
The special function transmit Ethernet frame transmits the
Ethernet frame pointed to in the buf argument. If the source
field of the frame is not zero, it is kept and used. If the
source field of the frame is zero, the controllers physical ad-
dress is inserted in the source field before transmission.
The following is the form of the special function transmit
Ethernet frame (.SPFUN 204):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 204
buf is the address of a variable size buffer
containing the status word, followed by
the Ethernet packet to be transmitted.
The first word following the status word
is reserved. Next is the 3-word destination
address field followed by the 3-word
source address field. The next word is the
packet protocol type. Following this is the
variable length packet containing from 23 to
750 words.
The transmit Ethernet frame returns one of the
following octal status codes in the low byte
of the status word:
0 Success
1 Unknown unit. The specified unit was not
opened by the job issueing the request.
2 Controller error while attempting to
ETHERNET DEVICE HANDLERS PAGE 5-17
USE OF SPECIAL FUNCTIONS (.SPFUN)
initialize the network interface
13 Transmit failed
When status code 13 is returned in the low byte
of the status word, transmit Ethernet frame
returns one of the following octal status codes
in the high byte of the status word:
1 Invalid frame length
2 Excessive collisions
3 Carrier check failed
wcnt is determined by the variable size of the user
buffer (including the status word and reserved
word). The packet size (including the status
word and reserved word) can vary between 32
and 759 words.
blkn is 0
crtn is the entry point of a completion routine
5.5.6 Receive Ethernet Frame (.SPFUN 205)
The receive Ethernet frame special function returns the next
Ethernet packet with the desired unit address and protocol type
to the buffer. The function does not return Ethernet frames
that are received with errors.
The following is the form of the special function receive
Ethernet frame (.SPFUN 205):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 205
buf is the address of a variable size buffer
containing the status word, a word
containing the frame size, and followed by
ETHERNET DEVICE HANDLERS PAGE 5-18
USE OF SPECIAL FUNCTIONS (.SPFUN)
upto 757 words to receive the Ethernet
frame. The buffer contents are returned
by the receive Ethernet frame function.
The high byte of the status word contains a 0.
The receive Ethernet frame special function
returns one of the following octal status
codes in the low byte of the status word:
0 Success
1 Unknown unit. The specified unit was not
opened by the job issueing the request.
2 Controller error while attempting to
initialize the network interface
wcnt is the size of the user buffer including
the status and frame size words
blkn is 0
crtn is the entry point of a completion routine
5.5.7 Frame Queueing (.SPFUN 206)
The Enable frame queueing special function allows the
handlers to internally queue received packets that match any
enabled address/protocol even though a receive request has not
been issued for that address/protocol or a previous packet has
not been processed. The EQ handler normally allocates space for
internally queueing upto 20 packets (this may be changed by mod-
ifying 'rbcnt' in EQ.MAC and rebuilding the EQ handler). The
22-bit EU handler normally allocates space for internally queue-
ing 10 packets and the 18-bit EU handler allocates space for 2
packets (this may be changed by modifying 'rbcnt' in EU.MAC and
rebuilding the EU handlers).
The disable frame queueing special function disables the in-
ternal queueing of packets. This function may only be issued if
all address/protocol pairs have been disabled.
ETHERNET DEVICE HANDLERS PAGE 5-19
USE OF SPECIAL FUNCTIONS (.SPFUN)
5.5.7.1 Enable Frame Queueing -
The following is the form of the special function enable
frame queueing (.SPFUN 206):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 206
buf is the address of a 1-word buffer
for the returned status word which
is always 0
wcnt is 0
blkn is 1
crtn is the entry point of a completion routine
5.5.7.2 Disable Frame Queueing -
The following is the form of the special function disable
frame queueing (.SPFUN 206):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 206
buf is the address of a 1-word buffer
containing the status word.
The high byte of the status word contains a 0.
Disable frame queueing returns one of the
following octal status codes in the low byte
of the status word:
ETHERNET DEVICE HANDLERS PAGE 5-20
USE OF SPECIAL FUNCTIONS (.SPFUN)
0 Success
6 address/protocol active
wcnt is 0
blkn is 0
crtn is the entry point of a completion routine
5.5.8 Get Ethernet Address (.SPFUN 207)
The get Ethernet address special function returns the physi-
cal address of the Ethernet controller card.
The following is the form of the special function get
Ethernet address (.SPFUN 207):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 207
buf is the address of a 4-word buffer
in which the status word, which is
always 0, and the six byte physical
Ethernet address are returned.
wcnt is 0
blkn is 0
crtn is the entry point of a completion routine
ETHERNET DEVICE HANDLERS PAGE 5-21
USE OF SPECIAL FUNCTIONS (.SPFUN)
5.5.9 Get Ethernet Status Block (.SPFUN 210)
The get Ethernet status block special function returns the
handler's internal parameter block. The information contained
in the parameter block includes the number of packets received
and transmitted for each EQ/EU unit as well as timeout informa-
tion.
The following is the form of the special function get
Ethernet status block (.SPFUN 210):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 210
buf is the address of a buffer into which
wcnt words are written from the
EQ/EU handlers status block.
wcnt is the number of words to return
to the buffer. The status word
must be included in the word count.
blkn is 0
crtn is the entry point of a completion routine
The complete list of parameters in the status block may be found
in the EQ/EU Ethernet handler files EQ.MAC, EU.MAC, and EI.MAC.
The first word is always a status word of value 0, the following
4-byte (long integer) parameters are:
eiipkt total receiver interrupts
eiopkt total transmitter interrupts
eirtmo total receive timeouts
eixtmo total transmit timeouts
eirun[8] received packets for each unit
eixun[8] transmitted packets for each unit
These are the only parameters used by any program in the
'TCP/IP Package for TSX-Plus' or 'TCP/IP Package for RT-11'.
ETHERNET DEVICE HANDLERS PAGE 5-22
USE OF SPECIAL FUNCTIONS (.SPFUN)
5.5.10 Abort Job I/O (.SPFUN 211)
The abort job i/o special function is conditionally assembled
into drivers for the RT11SJ monitors. The SJ monitor never
calls the abort entry point in the device handler (either from a
.ABTIO request or at job termination) this means that the inter-
nally queued i/o requests will never complete and the monitor
will lock waiting for the i/o to complete. This special func-
tion calls the abort entry point clearing all internally queued
elements associated with the current job.
The following is the form of the special function Abort Job
I/O (.SPFUN 211):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 211
buf is not used
wcnt is not used
blkn is not used
crtn is the entry point of a completion routine
5.5.11 Timeout / Reset (.SPFUN 212)
The functionality of the timeout / reset special function is
equivalent to an internal device timeout. This implemenatation
allows the handlers to be assembled for use with monitors with
or without device timeout functionality. A user call to spfun
212 aborts any pending transmit packet, the network handler to
be cleared, and the network device to be restarted. The actual
device timeout interval is determined by the user program.
ETHERNET DEVICE HANDLERS PAGE 5-23
USE OF SPECIAL FUNCTIONS (.SPFUN)
5.5.11.1 Receive Timeout / Reset -
The receive timeout / reset (blkn = 0) causes the receive
timeout counter to be incremeneted.
The following is the form of the special function Receive
Timeout / Reset (.SPFUN 212):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 212
buf is not used
wcnt is not used
blkn 0
crtn is the entry point of a completion routine
5.5.11.2 Transmit Timeout / Reset -
The transmit timeout / reset (blkn = 1) causes the transmit
timeout counter to be incremeneted.
The following is the form of the special function Transmit
Timeout / Reset (.SPFUN 212):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 212
buf is not used
wcnt is not used
ETHERNET DEVICE HANDLERS PAGE 5-24
USE OF SPECIAL FUNCTIONS (.SPFUN)
blkn 1
crtn is the entry point of a completion routine
5.6 HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2
The EQ and EU Ethernet handlers configured for TSX-Plus ver-
sions 6.0 through 6.2 have these additional .SPFUN programmed
requests:
Function Code
-------- ----
Get PLAS Allocation Size 300
Initialize Handler 301
Successful completion of a .SPFUN request clears the carry bit.
Completion with an error sets the carry bit without any error
code.
5.6.1 Get PLAS Allocation Size (.SPFUN 300)
The following is the form of the special function Get PLAS
Alocation Size (.SPFUN 300):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 300
buf handler returns the requested allocation
size, in 32. word increments, in the
first word of the buffer
wcnt is not used
blkn is not used
crtn is the entry point of a completion routine
ETHERNET DEVICE HANDLERS PAGE 5-25
HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2
5.6.2 Initialize Handler (.SPFUN 301)
The following is the form of the special function Initialize
Handler (.SPFUN 301):
Macro Call:
.SPFUN area,chan,func,buf,wcnt,blkn,[crtn]
where:
area is address of 6-word EMT argument block
chan is a channel number in the range
0 to 376 (octal)
func is 301
buf the address of buf is the PLAS base address
wcnt is not used
blkn is not used
crtn is the entry point of a completion routine
Attempting to reinitialize the handler or to initialize the
handler with a PLAS base address of 0 will be reported as an er-
ror by setting the carry bit.
5.6.3 ENPLAS.SAV - Allocating the PLAS Region
The program ENPLAS.SAV is a support program which creates the
PLAS buffer required by the TSX-Plus V6.0 through V6.2 EQ and EU
device handlers. The program uses .spfun 300 to get the buffer
size, creates the PLAS region, uses .spfun 301 to handoff the
PLAS region's Base Address to the device handler and to initial-
ize the handler. This program must run before the EQ or EU
device handler can be used.
The device EN0: must be assigned before running ENPLAS.SAV.
ASSIGN EU0: EN0: or
ASSIGN EQ0: EN0:
R ENPLAS.SAV
ETHERNET DEVICE HANDLERS PAGE 5-26
HANDLERS FOR TSX-PLUS V6.0 THROUGH V6.2
The device handler requires only a single initialization to
be used by the TCPIP.SAV server or the small system client
programs.
CHAPTER 6
BUILDING THE FTP AND TELNET PACKAGE
The package can only be built under RT-11-XM or TSX-Plus.
There is insufficient space to compile several of the components
under the SJ/SB/FB monitors.
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
RT-11 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 updates
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 allow the
package to be recompiled.
6.1.1 Building under RT-11
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 as-
sume 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.NIS to copy the non-EIS
specific files into the C: directory with the appropriate
.SAV and .OBJ file types.
BUILDING THE FTP AND TELNET PACKAGE PAGE 6-2
C COMPILER
5. UCL CC and ASM commands.
1. For RT-11-XM V5.3 use file C:CCXASM.V53 to create the
UCL commands to invoke CC and ASM.
2. For RT-11-XM V5.6 (and later) use file C:CCXASM.V56 to
create the UCL commands to invoke CC and ASM.
6.1.2 Building under TSX-Plus
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 as-
sume 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.NIS to copy the non-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 command files
are used to invoke the C compiler and AS assembler.
6.2 FTP AND TELNET PACKAGE
The FTP and Telnet 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 disk SSDSK1.DSK to a disk or logical disk
having at least 3000 blocks of free space.
2. The command file BLDALL.COM will compile and link the com-
plete FTP and Telnet Package. Inspect BLDALL.COM to see how
each individual component is built. An unloaded 11/73 pro-
cessor will take from 10 to 15 minutes to compile and link
the complete package.
BUILDING THE FTP AND TELNET PACKAGE PAGE 6-3
COMPILING OPTIONS
6.3 COMPILING OPTIONS
The FTP and Telnet 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. VFTPSB.H for
FTPSB.SAV, which contains define statements that have been com-
mented out to exclude the diagnostics. FTP or Telnet with the
diagnostics will be too large to run under the SJ, SB, or FB
monitors.
CHAPTER 7
DISTRIBUTION DISKS
The "TCP/IP Package for TSX-Plus", the "TCP/IP Package for
RT-11", and the "FTP and Telnet Package for Small Systems" are
distributed as a combined package of 24 RX02 logical floppy
disks:
1. TSDSK1 TCP/IP Package for TSX-Plus
2. TSDSK2 Executables for TSX-Plus Systems.
3. TSDSK3 (EQ/EU Device Driver Required)
4. RTDSK1 TCP/IP Package for RT-11
5. RTDSK2 Executables for RT-11 Mapped Systems.
6. RTDSK3 (EQ/EU/NC/NQ/NU Device Driver Required)
7. SRDSK1 TCP/IP Package Sources
8. SRDSK2 All source code files for:
9. SRDSK3 TCP/IP Package for TSX-Plus
10. SRDSK4 TCP/IP Package for RT-11
11. SMLTCP Small System Package Executables
(EQ/EU/NC/NQ/NU Device Driver Required)
12. SSDSK1 Small System Package Sources
13. DVDSK1 EQ/EU Device Drivers
14. DVDSK2 NC/NQ/NU Device Drivers
15. CCDSK1 DECUS C Compiler, Assembler, and Libraries.
16. CCDSK2 DECUS C Source Changes
17. CCXDSK Compiler helper files for mapped
RT-11 systems.
18. RTDOC SS and RT Package Documentation
19. TSXDOC TSX Package Documentation
20. RNODSK Package Documentation in RNO Format
DISTRIBUTION DISKS Page 7-2
21. RTHTML RT-11 Docs in HTML Format
22. TSHTML TSX-Plus Docs in HTML Format
23. SSHTML Small System Docs in HTML Format
24. TCPIPM Minimal Distribution
APPENDIX A
SMALL SYSTEM CHANGE LOG
SMALL SYSTEM CHANGE LOG Page A-2
A.1 VERSION 2.40
V02.40
15-Jun-2008
EQ.MAC
Updated the EQ device driver interrupt processing
to be more consistant with the EU device driver.
SMALL SYSTEM CHANGE LOG PAGE A-3
VERSION 2.40
A.2 VERSION 2.38
V02.39
15-Jan-2008
No changes. Synchronized
to RT/TSX Version 2.39.
SMALL SYSTEM CHANGE LOG PAGE A-4
VERSION 2.38
A.3 VERSION 2.38
V02.38
26-Mar-2007
No changes. Synchronized
to RT/TSX Version 2.38.
SMALL SYSTEM CHANGE LOG PAGE A-5
VERSION 2.38
A.4 VERSION 2.37
V02.37
1-Feb-2007
No changes. Synchronized
to RT/TSX Version 2.37.
SMALL SYSTEM CHANGE LOG PAGE A-6
VERSION 2.37
A.5 VERSION 2.36
V02.36
15-Nov-2006
No changes. Synchronized
to RT/TSX Version 2.36.
SMALL SYSTEM CHANGE LOG PAGE A-7
VERSION 2.36
A.6 VERSION 2.35
V02.35
1-Oct-2006
No changes. Synchronized
to RT/TSX Version 2.35.
SMALL SYSTEM CHANGE LOG PAGE A-8
VERSION 2.35
A.7 VERSION 2.34
V02.34
1-Jan-2006
FTPSBI.C, TLNTI.C, and CNCTI.C
Help text changes/corrections.
SMALL SYSTEM CHANGE LOG PAGE A-9
VERSION 2.34
A.8 VERSION 2.33
V02.33
15-Jan-2004
EI.MAC, EU.MAC, and EQ.MAC
The network device drivers have been rewritten
to remove the internal device time-out code.
This change means that the RT-11 monitors no longer
are required to have the sysgen device time-out
option. The device time-out code is now implemented
through a device handler special function (spfun 212).
The spfun 212 is an optional device handler function.
To utilize this device time-out option the user
program must include coding to determine when a
time-out has occurred and call spfun 212 to initialize
the network interface. [ The removal of the device
time-out code simplifies the handler. The device
handler no longer requires the .timio, .ctimio, or
.sync processing. This also means that the time-out
configuration is completely user programmable. ]
NIV56.MAC, NCV56.MAC, NQV56.MAC, and NUV56.MAC
Added the special function spfun 212 to the DEC
network device drivers. This function adds
device time-out to the NC, NQ, and NU handlers.
The functionality is identical to that described
for the EQ and EU drivers above.
ENDRVR.MAC and SYSTEM.MAC
Updated ENDRVR.MAC to support the Network Device
Time-Out special function spfun 212. If the
transmission of a packet does not complete or
return an error within 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.
SMALL SYSTEM CHANGE LOG PAGE A-10
VERSION 2.33
A.9 VERSION 2.32
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
SMALL SYSTEM CHANGE LOG PAGE A-11
VERSION 2.32
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.
SMALL SYSTEM CHANGE LOG PAGE A-12
VERSION 2.32
A.10 VERSION 2.31
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.
SMALL SYSTEM CHANGE LOG PAGE A-13
VERSION 2.31
A.11 VERSION 2.30
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: June 2008