<> <> <> <> <> DIRECTORY BitOps; DynaBusInterface: CEDAR DEFINITIONS ~ BEGIN Quad: TYPE = BitOps.BitQWord; Cmd: TYPE = {RBRqst, RBRply, WBRqst, WBRply, WSRqst, WSRply, CWSRqst, CWSRply, FBRqst, FBRply, Unused10, Unused11, Unused12, Unused13, Unused14, Unused15, IORRqst, IORRply, IOWRqst, IOWRply, BIOWRqst, BIOWRply, Unused22, Unused23, Unused24, Unused25, Unused26, Unused27, MapRqst, MapRply, DeMapRqst, DeMapRply}; ModeError: TYPE = BOOL; Shared: TYPE = BOOL; DeviceID: TYPE = [0..1024); Address: TYPE = Quad; CmdField: TYPE = [0..4]; ReplyCmdField: TYPE = [4..4]; ModeErrorField: TYPE = [5..5]; SharedField: TYPE = [6..6]; DeviceIDField: TYPE = [7..16]; AddressField: TYPE = [17..63]; ExtractCmd: PROC [q: Quad] RETURNS [Cmd]; InsertCmd: PROC [q: Quad, cmd: Cmd] RETURNS [Quad]; ExtractModeError: PROC [q: Quad] RETURNS [ModeError]; InsertModeError: PROC [q: Quad, m: ModeError] RETURNS [Quad]; ExtractShared: PROC [q: Quad] RETURNS [Shared]; InsertShared: PROC [q: Quad, s: Shared] 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.