(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
(FILECREATED "16-May-90 15:55:59" {DSK}<usr>local>lde>lispcore>sources>DOVEDECLS.;2 15966  

      changes to%:  (VARS DOVEDECLSCOMS)

      previous date%: "31-Mar-86 11:10:09" {DSK}<usr>local>lde>lispcore>sources>DOVEDECLS.;1)


(* ; "
Copyright (c) 1985, 1986, 1990 by Venue & Xerox Corporation.  All rights reserved.
")

(PRETTYCOMPRINT DOVEDECLSCOMS)

(RPAQQ DOVEDECLSCOMS
       ((DECLARE%: DONTCOPY (FILES MESATYPES))
        (MACROS \Dove.ClearQueueBlock \DoveIO.ByteSwap \DoveIO.IORegionOffset \DoveIO.LockMem 
               \DoveIO.NotifyIOP \DoveIO.SetMaintPanel \DoveFCBAt)
        (CONSTANTS \DoveIO.ADD \DoveIO.AND \DoveIO.OR \DoveIO.OVERWRITEIFNIL \DoveIO.XCHG 
               \#WDS.OpieAddress)
        (CONSTANTS \DoveIO.ByteFALSE \DoveIO.ByteTRUE)
        (CONSTANTS * DoveIO.IORegionConstants)
        (CONSTANTS * DoveIO.HandlerIDs)
        (RECORDS Dove.OpieAddress DoveIO.ClientCondition DoveIO.TaskContextBlock DoveIO.SegmentRec 
               DoveIO.IORTable Dove.QueueBlock)
        (PROP ARGNAMES \DoveFCBAt)
        (COMS (CONSTANTS * DOVEIOREGIONOFFSETS)
              (CONSTANTS * DOVEOPIEADDRESSTYPES)
              (VARS \Dove.FCBSizes \DoveIO.PromVersion))
        (GLOBALVARS \DoveBeep.FCBPointer \DoveProcessor.FCBPointer \DoveKyMo.FCBPointer 
               \DoveMP.FCBPointer \DoveDisk.FCBPointer \DoveDisplay.FCBPointer \DoveEther.FCBPointer
               \DoveFloppy.FCBPointer)
        (TEMPLATES \DoveIO.LockMem)))
(DECLARE%: DONTCOPY 

(FILESLOAD MESATYPES)
)
(DECLARE%: EVAL@COMPILE 

(PROGN (DEFMACRO \Dove.ClearQueueBlock (BASE)
          `(\CLEARWORDS %, BASE (MESASIZE Dove.QueueBlock)))
       NIL)

(PUTPROPS \DoveIO.ByteSwap DMACRO [ARGS (LET ((X (CAR ARGS)))
                                                     `((OPCODES DOVEMISC 4)
                                                       %, X])

(PROGN (DEFMACRO \DoveIO.IORegionOffset (X)
          `(IDIFFERENCE (\LOLOC %, X)
                  (\LOLOC \DoveIORegion)))
       NIL)

(PUTPROPS \DoveIO.LockMem DMACRO [ARGS (LET ((MASK (CAR ARGS))
                                                     (VALUE (CADR ARGS))
                                                     (ADDR (CADDR ARGS))
                                                     (OP (CADDDR ARGS)))
                                                    `((OPCODES DOVEMISC 5)
                                                      %, OP %, ADDR %, VALUE %, MASK])

(PUTPROPS \DoveIO.NotifyIOP DMACRO [ARGS (LET ((MASK (CAR ARGS)))
                                                      `((OPCODES DOVEMISC 6)
                                                        %, MASK])

(PUTPROPS \DoveIO.SetMaintPanel DMACRO [ARGS (LET ((CODE (CAR ARGS)))
                                                          `((OPCODES DOVEMISC 2)
                                                            %,
                                                            (\DTEST CODE 'SMALLP])

(PUTPROPS \DoveFCBAt DMACRO (DEFMACRO (X) (SELECTQ \DoveIO.PromVersion
                                                      (OLD `(\ADDBASE \DoveIORegion %, X))
                                                      (NEW (ERROR "Don't use \DoveFCBAt anymore!"))
                                                      'IGNOREMACRO)))
)
(DECLARE%: EVAL@COMPILE 

(RPAQQ \DoveIO.ADD 0)

(RPAQQ \DoveIO.AND 1)

(RPAQQ \DoveIO.OR 2)

(RPAQQ \DoveIO.OVERWRITEIFNIL 4)

(RPAQQ \DoveIO.XCHG 3)

(RPAQQ \#WDS.OpieAddress 2)


(CONSTANTS \DoveIO.ADD \DoveIO.AND \DoveIO.OR \DoveIO.OVERWRITEIFNIL \DoveIO.XCHG \#WDS.OpieAddress)
)
(DECLARE%: EVAL@COMPILE 

(RPAQQ \DoveIO.ByteFALSE 0)

(RPAQQ \DoveIO.ByteTRUE 255)


(CONSTANTS \DoveIO.ByteFALSE \DoveIO.ByteTRUE)
)

(RPAQQ DoveIO.IORegionConstants ((DoveIO.SegmentGranularity 8)
                                     (DoveIO.ioRegionByteOffset 16384)
                                     (DoveIO.iorSegmentBase (FOLDLO DoveIO.ioRegionByteOffset 16))))
(DECLARE%: EVAL@COMPILE 

(RPAQQ DoveIO.SegmentGranularity 8)

(RPAQQ DoveIO.ioRegionByteOffset 16384)

(RPAQ DoveIO.iorSegmentBase (FOLDLO DoveIO.ioRegionByteOffset 16))


(CONSTANTS (DoveIO.SegmentGranularity 8)
       (DoveIO.ioRegionByteOffset 16384)
       (DoveIO.iorSegmentBase (FOLDLO DoveIO.ioRegionByteOffset 16)))
)

(RPAQQ DoveIO.HandlerIDs
       ((DoveIO.beepHandler 1)
        (DoveIO.diskHandler (ADD1 DoveIO.beepHandler))
        (DoveIO.displayHandler (ADD1 DoveIO.diskHandler))
        (DoveIO.ethernetHandler (ADD1 DoveIO.displayHandler))
        (DoveIO.floppyHandler (ADD1 DoveIO.ethernetHandler))
        (DoveIO.kymoHandler (ADD1 DoveIO.floppyHandler))
        (DoveIO.mpHandler (ADD1 DoveIO.kymoHandler))
        (DoveIO.lispHandler 16)
        (DoveIO.ttyHandler (ADD1 DoveIO.lispHandler))
        (DoveIO.rs232Handler (ADD1 DoveIO.ttyHandler))
        (DoveIO.confHandler (ADD1 DoveIO.rs232Handler))
        (DoveIO.pceDispatchHandler (ADD1 DoveIO.confHandler))
        (DoveIO.pceDisplayHandler (ADD1 DoveIO.pceDispatchHandler))
        (DoveIO.pceKeyHandler (ADD1 DoveIO.pceDisplayHandler))
        (DoveIO.pceMouseHandler (ADD1 DoveIO.pceKeyHandler))
        (DoveIO.pcePrinterHandler (ADD1 DoveIO.pceMouseHandler))
        (DoveIO.pceFloppyHandler (ADD1 DoveIO.pcePrinterHandler))
        (DoveIO.pceHardDiskHandler (ADD1 DoveIO.pceFloppyHandler))
        (DoveIO.pceDMAHandler (ADD1 DoveIO.pceHardDiskHandler))
        (DoveIO.pceTimer (ADD1 DoveIO.pceDMAHandler))))
(DECLARE%: EVAL@COMPILE 

(RPAQQ DoveIO.beepHandler 1)

(RPAQ DoveIO.diskHandler (ADD1 DoveIO.beepHandler))

(RPAQ DoveIO.displayHandler (ADD1 DoveIO.diskHandler))

(RPAQ DoveIO.ethernetHandler (ADD1 DoveIO.displayHandler))

(RPAQ DoveIO.floppyHandler (ADD1 DoveIO.ethernetHandler))

(RPAQ DoveIO.kymoHandler (ADD1 DoveIO.floppyHandler))

(RPAQ DoveIO.mpHandler (ADD1 DoveIO.kymoHandler))

(RPAQQ DoveIO.lispHandler 16)

(RPAQ DoveIO.ttyHandler (ADD1 DoveIO.lispHandler))

(RPAQ DoveIO.rs232Handler (ADD1 DoveIO.ttyHandler))

(RPAQ DoveIO.confHandler (ADD1 DoveIO.rs232Handler))

(RPAQ DoveIO.pceDispatchHandler (ADD1 DoveIO.confHandler))

(RPAQ DoveIO.pceDisplayHandler (ADD1 DoveIO.pceDispatchHandler))

(RPAQ DoveIO.pceKeyHandler (ADD1 DoveIO.pceDisplayHandler))

(RPAQ DoveIO.pceMouseHandler (ADD1 DoveIO.pceKeyHandler))

(RPAQ DoveIO.pcePrinterHandler (ADD1 DoveIO.pceMouseHandler))

(RPAQ DoveIO.pceFloppyHandler (ADD1 DoveIO.pcePrinterHandler))

(RPAQ DoveIO.pceHardDiskHandler (ADD1 DoveIO.pceFloppyHandler))

(RPAQ DoveIO.pceDMAHandler (ADD1 DoveIO.pceHardDiskHandler))

(RPAQ DoveIO.pceTimer (ADD1 DoveIO.pceDMAHandler))


(CONSTANTS (DoveIO.beepHandler 1)
       (DoveIO.diskHandler (ADD1 DoveIO.beepHandler))
       (DoveIO.displayHandler (ADD1 DoveIO.diskHandler))
       (DoveIO.ethernetHandler (ADD1 DoveIO.displayHandler))
       (DoveIO.floppyHandler (ADD1 DoveIO.ethernetHandler))
       (DoveIO.kymoHandler (ADD1 DoveIO.floppyHandler))
       (DoveIO.mpHandler (ADD1 DoveIO.kymoHandler))
       (DoveIO.lispHandler 16)
       (DoveIO.ttyHandler (ADD1 DoveIO.lispHandler))
       (DoveIO.rs232Handler (ADD1 DoveIO.ttyHandler))
       (DoveIO.confHandler (ADD1 DoveIO.rs232Handler))
       (DoveIO.pceDispatchHandler (ADD1 DoveIO.confHandler))
       (DoveIO.pceDisplayHandler (ADD1 DoveIO.pceDispatchHandler))
       (DoveIO.pceKeyHandler (ADD1 DoveIO.pceDisplayHandler))
       (DoveIO.pceMouseHandler (ADD1 DoveIO.pceKeyHandler))
       (DoveIO.pcePrinterHandler (ADD1 DoveIO.pceMouseHandler))
       (DoveIO.pceFloppyHandler (ADD1 DoveIO.pcePrinterHandler))
       (DoveIO.pceHardDiskHandler (ADD1 DoveIO.pceFloppyHandler))
       (DoveIO.pceDMAHandler (ADD1 DoveIO.pceHardDiskHandler))
       (DoveIO.pceTimer (ADD1 DoveIO.pceDMAHandler)))
)
(DECLARE%: EVAL@COMPILE

(MESARECORD Dove.OpieAddress ((LoPart.BS WORD)
                                  (HiPart BYTE)
                                  (AddrType BYTE))
                                 [ACCESSFNS ((LispPointer (\DoveIO.PointerFromOpieAddress DATUM)
                                                    (\DoveIO.MakeOpieAddress DATUM NEWVALUE])

(MESATYPE DoveIO.ClientCondition (3 WORD))

(MESARECORD DoveIO.TaskContextBlock ((taskQueue 2 WORD)
                                         (taskCondition WORD)
                                         (taskICPtr WORD)
                                         (taskSP WORD)
                                         (returnSPSS 2 WORD)
                                         (prevState BITS 4)
                                         (presentState BITS 4)
                                         (taskHandlerID BYTE)
                                         (timerValue WORD)))

(MESARECORD DoveIO.SegmentRec ((ioRegionSegment WORD)
                                   (stackSegment WORD)))

(MESARECORD DoveIO.IORTable ((mesaHasLock BITS 16)
                                 (iopRequestsLock BITS 16)
                                 (segments DoveIO.SegmentRec)))

(MESARECORD Dove.QueueBlock ((QueueHead Dove.OpieAddress)
                                 (QueueTail Dove.OpieAddress)
                                 (QueueNext Dove.OpieAddress))
                                [ACCESSFNS ((LispQueueHead (\DoveIO.PointerFromOpieAddress
                                                            (fetch (Dove.QueueBlock QueueHead)
                                                               of DATUM))
                                                   (\DoveIO.MakeOpieAddress (fetch (
                                                                                      Dove.QueueBlock
                                                                                        QueueHead)
                                                                               of DATUM)
                                                          NEWVALUE))
                                            (LispQueueTail (\DoveIO.PointerFromOpieAddress
                                                            (fetch (Dove.QueueBlock QueueTail)
                                                               of DATUM))
                                                   (\DoveIO.MakeOpieAddress (fetch (
                                                                                      Dove.QueueBlock
                                                                                        QueueTail)
                                                                               of DATUM)
                                                          NEWVALUE))
                                            (LispQueueNext (\DoveIO.PointerFromOpieAddress
                                                            (fetch (Dove.QueueBlock QueueNext)
                                                               of DATUM))
                                                   (\DoveIO.MakeOpieAddress (fetch (
                                                                                      Dove.QueueBlock
                                                                                        QueueNext)
                                                                               of DATUM)
                                                          NEWVALUE])
)

(PUTPROPS \DoveFCBAt ARGNAMES (OFFSET))

(RPAQQ DOVEIOREGIONOFFSETS
       ((\Dove.VmemPageRunTableOffset 16128)
        (\Dove.MesaClientFCBOffset 4474)
        (\Dove.RemoteMemoryFCBOffset 3911)
        (\Dove.UnservicedFCBOffset 3815)
        (\Dove.WorkNotifierFCBOffset 3719)
        (\Dove.BindweedFCBOffset 3623)
        (\Dove.BootStrapFCBOffset 3527)
        (\Dove.WatchDogFCBOffset 3431)
        (\Dove.TestClientFCBOffset 2816)
        (\Dove.TimerFCBOffset 870)
        (\Dove.UmbilicalFCBOffset 478)
        (\Dove.ParityFCBOffset 382)
        (\Dove.OpieFCBOffset 30)
        (\Dove.BermudaFCBOffset 26)))
(DECLARE%: EVAL@COMPILE 

(RPAQQ \Dove.VmemPageRunTableOffset 16128)

(RPAQQ \Dove.MesaClientFCBOffset 4474)

(RPAQQ \Dove.RemoteMemoryFCBOffset 3911)

(RPAQQ \Dove.UnservicedFCBOffset 3815)

(RPAQQ \Dove.WorkNotifierFCBOffset 3719)

(RPAQQ \Dove.BindweedFCBOffset 3623)

(RPAQQ \Dove.BootStrapFCBOffset 3527)

(RPAQQ \Dove.WatchDogFCBOffset 3431)

(RPAQQ \Dove.TestClientFCBOffset 2816)

(RPAQQ \Dove.TimerFCBOffset 870)

(RPAQQ \Dove.UmbilicalFCBOffset 478)

(RPAQQ \Dove.ParityFCBOffset 382)

(RPAQQ \Dove.OpieFCBOffset 30)

(RPAQQ \Dove.BermudaFCBOffset 26)


(CONSTANTS (\Dove.VmemPageRunTableOffset 16128)
       (\Dove.MesaClientFCBOffset 4474)
       (\Dove.RemoteMemoryFCBOffset 3911)
       (\Dove.UnservicedFCBOffset 3815)
       (\Dove.WorkNotifierFCBOffset 3719)
       (\Dove.BindweedFCBOffset 3623)
       (\Dove.BootStrapFCBOffset 3527)
       (\Dove.WatchDogFCBOffset 3431)
       (\Dove.TestClientFCBOffset 2816)
       (\Dove.TimerFCBOffset 870)
       (\Dove.UmbilicalFCBOffset 478)
       (\Dove.ParityFCBOffset 382)
       (\Dove.OpieFCBOffset 30)
       (\Dove.BermudaFCBOffset 26))
)

(RPAQQ DOVEOPIEADDRESSTYPES (\DoveIO.ExtendedBusType \DoveIO.IOPIORegionRelativeType 
                                       \DoveIO.IOPLogicalType \DoveIO.PCLogicalType 
                                       \DoveIO.VirtualFirst64KRelativeType \DoveIO.VirtualPageType 
                                       \DoveIO.VirtualWordType))
(DECLARE%: EVAL@COMPILE 

(RPAQQ \DoveIO.ExtendedBusType 16)

(RPAQQ \DoveIO.IOPIORegionRelativeType 81)

(RPAQQ \DoveIO.IOPLogicalType 80)

(RPAQQ \DoveIO.PCLogicalType 144)

(RPAQQ \DoveIO.VirtualFirst64KRelativeType 225)

(RPAQQ \DoveIO.VirtualPageType 240)

(RPAQQ \DoveIO.VirtualWordType 224)


(CONSTANTS \DoveIO.ExtendedBusType \DoveIO.IOPIORegionRelativeType \DoveIO.IOPLogicalType 
       \DoveIO.PCLogicalType \DoveIO.VirtualFirst64KRelativeType \DoveIO.VirtualPageType 
       \DoveIO.VirtualWordType)
)

(RPAQQ \Dove.FCBSizes
       ((NIL 2)
        (\Dove.MesaIOPOffset 5)
        (\Dove.WorkMaskAreaOffset 17)
        (\Dove.MesaPageMapLocationOffset 2)
        (\Dove.BermudaFCBOffset 4)
        (\Dove.OpieFCBOffset 256)
        (\Dove.MaintPanelFCBOffset 96)
        (\Dove.ParityFCBOffset 96)
        (\Dove.UmbilicalFCBOffset 96)
        (\Dove.Keyboard&MouseFCBOffset 175)
        (\Dove.BeepFCBOffset 25)
        (\Dove.DisplayFCBOffset 96)
        (\Dove.TimerFCBOffset 96)
        (\Dove.EthernetFCBOffset 1850)
        (\Dove.TestClientFCBOffset 340)
        (\Dove.DiskFCBOffset 150)
        (\Dove.FloppyFCBOffset 125)
        (\Dove.WatchDogFCBOffset 96)
        (\Dove.BootStrapFCBOffset 96)
        (\Dove.BindweedFCBOffset 96)
        (\Dove.WorkNotifierFCBOffset 96)
        (\Dove.UnservicedFCBOffset 96)
        (\Dove.RemoteMemoryFCBOffset 231)
        (\Dove.TTYFCBOffset 96)
        (\Dove.RS232CFCBOffset 140)
        (\Dove.ProcessorFCBOffset 96)
        (\Dove.MesaClientFCBOffset 96)
        (\Dove.PCEDispatcherFCBOffset 96)
        (\Dove.PCETimerFCBOffset 96)
        (\Dove.PCEParallelFCBOffset 96)
        (\Dove.PCEDisplayFCBOffset 96)
        (\Dove.PCEKeyboardFCBOffset 96)
        (\Dove.PCERS232CFCBOffset 96)
        (\Dove.PCEDiskFCBOffset 96)
        (\Dove.PCEFloppyFCBOffset 160)))

(RPAQQ \DoveIO.PromVersion NEW)
(DECLARE%: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS \DoveBeep.FCBPointer \DoveProcessor.FCBPointer \DoveKyMo.FCBPointer \DoveMP.FCBPointer 
       \DoveDisk.FCBPointer \DoveDisplay.FCBPointer \DoveEther.FCBPointer \DoveFloppy.FCBPointer)
)

(SETTEMPLATE '\DoveIO.LockMem '(|..| EVAL))
(PUTPROPS DOVEDECLS COPYRIGHT ("Venue & Xerox Corporation" 1985 1986 1990))
(DECLARE%: DONTCOPY
  (FILEMAP (NIL)))
STOP
