Welcome

TCP/IP Package for RT-11 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) 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.
Also the EQ and EU handlers may be conditionally  assembled  for
the TSX-Plus operating system.  The 22-bit EU handler requires a
change in the TSX sysgen file TSGEN.MAC to allocate 4 UMR regis-
ters  to  EU  handler.

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

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

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), and 211 (abort job i/o) do  not
     require device allocation.  


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

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

   The  EQ/EU  handlers  are functionally identical to the RT-11
NQ/NU Ethernet handlers with the  addition  of  receive/transmit
device timeout support and special functions 206, 207 and 210.  

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

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