FTP and Telnet Package
for
Small Systems
CHAPTER 1 SOFTWARE INSTALLATION 1-1
1.1 INSTALLATION CONFIGURATIONS 1-1
1.1.1 Install All Files on System Device 1-1
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 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-4
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 FTP AND TELNET PACKAGE 6-1
6.1 C COMPILER 6-1
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
Page ii
CHAPTER 7 DISTRIBUTION DISKS 7-1
Page iii
FTP and Telnet Package for Small Systems
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 thick or thin wire adapter.
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 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 disk DVRDSK.DSK.
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.
SOFTWARE INSTALLATION PAGE 1-2
INSTALLATION CONFIGURATIONS
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
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
SOFTWARE INSTALLATION PAGE 1-3
CONFIGURATION FILE
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 / FTP / RFTP / CNCT / RCNCT /
# MAIL / RSMTP
# RPOP3 / MAILER / MMAIL
# RLPD / LPRINT / LPQRM / LLPQRM
# NTSND
# RHTTP
# RGOPH
#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,2,sy:rftp.srv # remote ftp server
#service=23,2,sy:rtelnt.srv # remote telnet server
#service=25,2,sy:rsmtp.srv # remote smtp server
#service=27,2,sy:rcnct.srv # remote cnct server
#service=70,2,sy:rgoph.srv # remote gopher server
#service=80,4,sy:rhttp.srv # remote http server
#service=110,2,sy:rpop3.srv # remote pop3 server (task: -t 1)
#service=515,2,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,
device timeout, 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 disk DVRDSK.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 or thin wire
connection).
2.2 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 5.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
UNIBUS SYSTEMS
cable) to a transceiver (with either a thick or thin 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, interrupt processing at FORK level, 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 only support for spfun 206. 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.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.
SYSTEM GENERATION Page 3-3
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.
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 filename] [destination host]
? List this Help Text and Exit FTPSB
e Enable Error Message Printing
f filename 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
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]
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:
PROGRAM OPTIONS PAGE 4-3
FTP
.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 filename]
? List the Help Text and Exit TLNTSB
e Enable Error Message Printing
f filename 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':
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
PROGRAM OPTIONS PAGE 4-4
TELNET
^? 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
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 filename]
? List the Help Text and Exit CNCTSB
e Enable Error Message Printing
f filename 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).
PROGRAM OPTIONS PAGE 4-5
CNCT
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:
.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) 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 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 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