(FILECREATED "18-Oct-85 16:45:28" {ERIS}<LISPCORE>SOURCES>DOVEDECLS.;10 12405  

      changes to:  (VARS \DoveIO.PromVersion DOVEDECLSCOMS)

      previous date: "13-Oct-85 14:01:05" {ERIS}<LISPCORE>SOURCES>DOVEDECLS.;9)


(* Copyright (c) 1985 by 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))
			(TEMPLATES \DoveIO.LockMem)))
(DECLARE: DONTCOPY 
(FILESLOAD MESATYPES)
)
(DECLARE: EVAL@COMPILE 
(DEFMACRO \Dove.ClearQueueBlock (BASE)
	  (BQUOTE (\CLEARWORDS , BASE \DoveEther.QueuePtrSize)))
(PUTPROPS \DoveIO.ByteSwap DMACRO (ARGS (LET ((X (CAR ARGS)))
					     (BQUOTE ((OPCODES DOVEMISC 4)
						      , X)))))
(DEFMACRO \DoveIO.IORegionOffset (X)
	  (BQUOTE (IDIFFERENCE (\LOLOC , X)
			       (\LOLOC \DoveIORegion))))
(PUTPROPS \DoveIO.LockMem DMACRO (ARGS (LET ((MASK (CAR ARGS))
					     (VALUE (CADR ARGS))
					     (ADDR (CADDR ARGS))
					     (OP (CADDDR ARGS)))
					    (BQUOTE ((OPCODES DOVEMISC 5)
						     , OP , ADDR , VALUE , MASK)))))
(PUTPROPS \DoveIO.NotifyIOP DMACRO (ARGS (LET ((MASK (CAR ARGS)))
					      (BQUOTE ((OPCODES DOVEMISC 6)
						       , MASK)))))
(PUTPROPS \DoveIO.SetMaintPanel DMACRO (ARGS (LET ((CODE (CAR ARGS)))
						  (BQUOTE ((OPCODES DOVEMISC 2)
							   ,
							   (\DTEST CODE (QUOTE SMALLP)))))))
(PUTPROPS \DoveFCBAt DMACRO (DEFMACRO (X)
				      (SELECTQ \DoveIO.PromVersion
					       (OLD (BQUOTE (\ADDBASE \DoveIORegion , X)))
					       (NEW (ERROR "Don't use \DoveFCBAt anymore!"))
					       (QUOTE 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)
(SETTEMPLATE (QUOTE \DoveIO.LockMem)
	     (QUOTE (.. EVAL)))
(PUTPROPS DOVEDECLS COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL)))
STOP