ThPartySunRPC.Mesa
Copyright Ó 1989, 1990 by Xerox Corporation. All rights reserved.
Adapted from ThPartyP909V1.mesa
Generated by PolleZ.pa at September 30, 1989 4:53:12 pm PDT
Sirocco [2.0] of February 10, 1989 6:26:26 pm PST
Polle Zellweger (PTZ) May 24, 1990 9:06:39 pm PDT
DIRECTORY
SunRPC,
ThrushSunRPC,
Rope;
ThPartySunRPC: CEDAR DEFINITIONS ~ {
ROPE: TYPE ~ Rope.ROPE;
VisitType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, hostPartyID: CARD32, guestPartyID: CARD32, guestPassword: ThrushSunRPC.Password] RETURNS [nb: ROPE];
SmartsInterfaceRecord: TYPE ~ CARD32;
ConvType: TYPE ~ MACHINE DEPENDENT { none(0), interactive(1), meeting(2), sunRPCContainerReallyNIL(3) };
sunRPCContainerReallyNIL added to identify NIL ConversationInfo or PartyInfo for SunRPC only.
CreateConversationType: TYPE ~ PROC [h: SunRPC.Handle, shhh: CARD32, credentials: ThrushSunRPC.Credentials, state: ThrushSunRPC.StateInConv, reason: ROPE, comment: ROPE, convAttributes: Entry, partyAttributes: Entry, checkConflict: BOOLEAN] RETURNS [nb: ROPE, convEvent: ThrushSunRPC.ConvEvent];
ReportActionType: TYPE ~ PROC [h: SunRPC.Handle, shhh: CARD32, report: ThrushSunRPC.ActionReport, reportToAll: BOOLEAN, selfOnCompletion: BOOLEAN] RETURNS [nb: ROPE, numReportsIssued: CARD16];
CedarAtom: TYPE ~ ROPE;
SmartsInterfaceName: TYPE ~ ThrushSunRPC.InterfaceName;
GMT: TYPE ~ CARD32;
CandidateList: TYPE ~ REF CandidateListObject;
CandidateListObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF ConversationInfo
];
nullID: CARD32 ~ 0;
EnumerateNamedConversationsType: TYPE ~ PROC [h: SunRPC.Handle, shhh: CARD32, partyID: CARD32] RETURNS [nb: ROPE, candidates: CandidateList];
AccessList: TYPE ~ REF AccessListObject;
AccessListObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF ROPE
];
ReleasePartyType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, partyID: CARD32, targetPartyID: CARD32] RETURNS [nb: ROPE];
DeregisterType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, smartsID: CARD32] RETURNS [nb: ROPE];
Attributes: TYPE ~ Entry;
nullIx: CARD16 ~ 0;
SmartsProperties: TYPE ~ RECORD [
role: ROPE,
netAddress: ThrushSunRPC.Address];
SmartsRole: TYPE ~ ROPE;
Attribute: TYPE ~ RECORD [
type: ROPE,
value: ROPE];
ShortROPE: TYPE ~ ROPE;
GetConversationInfoType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, convID: CARD32] RETURNS [nb: ROPE, cInfo: ConversationInfo];
UnvisitSelfType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, guestPartyID: CARD32] RETURNS [nb: ROPE];
VisitorList: TYPE ~ REF VisitorListObject;
VisitorListObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF CARD32
];
NB: TYPE ~ ROPE;
GetPartyType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, partyID: CARD32, rName: ROPE, type: ROPE] RETURNS [nb: ROPE, newPartyID: CARD32];
RegisterType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, rName: ROPE, type: ROPE, clonePartyID: CARD32, interface: ThrushSunRPC.InterfaceName, properties: SmartsProperties] RETURNS [nb: ROPE, credentials: ThrushSunRPC.Credentials];
AdvanceType: TYPE ~ PROC [h: SunRPC.Handle, shhh: CARD32, credentials: ThrushSunRPC.Credentials, state: ThrushSunRPC.StateInConv, reportToAll: BOOLEAN, reason: ROPE, comment: ROPE, convAttributes: Entry, partyAttributes: Entry, bilateral: BOOLEAN, checkConflict: BOOLEAN] RETURNS [nb: ROPE, convEvent: ThrushSunRPC.ConvEvent];
CedarRope: TYPE ~ ROPE;
GetPartyFromNumberType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, partyID: CARD32, phoneNumber: ROPE, description: ROPE] RETURNS [nb: ROPE, newPartyID: CARD32];
GetCurrentPartyType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, smartsID: CARD32] RETURNS [nb: ROPE, partyID: CARD32];
Password: TYPE ~ ThrushSunRPC.Password;
GetNumbersForRNameType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, rName: ROPE] RETURNS [fullRName: ROPE, number: ROPE, homeNumber: ROPE];
GetPartyFromFeepNumType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, partyID: CARD32, feepNum: ROPE] RETURNS [nb: ROPE, newPartyID: CARD32];
RegisterServiceInterfaceType: TYPE ~ PROC [h: SunRPC.Handle, shhh: CARD32, credentials: ThrushSunRPC.Credentials, interfaceSpecPattern: ThrushSunRPC.InterfaceSpec] RETURNS [nb: ROPE, interfaceSpec: ThrushSunRPC.InterfaceSpec];
Credentials: TYPE ~ ThrushSunRPC.Credentials;
EnableType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, smartsID: CARD32] RETURNS [nb: ROPE];
SHHH: TYPE ~ CARD32;
CheckInType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, credentials: ThrushSunRPC.Credentials] RETURNS [nb: ROPE];
InterfaceName: TYPE ~ ThrushSunRPC.InterfaceName;
AddAttributesType: TYPE ~ PROC [h: SunRPC.Handle, credentials: ThrushSunRPC.Credentials, convAttributes: Entry, partyAttributes: Entry] RETURNS [nb: ROPE];
PartyInfoSpec: TYPE ~ RECORD [
partyID: CARD32,
name: ROPE,
intendedPartyID: CARD32,
intendedName: ROPE,
type: ROPE,
state: ThrushSunRPC.StateInConv,
numConvs: CARD16,
enabled: BOOLEAN,
voicePath: BOOLEAN,
partyActive: BOOLEAN,
partyEngaged: BOOLEAN,
socket: ThrushSunRPC.Address,
partyAttributes: Entry];
NameReq: TYPE ~ ROPE;
PartyList: TYPE ~ REF PartyListObject;
PartyListObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF PartyInfoSpec
];
LookupServiceInterfaceType: TYPE ~ PROC [h: SunRPC.Handle, shhh: CARD32, credentials: ThrushSunRPC.Credentials, serviceParty: CARD32, type: ROPE] RETURNS [nb: ROPE, interfaceSpec: ThrushSunRPC.InterfaceSpec];
PartyInfo: TYPE ~ RECORD [
numParties: CARD16,
conversationInfo: ConversationInfo,
ixSelf: CARD16,
ixOther: CARD16,
ixModerator: CARD16,
ixCommentator: CARD16,
ixCommSock: CARD16,
ixOriginator: CARD16,
parties: PartyList];
AttributeType: TYPE ~ ROPE;
DisableType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, smartsID: CARD32] RETURNS [nb: ROPE];
SmartsID: TYPE ~ CARD32;
Entry: TYPE ~ REF EntryObject;
EntryObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF Attribute
];
GetPartyInfoType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, credentials: ThrushSunRPC.Credentials, nameReq: ROPE, allParties: BOOLEAN] RETURNS [nb: ROPE, pInfo: PartyInfo];
RegisterConversationType: TYPE ~ PROC [h: SunRPC.Handle, shhh: CARD32, credentials: ThrushSunRPC.Credentials, name: ROPE, convType: ConvType, convAttributes: Entry, accessList: AccessList] RETURNS [nb: ROPE];
ConversationID: TYPE ~ CARD32;
UnregisterKeyType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, credentials: ThrushSunRPC.Credentials, key: ThrushSunRPC.Key] RETURNS [nb: ROPE];
RegisterKeyType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, credentials: ThrushSunRPC.Credentials, key: ThrushSunRPC.Key, reportNewKeys: BOOLEAN] RETURNS [nb: ROPE, keyIndex: CARD16];
none: CARD32 ~ 0;
GetConversationFromNameType: TYPE ~ PROC [h: SunRPC.Handle, shhh: CARD32, partyID: CARD32, name: ROPE] RETURNS [nb: ROPE, cInfo: ConversationInfo];
UnvisitType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, hostPartyID: CARD32, guestPartyID: CARD32, guestPassword: ThrushSunRPC.Password] RETURNS [nb: ROPE];
GetKeyTableType: TYPE ~ PROC [h: SunRPC.Handle, shh: CARD32, credentials: ThrushSunRPC.Credentials] RETURNS [nb: ROPE, keyTable: ThrushSunRPC.KeyTable];
AttributeValue: TYPE ~ ROPE;
ConversationInfo: TYPE ~ RECORD [
convID: CARD32,
numParties: CARD16,
numActive: CARD16,
numIdle: CARD16,
originator: CARD32,
conferenceHost: ThrushSunRPC.Address,
convType: ConvType,
bilateralConv: BOOLEAN,
startTime: CARD32,
convAttributes: Entry,
moderator: CARD32,
commentator: CARD32];
DescribePartyType: TYPE ~ PROC [h: SunRPC.Handle, partyID: CARD32, nameReq: ROPE] RETURNS [nb: ROPE, description: ROPE, type: ROPE, partner: CARD32, visitee: CARD32, visitors: VisitorList];
ID: TYPE ~ CARD32;
PartyID: TYPE ~ CARD32;
AlertType: TYPE ~ PROC [h: SunRPC.Handle, shhh: CARD32, credentials: ThrushSunRPC.Credentials, calledPartyID: CARD32, comment: ROPE, convAttributes: Entry, partyAttributes: Entry] RETURNS [nb: ROPE];
}...
Polle Zellweger (PTZ) May 24, 1990 9:03:03 pm PDT
SunRPC can't marshal NIL, so need to have recognizable dummy record values.
changes to: ConvType