<> <> <> <> DIRECTORY CrRPC, CHNameP2V0, AuthenticationP14V2, BulkDataP0V1, Rope; CHOpsP2V3: CEDAR DEFINITIONS ~ { ROPE: TYPE ~ Rope.ROPE; CreateAliasType: TYPE ~ PROC [h: CrRPC.Handle, alias: CHNameP2V0.ThreePartName, sameAs: CHNameP2V0.ThreePartName, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; CreateAlias: CreateAliasType; DomainSequence: TYPE ~ REF DomainSequenceObject; DomainSequenceObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF ROPE ]; OrganizationName: TYPE ~ ROPE; ObjectNameSequence: TYPE ~ REF ObjectNameSequenceObject; ObjectNameSequenceObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF CHNameP2V0.ThreePartName ]; RetrieveAddressesType: TYPE ~ PROC [h: CrRPC.Handle] RETURNS [address: NetworkAddressList]; RetrieveAddresses: RetrieveAddressesType; Object: TYPE ~ ROPE; DeletePropertyType: TYPE ~ PROC [h: CrRPC.Handle, name: CHNameP2V0.ThreePartName, property: CARD32, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; DeleteProperty: DeletePropertyType; ListDomainsType: TYPE ~ PROC [h: CrRPC.Handle, pattern: CHNameP2V0.TwoPartName, list: CrRPC.BulkDataSink, agent: Authenticator]; ListDomains: ListDomainsType; TwoPartName: TYPE ~ CHNameP2V0.TwoPartName; DomainNameSequence: TYPE ~ REF DomainNameSequenceObject; DomainNameSequenceObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF CHNameP2V0.TwoPartName ]; ThreePartName: TYPE ~ CHNameP2V0.ThreePartName; IsMemberType: TYPE ~ PROC [h: CrRPC.Handle, memberOf: CHNameP2V0.ThreePartName, property: CARD32, secondaryProperty: CARD32, name: CHNameP2V0.ThreePartName, agent: Authenticator] RETURNS [isMember: BOOLEAN, distinguishedObject: CHNameP2V0.ThreePartName]; IsMember: IsMemberType; UpdateErrorType: TYPE ~ ERROR [problem: UpdateProblem, found: BOOLEAN, which: WhichArgument, distinguishedObject: CHNameP2V0.ThreePartName]; UpdateError: UpdateErrorType; ObjectNameList: TYPE ~ RECORD [ segment: ObjectNameSequence]; ObjectName: TYPE ~ CHNameP2V0.ThreePartName; CreateObjectType: TYPE ~ PROC [h: CrRPC.Handle, name: CHNameP2V0.ThreePartName, agent: Authenticator]; CreateObject: CreateObjectType; StreamKind: TYPE ~ MACHINE DEPENDENT { nextSegment(0), lastSegment(1)}; StreamOfThreePartName: TYPE ~ REF StreamOfThreePartNameObject; StreamOfThreePartNameObject: TYPE ~ RECORD [ SELECT type: StreamKind FROM nextSegment => [nextSegment: ThreePartNameList], lastSegment => [lastSegment: ThreePartNameSequence] ENDCASE ]; ListDomainsServedType: TYPE ~ PROC [h: CrRPC.Handle, domains: CrRPC.BulkDataSink, agent: Authenticator]; ListDomainsServed: ListDomainsServedType; HostNumber: TYPE ~ ARRAY [0..3) OF CARD16; RetrieveMembersType: TYPE ~ PROC [h: CrRPC.Handle, pattern: CHNameP2V0.ThreePartName, property: CARD32, membership: CrRPC.BulkDataSink, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; RetrieveMembers: RetrieveMembersType; LookupObjectType: TYPE ~ PROC [h: CrRPC.Handle, name: CHNameP2V0.ThreePartName, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; LookupObject: LookupObjectType; StreamOfDomainName: TYPE ~ REF StreamOfDomainNameObject; StreamOfDomainNameObject: TYPE ~ RECORD [ SELECT type: StreamKind FROM nextSegment => [nextSegment: DomainNameList], lastSegment => [lastSegment: DomainNameSequence] ENDCASE ]; wildcard: READONLY ROPE; CallErrorType: TYPE ~ ERROR [problem: CallProblem]; CallError: CallErrorType; AddItemPropertyType: TYPE ~ PROC [h: CrRPC.Handle, name: CHNameP2V0.ThreePartName, newProperty: CARD32, value: Item, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; AddItemProperty: AddItemPropertyType; NetworkNumber: TYPE ~ ARRAY [0..2) OF CARD16; StreamOfOrganization: TYPE ~ REF StreamOfOrganizationObject; StreamOfOrganizationObject: TYPE ~ RECORD [ SELECT type: StreamKind FROM nextSegment => [nextSegment: OrganizationList], lastSegment => [lastSegment: OrganizationSequence] ENDCASE ]; AddSelfType: TYPE ~ PROC [h: CrRPC.Handle, name: CHNameP2V0.ThreePartName, property: CARD32, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; AddSelf: AddSelfType; NetworkAddress: TYPE ~ RECORD [ network: NetworkNumber, host: HostNumber, socket: CARD16]; DeleteSelfType: TYPE ~ PROC [h: CrRPC.Handle, name: CHNameP2V0.ThreePartName, property: CARD32, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; DeleteSelf: DeleteSelfType; Property: TYPE ~ CARD32; Domain: TYPE ~ ROPE; OrganizationList: TYPE ~ RECORD [ segment: OrganizationSequence]; DomainNameList: TYPE ~ RECORD [ segment: DomainNameSequence]; RetrieveItemType: TYPE ~ PROC [h: CrRPC.Handle, pattern: CHNameP2V0.ThreePartName, property: CARD32, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName, value: Item]; RetrieveItem: RetrieveItemType; ListPropertiesType: TYPE ~ PROC [h: CrRPC.Handle, pattern: CHNameP2V0.ThreePartName, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName, properties: Properties]; ListProperties: ListPropertiesType; Authenticator: TYPE ~ RECORD [ credentials: AuthenticationP14V2.Credentials, verifier: AuthenticationP14V2.SeqWords]; ListAliasesType: TYPE ~ PROC [h: CrRPC.Handle, pattern: CHNameP2V0.ThreePartName, list: CrRPC.BulkDataSink, agent: Authenticator]; ListAliases: ListAliasesType; ListObjectsType: TYPE ~ PROC [h: CrRPC.Handle, pattern: CHNameP2V0.ThreePartName, property: CARD32, list: CrRPC.BulkDataSink, agent: Authenticator]; ListObjects: ListObjectsType; PropertyProblem: TYPE ~ MACHINE DEPENDENT { missing(20), wrongType(21)}; DomainName: TYPE ~ CHNameP2V0.TwoPartName; StreamOfObject: TYPE ~ REF StreamOfObjectObject; StreamOfObjectObject: TYPE ~ RECORD [ SELECT type: StreamKind FROM nextSegment => [nextSegment: ObjectList], lastSegment => [lastSegment: ObjectSequence] ENDCASE ]; PropertyErrorType: TYPE ~ ERROR [problem: PropertyProblem, distinguishedObject: CHNameP2V0.ThreePartName]; PropertyError: PropertyErrorType; AddMemberType: TYPE ~ PROC [h: CrRPC.Handle, name: CHNameP2V0.ThreePartName, property: CARD32, newMember: CHNameP2V0.ThreePartName, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; AddMember: AddMemberType; ThreePartNameSequence: TYPE ~ REF ThreePartNameSequenceObject; ThreePartNameSequenceObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF CHNameP2V0.ThreePartName ]; ObjectList: TYPE ~ RECORD [ segment: ObjectSequence]; Properties: TYPE ~ REF PropertiesObject; PropertiesObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF CARD32 ]; all: CARD32 ~ 0; Item: TYPE ~ REF ItemObject; ItemObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF CARD16 ]; ArgumentErrorType: TYPE ~ ERROR [problem: ArgumentProblem, which: WhichArgument]; ArgumentError: ArgumentErrorType; AddGroupPropertyType: TYPE ~ PROC [h: CrRPC.Handle, name: CHNameP2V0.ThreePartName, newProperty: CARD32, membership: CrRPC.BulkDataSource, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; AddGroupProperty: AddGroupPropertyType; nullProperty: CARD32 ~ 4294967295; DeleteAliasType: TYPE ~ PROC [h: CrRPC.Handle, alias: CHNameP2V0.ThreePartName, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; DeleteAlias: DeleteAliasType; ObjectSequence: TYPE ~ REF ObjectSequenceObject; ObjectSequenceObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF ROPE ]; ArgumentProblem: TYPE ~ MACHINE DEPENDENT { illegalProperty(10), illegalOrganizationName(11), illegalDomainName(12), illegalObjectName(13), noSuchOrganization(14), noSuchDomain(15), noSuchObject(16)}; UpdateProblem: TYPE ~ MACHINE DEPENDENT { noChange(30), outOfDate(31), objectOverflow(32), databaseOverflow(33)}; WrongServerType: TYPE ~ ERROR [hint: CHNameP2V0.ThreePartName]; WrongServer: WrongServerType; WhichArgument: TYPE ~ MACHINE DEPENDENT { first(1), second(2)}; NetworkAddressList: TYPE ~ REF NetworkAddressListObject; NetworkAddressListObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF NetworkAddress ]; Organization: TYPE ~ ROPE; ChangeItemType: TYPE ~ PROC [h: CrRPC.Handle, name: CHNameP2V0.ThreePartName, property: CARD32, newValue: Item, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; ChangeItem: ChangeItemType; OrganizationNamePattern: TYPE ~ ROPE; StreamOfDomain: TYPE ~ REF StreamOfDomainObject; StreamOfDomainObject: TYPE ~ RECORD [ SELECT type: StreamKind FROM nextSegment => [nextSegment: DomainList], lastSegment => [lastSegment: DomainSequence] ENDCASE ]; DeleteMemberType: TYPE ~ PROC [h: CrRPC.Handle, name: CHNameP2V0.ThreePartName, property: CARD32, member: CHNameP2V0.ThreePartName, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; DeleteMember: DeleteMemberType; ObjectNamePattern: TYPE ~ CHNameP2V0.ThreePartName; ThreePartNameList: TYPE ~ RECORD [ segment: ThreePartNameSequence]; Name: TYPE ~ CHNameP2V0.ThreePartName; ListOrganizationsType: TYPE ~ PROC [h: CrRPC.Handle, pattern: ROPE, list: CrRPC.BulkDataSink, agent: Authenticator]; ListOrganizations: ListOrganizationsType; DomainList: TYPE ~ RECORD [ segment: DomainSequence]; AuthenticationErrorType: TYPE ~ ERROR [problem: AuthenticationP14V2.Problem]; AuthenticationError: AuthenticationErrorType; DeleteObjectType: TYPE ~ PROC [h: CrRPC.Handle, name: CHNameP2V0.ThreePartName, agent: Authenticator]; DeleteObject: DeleteObjectType; StreamOfObjectName: TYPE ~ REF StreamOfObjectNameObject; StreamOfObjectNameObject: TYPE ~ RECORD [ SELECT type: StreamKind FROM nextSegment => [nextSegment: ObjectNameList], lastSegment => [lastSegment: ObjectNameSequence] ENDCASE ]; ListAliasesOfType: TYPE ~ PROC [h: CrRPC.Handle, pattern: CHNameP2V0.ThreePartName, list: CrRPC.BulkDataSink, agent: Authenticator] RETURNS [distinguishedObject: CHNameP2V0.ThreePartName]; ListAliasesOf: ListAliasesOfType; OrganizationSequence: TYPE ~ REF OrganizationSequenceObject; OrganizationSequenceObject: TYPE ~ MACHINE DEPENDENT RECORD [ body: PACKED SEQUENCE length: CARDINAL OF ROPE ]; DomainNamePattern: TYPE ~ CHNameP2V0.TwoPartName; CallProblem: TYPE ~ MACHINE DEPENDENT { accessRightsInsufficient(1), tooBusy(2), serverDown(3), useCourier(4), other(5)}; }...