Welcome

FTP and Telnet Package For Small Systems Documentation

-... 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.  

- ... Supported Systems

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.

Go to Ethernet Driver Index

- ... Device Driver Features

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.

Go to Ethernet Driver Index

- ... 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.

Go to Ethernet Driver Index

- ... 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.  

Go to Ethernet Driver Index

- ... Use of Special Functions

   The  EQ/EU Ethernet handlers operate the Ethernet controllers
using the .SPFUN programmed request with the following functions:
- . . . . . Allocate Unit
- . . . . . Deallocate Unit

- . . . . . Enable Promiscuous Mode
- . . . . . Disable Promiscuous Mode

- . . . . . Enable Protocol type
- . . . . . Disable protocol type

- . . . . . Enable multicast address
- . . . . . Disable multicast address

- . . . . . Transmit Ethernet frame

- . . . . . Receive Ethernet frame

- . . . . . Enable frame bufferring
- . . . . . Disable frame bufferring

- . . . . . Get physical address

- . . . . . Get handler status block

- . . . . . Abort Job I/O

- . . . . . Receive Timeout / Reset

- . . . . . Transmit Timeout / Reset

- . . . . . Return to TCP/IP Documentation Index

   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.  

Go to Ethernet Driver Index

- ... Allocate Unit (.SPFUN 200)

   The  allocate  unit  special  function allocates a unit for a
job's exclusive use.  

   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

=> Section Index

- ... Deallocate Unit (.SPFUN 200)

   The deallocate unit special function deallocates a unit so it
can be used by another job.  

   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

=> Section Index

- ... Enable 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  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

=> Section Index

- ... Disable Promiscuous Mode (.SPFUN 201)

   The disable promiscuous mode special function enables the ad-
dress/protocol filtering provided by the Ethernet  hardware  and
enables the specified protocol.  

   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

=> Section Index

- ... Enable 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 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

                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

=> Section Index

- ... Disable Protocol Type (.SPFUN 202)

   The  disable  protocol type special function removes the pro-
tocol type from the list of those  recognized  by  the  Ethernet
controller.  

   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

        blkn    is 0

        crtn    is the entry point of a completion routine

=> Section Index

- ... Enable 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 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
                   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

=> Section Index

- ... Disable Multicast Address (.SPFUN 203)

   The  disable  multicast  address special function removes the
multicast address from those to be recognized  by  the  Ethernet
controller.  

   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.

        wcnt    is 0

        blkn    is 0

        crtn    is the entry point of a completion routine

=> Section Index

- ... 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
                   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

=> Section Index

- ... 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
                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

=> Section Index

- ... Enable Frame Queueing (.SPFUN 206)

   The  Enable  frame queueing special function allows the EQ/EU
handler 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  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

=> Section Index

- ... Disable Frame Queueing (.SPFUN 206)

   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.  

   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:

                0  Success

                6  address/protocol active

        wcnt    is 0

        blkn    is 0

        crtn    is the entry point of a completion routine

=> Section Index

- ... Get Physical 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

=> Section Index

- ... Get Handler Status Block (.SPFUN 210)

   The  get  handler  status block  special function returns the
EQ/EU handler's internal parameter block.  The information  con-
tained in the parameter block includes the number of packets re-
ceived and transmitted for each EQ/EU unit as  well  as  timeout
information.  

   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'.

=> Section Index

- ... 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

=> Section Index

- ... Receive Timeout / Reset (.SPFUN 211)

   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.  


   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

=> Section Index

- ... Transmit Timeout / Reset (.SPFUN 211)

   The  transmit  timeout / reset (blkn = 0) 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
        
        blkn    1
        
        crtn    is the entry point of a completion routine

=> Section Index

- ... 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.  

- ... 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

- ... 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.  

- ... 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.  

Go to Ethernet Driver Index

... Exit TCP/IP Documentation

... Home Page

Last Updated: June 2008