<> <> <> <> DIRECTORY BitOps; DynaBusInterface: CEDAR DEFINITIONS ~ BEGIN Quad: TYPE = BitOps.BitQWord; Cmd: TYPE = {RBRqst, RDRply, WBRqst, WBRply, WSRqst, WSRply, IORRqst, IORRply, IOWRqst, IOWRply, MapRqst, MapRply, CSRqst, CSRply, Unused14, Unused15, Unused16, Unused17, Unused18, Unused19, Unused20, Unused21, Unused22, Unused23, Unused24, Unused25, Unused26, Unused27, Unused28, Unused29, Unused30, Unused31}; Result: TYPE = [0..1); DeviceID: TYPE = [0..1024); Address: TYPE = Quad; CmdField: TYPE = [0..4]; ResultField: TYPE = [5..5]; DeviceIDField: TYPE = [6..15]; AddressField: TYPE = [16..63]; ExtractCmd: PROC [q: Quad] RETURNS [Cmd]; InsertCmd: PROC [q: Quad, cmd: Cmd] RETURNS [Quad]; ExtractResult: PROC [q: Quad] RETURNS [Result]; InsertResult: PROC [q: Quad, r: Result] RETURNS [Quad]; ExtractDeviceID: PROC [q: Quad] RETURNS [DeviceID]; InsertDeviceID: PROC [q: Quad, d: DeviceID] RETURNS [Quad]; ExtractAddress: PROC [q: Quad] RETURNS [Address]; InsertAddress: PROC [q: Quad, a: Address] RETURNS [Quad]; END.