DIRECTORY BasicTime USING [ GMT ], RefID USING [ ID ], Rope USING [ ROPE ], RPC USING [ InterfaceName, NetAddress, Password, VersionRange ], ThParty, ThPartySunRPC, Thrush, ThrushSunRPC, VoiceRopeServer, VoiceRopeServerSunRPC ; ThrushSunRPCConvert: CEDAR DEFINITIONS ~ { SrToAccessList: PROC [srAccessList: ThPartySunRPC.AccessList] RETURNS [accessList: ThParty.AccessList]; AccessListToSr: PROC [accessList: ThParty.AccessList] RETURNS [srAccessList: ThPartySunRPC.AccessList]; SrToActionReport: PROC [srActionReport: ThrushSunRPC.ActionReport] RETURNS [actionReport: Thrush.ActionReport]; ActionReportToSr: PROC [actionReport: Thrush.ActionReport] RETURNS [srActionReport: ThrushSunRPC.ActionReport]; SrToAddress: PROC [srAddress: ThrushSunRPC.Address] RETURNS [address: Thrush.NetAddress]; AddressToSr: PROC [address: RPC.NetAddress] RETURNS [srAddress: ThrushSunRPC.Address]; SrToATOM: PROC [srAtom: Rope.ROPE] RETURNS [atom: ATOM]; ATOMToSr: PROC [atom: ATOM] RETURNS [srAtom: Rope.ROPE]; SrToAttributes: PROC [srAttributes: ThPartySunRPC.Attributes] RETURNS [attributes: ThParty.Attributes]; AttributesToSr: PROC [attributes: ThParty.Attributes] RETURNS [srAttributes: ThPartySunRPC.Attributes]; SrToCandidateList: PROC [srCandidates: ThPartySunRPC.CandidateList] RETURNS [candidates: LIST OF ThParty.ConversationInfo]; CandidateListToSr: PROC [candidates: LIST OF ThParty.ConversationInfo] RETURNS [srCandidates: ThPartySunRPC.CandidateList]; SrToConvEvent: PROC [srConvEvent: ThrushSunRPC.ConvEvent] RETURNS [convEvent: Thrush.ConvEvent]; ConvEventToSr: PROC [convEvent: Thrush.ConvEvent] RETURNS [srConvEvent: ThrushSunRPC.ConvEvent]; SrToConversationInfo: PROC [srCInfo: ThPartySunRPC.ConversationInfo] RETURNS [cInfo: ThParty.ConversationInfo]; ConversationInfoToSr: PROC [cInfo: ThParty.ConversationInfo] RETURNS [srCInfo: ThPartySunRPC.ConversationInfo]; SrToConversationInfoRec: PROC [srCInfo: ThPartySunRPC.ConversationInfo] RETURNS [cInfoRec: ThParty.ConversationInfoRec]; ConversationInfoRecToSr: PROC [cInfoRec: ThParty.ConversationInfoRec] RETURNS [srCInfo: ThPartySunRPC.ConversationInfo]; SrToConvID: PROC [srConvID: ThrushSunRPC.ConversationID] RETURNS [convID: Thrush.ConversationID] ~ INLINE { convID ฌ LOOPHOLE[srConvID]; -- eventually a BasicTime.GMT }; ConvIDToSr: PROC [convID: Thrush.ConversationID] RETURNS [srConvID: ThrushSunRPC.ConversationID] ~ INLINE { srConvID ฌ LOOPHOLE[convID]; }; SrToConvType: PROC [srType: ThPartySunRPC.ConvType] RETURNS [type: ThParty.ConvType] ~ INLINE { type ฌ VAL[ORD[srType]]; }; ConvTypeToSr: PROC [type: ThParty.ConvType] RETURNS [srType: ThPartySunRPC.ConvType] ~ INLINE { srType ฌ VAL[ORD[type]]; }; SrToCredentials: PROC [srCredentials: ThrushSunRPC.Credentials] RETURNS [credentials: Thrush.Credentials]; CredentialsToSr: PROC [credentials: Thrush.Credentials] RETURNS [srCredentials: ThrushSunRPC.Credentials]; SrToEncryptionKey: PROC [srKey: ThrushSunRPC.EncryptionKey] RETURNS [key: Thrush.EncryptionKey] ~ INLINE { key ฌ LOOPHOLE[srKey]; -- Could be dangerous! }; EncryptionKeyToSr: PROC [key: Thrush.EncryptionKey] RETURNS [srKey: ThrushSunRPC.EncryptionKey] ~ INLINE { srKey ฌ LOOPHOLE[key]; -- Could be dangerous! }; SrToEnergySequence: PROC [srEnergySequence: VoiceRopeServerSunRPC.EnergySequence] RETURNS [energySequence: VoiceRopeServer.EnergySequence]; EnergySequenceToSr: PROC [energySequence: VoiceRopeServer.EnergySequence] RETURNS [srEnergySequence: VoiceRopeServerSunRPC.EnergySequence]; SrToGMT: PROC [srTime: ThrushSunRPC.GMT] RETURNS [time: BasicTime.GMT] ~ INLINE { time ฌ LOOPHOLE[srTime]; }; GMTToSr: PROC [time: BasicTime.GMT] RETURNS [srTime: ThrushSunRPC.GMT] ~ INLINE { srTime ฌ LOOPHOLE[time]; }; SrToInterfaceName: PROC [srInterface: ThrushSunRPC.InterfaceName] RETURNS [interface: RPC.InterfaceName]; InterfaceNameToSr: PROC [interface: RPC.InterfaceName] RETURNS [srInterface: ThrushSunRPC.InterfaceName]; SrToInterfaceSpec: PROC [srInterfaceSpec: ThrushSunRPC.InterfaceSpec] RETURNS [interfaceSpec: Thrush.InterfaceSpec]; InterfaceSpecToSr: PROC [interfaceSpec: Thrush.InterfaceSpec] RETURNS [srInterfaceSpec: ThrushSunRPC.InterfaceSpec]; SrToIntervalSpecs: PROC [srIntervalSpecs: VoiceRopeServerSunRPC.IntervalSpecs] RETURNS [intervalSpecs: VoiceRopeServer.IntervalSpecs]; IntervalSpecsToSr: PROC [intervalSpecs: VoiceRopeServer.IntervalSpecs] RETURNS [srIntervalSpecs: VoiceRopeServerSunRPC.IntervalSpecs]; SrToKeyTable: PROC [srKeyTable: ThrushSunRPC.KeyTable] RETURNS [keyTable: Thrush.KeyTable]; KeyTableToSr: PROC [keyTable: Thrush.KeyTable] RETURNS [srKeyTable: ThrushSunRPC.KeyTable]; SrToPartyInfo: PROC [srPInfo: ThPartySunRPC.PartyInfo] RETURNS [pInfo: ThParty.PartyInfo]; PartyInfoToSr: PROC [pInfo: ThParty.PartyInfo] RETURNS [srPInfo: ThPartySunRPC.PartyInfo]; SrToPartyInfoSpec: PROC [srPartySpec: ThPartySunRPC.PartyInfoSpec] RETURNS [partySpec: ThParty.PartyInfoSpec]; PartyInfoSpecToSr: PROC [partySpec: ThParty.PartyInfoSpec] RETURNS [srPartySpec: ThPartySunRPC.PartyInfoSpec]; SrToPassword: PROC [srPassword: ThrushSunRPC.Password] RETURNS [password: RPC.Password] ~ INLINE { password ฌ LOOPHOLE[srPassword]; -- verify Password format if needed }; PasswordToSr: PROC [password: RPC.Password] RETURNS [srPassword: ThrushSunRPC.Password] ~ INLINE { srPassword ฌ LOOPHOLE[password]; -- verify Password format if needed }; SrToROPE: PROC [srRope: Rope.ROPE] RETURNS [rope: Rope.ROPE]; ROPEToSr: PROC [rope: Rope.ROPE] RETURNS [srRope: Rope.ROPE]; SrToSmartsProperties: PROC [srProperties: ThPartySunRPC.SmartsProperties] RETURNS [properties: ThParty.SmartsProperties]; SmartsPropertiesToSr: PROC [properties: ThParty.SmartsProperties] RETURNS [srProperties: ThPartySunRPC.SmartsProperties]; SrToState: PROC [srState: ThrushSunRPC.StateInConv] RETURNS [state: Thrush.StateInConv] ~ INLINE { state ฌ VAL[ORD[srState]]; }; StateToSr: PROC [state: Thrush.StateInConv] RETURNS [srState: ThrushSunRPC.StateInConv] ~ INLINE { srState ฌ VAL[ORD[state]]; }; SrToUsers: PROC [srUsers: VoiceRopeServerSunRPC.Users] RETURNS [users: VoiceRopeServer.Users]; UsersToSr: PROC [users: VoiceRopeServer.Users] RETURNS [srUsers: VoiceRopeServerSunRPC.Users]; SrToVersionRange: PROC [srVersion: ThrushSunRPC.VersionRange] RETURNS [version: RPC.VersionRange]; VersionRangeToSr: PROC [version: RPC.VersionRange] RETURNS [srVersion: ThrushSunRPC.VersionRange]; SrToVisitorList: PROC [srVisitorList: ThPartySunRPC.VisitorList] RETURNS [visitorList: LIST OF Thrush.PartyID]; VisitorListToSr: PROC [visitorList: LIST OF Thrush.PartyID] RETURNS [srVisitorList: ThPartySunRPC.VisitorList]; SrToVoiceBlock: PROC [srVoiceBlock: VoiceRopeServerSunRPC.VoiceBlock] RETURNS [voiceBlock: VoiceRopeServer.VoiceBlock]; VoiceBlockToSr: PROC [voiceBlock: VoiceRopeServer.VoiceBlock] RETURNS [srVoiceBlock: VoiceRopeServerSunRPC.VoiceBlock]; SrToVoiceRope: PROC [srVoiceRope: VoiceRopeServerSunRPC.VoiceRope] RETURNS [voiceRope: VoiceRopeServer.VoiceRope]; VoiceRopeToSr: PROC [voiceRope: VoiceRopeServer.VoiceRope] RETURNS [srVoiceRope: VoiceRopeServerSunRPC.VoiceRope]; }.  ThrushSunRPCConvert.mesa Copyright ำ 1990, 1992 by Xerox Corporation. All rights reserved. Created By: Ken Pier, May 9, 1990 5:33:40 pm PDT This module contains procedures for translating SunRPC data types to Thrush data types and Thrush data types to SunRPC data types. Pier, May 18, 1990 10:47:37 am PDT Polle Zellweger (PTZ) October 29, 1990 3:28:06 pm PST Swinehar, June 4, 1992 8:02 pm PDT Polle Zellweger (PTZ) May 14, 1990 2:54:47 pm PDT changes to: SrToState, StateToSr Polle Zellweger (PTZ) May 24, 1990 9:30:54 pm PDT new: SrToConversationInfoRec, ConversationInfoRecToSr changes to: SrToConversationInfo, ConversationInfoToSr Polle Zellweger (PTZ) October 29, 1990 12:05:26 pm PST Allow detection of NIL ropes across a SunRPC connection. new: ROPEToSr, SrToROPE ส|–(cedarcode) style•NewlineDelimiter ™™Jšœ ฯeœ7™BJšœ0™0J™‚Jšœ"™"Icode™5K™"—K˜K˜šฯk ˜ Kšœ žœžœ˜Kšœžœžœ˜Kšœžœžœ˜Kšžœžœ7˜@K˜K˜K˜K˜ Kšœ˜Kšœ˜K˜K˜—Kšฯnœžœž œ˜*˜šŸœžœ*žœ"˜gK˜—šŸœžœ"žœ*˜gK˜—šŸœžœ-žœ%˜oK˜—šŸœžœ%žœ-˜oK˜—šŸ œžœ#žœ˜YK˜—šŸ œžœžœ#˜VK˜—š Ÿœžœžœžœžœ˜8K˜—Kš Ÿœžœžœžœžœ˜8K˜šŸœžœ*žœ"˜gK˜—šŸœžœ"žœ*˜gK˜—š Ÿœžœ-žœžœžœ˜{K˜—š Ÿœžœžœžœžœ-˜{K˜—šŸ œžœ'žœ˜`K˜—šŸ œžœžœ'˜`K˜—šŸœžœ+žœ#˜oK˜—šŸœžœ#žœ+˜oK˜—šŸœžœ+žœ)˜xK˜—KšŸœžœ)žœ+˜xK˜šŸ œžœ)žœ#žœ˜kKšœ žœ ฯc˜;K˜K˜—šŸ œžœ!žœ+žœ˜kKšœ žœ ˜K˜K˜—šŸ œžœ"žœžœ˜_Kšœžœžœ ˜K˜K˜—šŸ œžœžœ$žœ˜_Kšœ žœžœ˜K˜K˜—šŸœžœ+žœ#˜jK˜—šŸœžœ#žœ+˜jK˜—šŸœžœ%žœžœ˜jKšœžœ  ˜.K˜K˜—šŸœžœžœ'žœ˜jKšœžœ ˜.K˜K˜—šŸœžœ:žœ2˜‹K˜—šŸœžœ2žœ:˜‹K˜—š Ÿœžœžœžœžœžœ˜QKšœžœ ˜K˜K˜—š Ÿœžœžœžœžœžœ˜QKšœ žœ˜K˜K˜—šŸœžœ+žœ žœ˜iK˜—šŸœžœ žœžœ+˜iK˜—šŸœžœ/žœ'˜tK˜—šŸœžœ'žœ/˜tK˜—šŸœžœ8žœ0˜†K˜—šŸœžœ0žœ8˜†K˜—šŸ œžœ%žœ˜[K˜—šŸ œžœžœ%˜[K˜—šŸ œžœ$žœ˜ZK˜—šŸ œžœžœ$˜ZK˜—šŸœžœ,žœ$˜nK˜—KšŸœžœ$žœ,˜nK˜šŸ œžœ%žœžœ˜bKšœ žœ #˜FK˜K˜—šŸ œžœžœ'žœ˜bKšœ žœ #˜FK˜K˜—Kš Ÿœžœžœžœ žœ˜=K˜š Ÿœžœ žœžœžœ˜=K˜—KšŸœžœ0žœ(˜yK˜šŸœžœ(žœ0˜yK˜—šŸ œžœ%žœžœ˜bKšœžœžœ ˜K˜K˜—šŸ œžœžœ'žœ˜bKšœ žœžœ ˜K˜K˜—KšŸ œžœ'˜6Kšžœ ˜'K˜KšŸ œžœ˜.Kšžœ(˜/K˜šŸœžœ(žœ žœ˜bK˜—šŸœžœ žœžœ(˜bK˜—Kš Ÿœžœ,žœžœžœ˜oK˜Kš Ÿœžœžœžœžœ,˜oK˜KšŸœžœ1˜EKšžœ*˜1K˜KšŸœžœ)˜=Kšžœ2˜9K˜KšŸ œžœ/˜BKšžœ(˜/K˜KšŸ œžœ'˜:Kšžœ0˜7K˜—K˜™1Kšœ ฯr™ —™1Kšœก0™5Kšœ ก*™6—™6Kšœ8™8Kšœก™——…—า&\