initial checkin for sources
This commit is contained in:
293
sources/DOVEETHERDECLS
Normal file
293
sources/DOVEETHERDECLS
Normal file
@@ -0,0 +1,293 @@
|
||||
(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
|
||||
(FILECREATED "16-May-90 16:04:03" {DSK}<usr>local>lde>lispcore>sources>DOVEETHERDECLS.;2 14397
|
||||
|
||||
changes to%: (VARS DOVEETHERDECLSCOMS)
|
||||
|
||||
previous date%: "17-Dec-86 18:38:00" {DSK}<usr>local>lde>lispcore>sources>DOVEETHERDECLS.;1)
|
||||
|
||||
|
||||
(* ; "
|
||||
Copyright (c) 1986, 1990 by Venue & Xerox Corporation. All rights reserved.
|
||||
")
|
||||
|
||||
(PRETTYCOMPRINT DOVEETHERDECLSCOMS)
|
||||
|
||||
(RPAQQ DOVEETHERDECLSCOMS
|
||||
((FILES MESATYPES)
|
||||
(RECORDS Dove.EtherSCB)
|
||||
(RECORDS Dove.EtherAddr Dove.EtherConfigure Dove.EtherDumpStatus Dove.EtherFCB
|
||||
Dove.Etheri586Status Dove.EtherIOCB Dove.EtherCommandIOCB Dove.EtherIOIOCB
|
||||
Dove.EtherMulticastAddr Dove.EtherTransmit Dove.RxBufferDesc Dove.RxFrameDesc
|
||||
Dove.TimeDomainRFL)
|
||||
(FUNCTIONS \DoveEther.DoOutput)
|
||||
(CONSTANTS \DoveEther.MulticastAddr \DoveEther.QueuePtrSize \DoveEther.ClientConditionSize
|
||||
\DoveEther.IOIOCBLength \DoveEther.RequestON \DoveEther.RequestOFF)
|
||||
(CONSTANTS * DoveEther.IOCBTypes)
|
||||
(CONSTANTS * DoveEther.ActionCommands)))
|
||||
|
||||
(FILESLOAD MESATYPES)
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(MESARECORD Dove.EtherSCB ((stat BITS 4)
|
||||
(NIL BITS 1)
|
||||
(cus BITS 3) (* command unit status)
|
||||
(NIL BITS 1)
|
||||
(rus BITS 3) (* receive unit status)
|
||||
(NIL BITS 4)
|
||||
(ack BITS 4) (* acknowledge int)
|
||||
(NIL BITS 1)
|
||||
(cuc BITS 3) (* command unit command)
|
||||
(reset FLAG)
|
||||
(ruc BITS 3) (* receive unit command)
|
||||
(NIL BITS 4)
|
||||
(cblOffset WORD)
|
||||
(rfaOffset WORD)
|
||||
(crcErrs WORD)
|
||||
(alnErrs WORD)
|
||||
(rscErrs WORD)
|
||||
(ovrnErrs WORD)))
|
||||
)
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(BLOCKRECORD Dove.EtherAddr ((id 3 WORD)))
|
||||
|
||||
(MESARECORD Dove.EtherConfigure ((NIL BITS 4)
|
||||
(ByteCount BITS 4)
|
||||
(NIL BITS 4)
|
||||
(FifoLimit BITS 4)
|
||||
(SaveBadFrames FLAG)
|
||||
(SyncReady FLAG)
|
||||
(NIL BITS 6)
|
||||
(ExternalLoopBack FLAG)
|
||||
(InternalLoopBack FLAG)
|
||||
(PreambleLength BITS 2)
|
||||
(AddrTypeLoc BITS 1)
|
||||
(AddrLength BITS 3)
|
||||
(ExpBackoffMethod BITS 1)
|
||||
(AccContRes BITS 3)
|
||||
(NIL BITS 1)
|
||||
(LinearPolarity BITS 3)
|
||||
(InterframeSpacing BYTE)
|
||||
(SlotTimeLow BYTE)
|
||||
(RetryNumber BITS 4)
|
||||
(NIL BITS 1)
|
||||
(SlotTimeHigh BITS 3)
|
||||
(Padding FLAG)
|
||||
(BitStuffing FLAG)
|
||||
(CRC16 FLAG)
|
||||
(NoCRCInsertion FLAG)
|
||||
(TxNoCRS FLAG)
|
||||
(NRZEncoding FLAG)
|
||||
(BroadcastDisable FLAG)
|
||||
(PromiscuousMode FLAG)
|
||||
(InternalCDT FLAG)
|
||||
(CDTFilter BITS 3)
|
||||
(InternalCRS FLAG)
|
||||
(CRSFilter BITS 3)
|
||||
(MinFrameLength BYTE)
|
||||
(NIL BYTE)))
|
||||
|
||||
(BLOCKRECORD Dove.EtherDumpStatus ((Buffer WORD)))
|
||||
|
||||
(MESARECORD Dove.EtherFCB ((mesaOutQueue Dove.QueueBlock)
|
||||
(mesaInQueue Dove.QueueBlock)
|
||||
(mesaClientStateRequest WORD)
|
||||
(scb Dove.EtherSCB)
|
||||
(etherOutWorkMask WORD)
|
||||
(etherInWorkMask WORD)
|
||||
(etherLockMask WORD)
|
||||
(mesaInClientState WORD)
|
||||
(mesaOutClientState WORD)))
|
||||
|
||||
(BLOCKRECORD Dove.Etheri586Status ((completion FLAG)
|
||||
(busy FLAG)
|
||||
(okay FLAG))
|
||||
(BLOCKRECORD Dove.Etheri586Status ((NIL BITS 3)
|
||||
(* receiveframe variant)
|
||||
(unused FLAG)
|
||||
(crcErr FLAG)
|
||||
(alnErr FLAG)
|
||||
(rscErr FLAG)
|
||||
(ovrnErr FLAG)
|
||||
(frameTooShort FLAG)
|
||||
(noEOFFlag FLAG)
|
||||
(NIL BITS 6)))
|
||||
(BLOCKRECORD Dove.Etheri586Status ((NIL BITS 3)
|
||||
(* command variant.
|
||||
Mainly for transmit)
|
||||
(aborted FLAG)
|
||||
(NIL FLAG)
|
||||
(noCRS FLAG)
|
||||
(lossOfCTS FLAG)
|
||||
(underrun FLAG)
|
||||
(deferred FLAG)
|
||||
(sqeTest FLAG)
|
||||
(tooManyCollisions FLAG)
|
||||
(NIL BITS 1)
|
||||
(collisions BITS 4))))
|
||||
|
||||
(MESARECORD Dove.EtherIOCB ((next Dove.OpieAddress) (* Next IOCB in IO queue)
|
||||
(ClientCondition 3 WORD) (* Gets notifed in Mesaland when IO
|
||||
is complete)
|
||||
(i586Status WORD) (* Status from the Dove ethernet
|
||||
coprocessor)
|
||||
(Status BYTE) (* IO status?)
|
||||
(IOCBType BITS 4) (* What type of IO operation is
|
||||
this?)
|
||||
(Action BITS 4) (* Used only for Command variant)
|
||||
)
|
||||
[ACCESSFNS ((nextIOCB (fetch (Dove.OpieAddress LispPointer)
|
||||
of (fetch (Dove.EtherIOCB next)
|
||||
of DATUM))
|
||||
(replace (Dove.OpieAddress LispPointer)
|
||||
of (fetch (Dove.EtherIOCB next)
|
||||
of DATUM) with NEWVALUE]
|
||||
(BLOCKRECORD Dove.EtherIOCB ((NIL 6 WORD)
|
||||
(done FLAG)
|
||||
(handled FLAG)
|
||||
(okay FLAG)
|
||||
(frameTooLong FLAG)
|
||||
(interruptTimeout FLAG)
|
||||
(NIL BITS 2)
|
||||
(isDequeued FLAG))))
|
||||
|
||||
(MESARECORD Dove.EtherCommandIOCB ((iocbCommon Dove.EtherIOCB)
|
||||
(select 7 WORD)))
|
||||
|
||||
(MESARECORD Dove.EtherIOIOCB ((iocbCommon Dove.EtherIOCB)
|
||||
(address Dove.OpieAddress)
|
||||
(length WORD)
|
||||
(count WORD))
|
||||
[ACCESSFNS ((bufferAddress (fetch (Dove.OpieAddress LispPointer)
|
||||
of (fetch (Dove.EtherIOIOCB
|
||||
address)
|
||||
of DATUM))
|
||||
(replace (Dove.OpieAddress LispPointer)
|
||||
of (fetch (Dove.EtherIOIOCB address)
|
||||
of DATUM) with NEWVALUE])
|
||||
|
||||
(BLOCKRECORD Dove.EtherMulticastAddr ((ByteCount WORD)
|
||||
(MulticastID1 3 WORD)
|
||||
(MulticastID2 3 WORD)))
|
||||
|
||||
(BLOCKRECORD Dove.EtherTransmit ((BdPtr WORD)
|
||||
(DestAddr 3 WORD)
|
||||
(Type WORD)))
|
||||
|
||||
(BLOCKRECORD Dove.RxBufferDesc ((EndOfFrame FLAG)
|
||||
(Filled FLAG)
|
||||
(ActualCount BITS 14)
|
||||
(Next WORD)
|
||||
(BufAddrIOPReal WORD)
|
||||
(EndOfList FLAG)
|
||||
(Unused FLAG)
|
||||
(Size BITS 14)))
|
||||
|
||||
(BLOCKRECORD Dove.RxFrameDesc ((Status WORD)
|
||||
(EndOfList FLAG)
|
||||
(Suspend FLAG)
|
||||
(NIL BITS 14)
|
||||
(Link WORD)
|
||||
(BDPtr WORD)
|
||||
(DestAddr 3 WORD)
|
||||
(SourceAddr 3 WORD)
|
||||
(Type WORD)))
|
||||
|
||||
(BLOCKRECORD Dove.TimeDomainRFL ((LinkOK FLAG)
|
||||
(XcvrProblem FLAG)
|
||||
(Open FLAG)
|
||||
(Short FLAG)
|
||||
(NIL FLAG)
|
||||
(Time BITS 11)))
|
||||
)
|
||||
|
||||
(DEFMACRO \DoveEther.DoOutput (IOCB)
|
||||
`(PROGN (\DoveEther.Initiate ,IOCB)
|
||||
(until (fetch (Dove.EtherIOCB done) of ,IOCB))
|
||||
(\DoveEther.DeQueue (fetch (Dove.EtherFCB mesaOutQueue) of \DoveEther.FCBPointer)
|
||||
,IOCB)
|
||||
(fetch (Dove.EtherIOCB okay) of ,IOCB)))
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(RPAQQ \DoveEther.MulticastAddr 3)
|
||||
|
||||
(RPAQQ \DoveEther.QueuePtrSize 6)
|
||||
|
||||
(RPAQQ \DoveEther.ClientConditionSize 3)
|
||||
|
||||
(RPAQQ \DoveEther.IOIOCBLength 11)
|
||||
|
||||
(RPAQQ \DoveEther.RequestON 1)
|
||||
|
||||
(RPAQQ \DoveEther.RequestOFF 0)
|
||||
|
||||
|
||||
(CONSTANTS \DoveEther.MulticastAddr \DoveEther.QueuePtrSize \DoveEther.ClientConditionSize
|
||||
\DoveEther.IOIOCBLength \DoveEther.RequestON \DoveEther.RequestOFF)
|
||||
)
|
||||
|
||||
(RPAQQ DoveEther.IOCBTypes ((DoveEther.commandIOCBType 0)
|
||||
(DoveEther.outputIOCBType 1)
|
||||
(DoveEther.resetIOCBType 2)
|
||||
(DoveEther.startRUIOCBType 3)
|
||||
(DoveEther.inputIOCBType 15)))
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(RPAQQ DoveEther.commandIOCBType 0)
|
||||
|
||||
(RPAQQ DoveEther.outputIOCBType 1)
|
||||
|
||||
(RPAQQ DoveEther.resetIOCBType 2)
|
||||
|
||||
(RPAQQ DoveEther.startRUIOCBType 3)
|
||||
|
||||
(RPAQQ DoveEther.inputIOCBType 15)
|
||||
|
||||
|
||||
(CONSTANTS (DoveEther.commandIOCBType 0)
|
||||
(DoveEther.outputIOCBType 1)
|
||||
(DoveEther.resetIOCBType 2)
|
||||
(DoveEther.startRUIOCBType 3)
|
||||
(DoveEther.inputIOCBType 15))
|
||||
)
|
||||
|
||||
(RPAQQ DoveEther.ActionCommands ((DoveEther.actionNop 0)
|
||||
(DoveEther.actionIndividualAddr 1)
|
||||
(DoveEther.actionConfigure 2)
|
||||
(DoveEther.actionMulticastAddr 3)
|
||||
(DoveEther.actionTransmit 4)
|
||||
(DoveEther.actionTimeDomainRfl 5)
|
||||
(DoveEther.actionDumpStatus 6)
|
||||
(DoveEther.actionDiagnose 7)))
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(RPAQQ DoveEther.actionNop 0)
|
||||
|
||||
(RPAQQ DoveEther.actionIndividualAddr 1)
|
||||
|
||||
(RPAQQ DoveEther.actionConfigure 2)
|
||||
|
||||
(RPAQQ DoveEther.actionMulticastAddr 3)
|
||||
|
||||
(RPAQQ DoveEther.actionTransmit 4)
|
||||
|
||||
(RPAQQ DoveEther.actionTimeDomainRfl 5)
|
||||
|
||||
(RPAQQ DoveEther.actionDumpStatus 6)
|
||||
|
||||
(RPAQQ DoveEther.actionDiagnose 7)
|
||||
|
||||
|
||||
(CONSTANTS (DoveEther.actionNop 0)
|
||||
(DoveEther.actionIndividualAddr 1)
|
||||
(DoveEther.actionConfigure 2)
|
||||
(DoveEther.actionMulticastAddr 3)
|
||||
(DoveEther.actionTransmit 4)
|
||||
(DoveEther.actionTimeDomainRfl 5)
|
||||
(DoveEther.actionDumpStatus 6)
|
||||
(DoveEther.actionDiagnose 7))
|
||||
)
|
||||
(PUTPROPS DOVEETHERDECLS COPYRIGHT ("Venue & Xerox Corporation" 1986 1990))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL)))
|
||||
STOP
|
||||
Reference in New Issue
Block a user