CHACLOpsP127V1ClientImpl.Mesa
Copyright Ó 1986, 1991 by Xerox Corporation. All rights reserved.
Generated by Demers.pa at February 11, 1987 8:00:09 pm PST
using Sirocco [2.0] of January 31, 1987 1:52:42 am PST
DIRECTORY
CrRPC,
CHNameP2V0,
AuthenticationP14V2,
CHOpsP2V3,
BulkDataP0V1,
CHACLOpsP127V1;
CHACLOpsP127V1ClientImpl: CEDAR PROGRAM
IMPORTS CrRPC
EXPORTS CHACLOpsP127V1 ~ {
OPEN CHACLOpsP127V1;
Errors
PropertyError: PUBLIC PropertyErrorType ~ CODE;
ArgumentError: PUBLIC ArgumentErrorType ~ CODE;
CallError: PUBLIC CallErrorType ~ CODE;
UpdateError: PUBLIC UpdateErrorType ~ CODE;
ListNotFound: PUBLIC ListNotFoundType ~ CODE;
AuthenticationError: PUBLIC AuthenticationErrorType ~ CODE;
WrongServer: PUBLIC WrongServerType ~ CODE;
GetErrorProc
GetError: CrRPC.GetErrorProc ~ {
SELECT errNum FROM
3 => {
problem: CHOpsP2V3.PropertyProblem;
distinguishedObject: CHNameP2V0.ThreePartName;
problem ¬ VAL[CrRPC.GetCard16[s]];
distinguishedObject.organization ¬ CrRPC.GetRope[s];
distinguishedObject.domain ¬ CrRPC.GetRope[s];
distinguishedObject.object ¬ CrRPC.GetRope[s];
ERROR PropertyError[problem, distinguishedObject]
};
2 => {
problem: CHOpsP2V3.ArgumentProblem;
which: CHOpsP2V3.WhichArgument;
problem ¬ VAL[CrRPC.GetCard16[s]];
which ¬ VAL[CrRPC.GetCard16[s]];
ERROR ArgumentError[problem, which]
};
1 => {
problem: CHOpsP2V3.CallProblem;
problem ¬ VAL[CrRPC.GetCard16[s]];
ERROR CallError[problem]
};
4 => {
problem: CHOpsP2V3.UpdateProblem;
found: BOOLEAN;
which: CHOpsP2V3.WhichArgument;
distinguishedObject: CHNameP2V0.ThreePartName;
problem ¬ VAL[CrRPC.GetCard16[s]];
found ¬ CrRPC.GetBool[s];
which ¬ VAL[CrRPC.GetCard16[s]];
distinguishedObject.organization ¬ CrRPC.GetRope[s];
distinguishedObject.domain ¬ CrRPC.GetRope[s];
distinguishedObject.object ¬ CrRPC.GetRope[s];
ERROR UpdateError[problem, found, which, distinguishedObject]
};
7 => ERROR ListNotFound[];
6 => {
problem: AuthenticationP14V2.Problem;
problem ¬ VAL[CrRPC.GetCard16[s]];
ERROR AuthenticationError[problem]
};
5 => {
hint: CHNameP2V0.ThreePartName;
hint.organization ¬ CrRPC.GetRope[s];
hint.domain ¬ CrRPC.GetRope[s];
hint.object ¬ CrRPC.GetRope[s];
ERROR WrongServer[hint]
};
ENDCASE => {
ERROR CrRPC.Error[h, remoteError, "Unexpected Remote Error"];
};
};
Remote Procedures --
IsInDomainACL: PUBLIC IsInDomainACLType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, domain.organization];
CrRPC.PutRope[s, domain.domain];
CrRPC.PutCard16[s, ORD[acl]];
CrRPC.PutCard32[s, secondaryProperty];
CrRPC.PutRope[s, member.organization];
CrRPC.PutRope[s, member.domain];
CrRPC.PutRope[s, member.object];
CrRPC.PutCard16[s, ORD[agent.credentials.type]];
MProc1[h, s, agent.credentials.value];
MProc1[h, s, agent.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
inACL ¬ CrRPC.GetBool[s];
};
CrRPC.Call[h~h, remotePgm~127, remotePgmVersion~1, remoteProc~37 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
AddMemberToPropertyACL: PUBLIC AddMemberToPropertyACLType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, name.organization];
CrRPC.PutRope[s, name.domain];
CrRPC.PutRope[s, name.object];
CrRPC.PutCard32[s, property];
CrRPC.PutCard16[s, ORD[acl]];
CrRPC.PutRope[s, newMember.organization];
CrRPC.PutRope[s, newMember.domain];
CrRPC.PutRope[s, newMember.object];
CrRPC.PutCard16[s, ORD[agent.credentials.type]];
MProc1[h, s, agent.credentials.value];
MProc1[h, s, agent.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
distinguishedObject.organization ¬ CrRPC.GetRope[s];
distinguishedObject.domain ¬ CrRPC.GetRope[s];
distinguishedObject.object ¬ CrRPC.GetRope[s];
};
CrRPC.Call[h~h, remotePgm~127, remotePgmVersion~1, remoteProc~31 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
RetrievePropertyACL: PUBLIC RetrievePropertyACLType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, name.organization];
CrRPC.PutRope[s, name.domain];
CrRPC.PutRope[s, name.object];
CrRPC.PutCard32[s, property];
CrRPC.PutCard16[s, ORD[acl]];
CrRPC.PutBulkDataSink[h, s, membership];
CrRPC.PutCard16[s, ORD[agent.credentials.type]];
MProc1[h, s, agent.credentials.value];
MProc1[h, s, agent.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
distinguishedObject.organization ¬ CrRPC.GetRope[s];
distinguishedObject.domain ¬ CrRPC.GetRope[s];
distinguishedObject.object ¬ CrRPC.GetRope[s];
};
CrRPC.Call[h~h, remotePgm~127, remotePgmVersion~1, remoteProc~30 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
IsInPropertyACL: PUBLIC IsInPropertyACLType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, name.organization];
CrRPC.PutRope[s, name.domain];
CrRPC.PutRope[s, name.object];
CrRPC.PutCard32[s, property];
CrRPC.PutCard16[s, ORD[acl]];
CrRPC.PutCard32[s, secondaryProperty];
CrRPC.PutRope[s, member.organization];
CrRPC.PutRope[s, member.domain];
CrRPC.PutRope[s, member.object];
CrRPC.PutCard16[s, ORD[agent.credentials.type]];
MProc1[h, s, agent.credentials.value];
MProc1[h, s, agent.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
inACL ¬ CrRPC.GetBool[s];
distinguishedObject.organization ¬ CrRPC.GetRope[s];
distinguishedObject.domain ¬ CrRPC.GetRope[s];
distinguishedObject.object ¬ CrRPC.GetRope[s];
};
CrRPC.Call[h~h, remotePgm~127, remotePgmVersion~1, remoteProc~33 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
RetrieveOrganizationACL: PUBLIC RetrieveOrganizationACLType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, organization];
CrRPC.PutCard16[s, ORD[acl]];
CrRPC.PutBulkDataSink[h, s, membership];
CrRPC.PutCard16[s, ORD[agent.credentials.type]];
MProc1[h, s, agent.credentials.value];
MProc1[h, s, agent.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~127, remotePgmVersion~1, remoteProc~38 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
DeleteMemberFromOrganizationACL: PUBLIC DeleteMemberFromOrganizationACLType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, organization];
CrRPC.PutCard16[s, ORD[acl]];
CrRPC.PutRope[s, member.organization];
CrRPC.PutRope[s, member.domain];
CrRPC.PutRope[s, member.object];
CrRPC.PutCard16[s, ORD[agent.credentials.type]];
MProc1[h, s, agent.credentials.value];
MProc1[h, s, agent.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~127, remotePgmVersion~1, remoteProc~40 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
AddMemberToDomainACL: PUBLIC AddMemberToDomainACLType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, domain.organization];
CrRPC.PutRope[s, domain.domain];
CrRPC.PutCard16[s, ORD[acl]];
CrRPC.PutRope[s, newMember.organization];
CrRPC.PutRope[s, newMember.domain];
CrRPC.PutRope[s, newMember.object];
CrRPC.PutCard16[s, ORD[agent.credentials.type]];
MProc1[h, s, agent.credentials.value];
MProc1[h, s, agent.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~127, remotePgmVersion~1, remoteProc~35 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
DeleteMemberFromDomainACL: PUBLIC DeleteMemberFromDomainACLType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, domain.organization];
CrRPC.PutRope[s, domain.domain];
CrRPC.PutCard16[s, ORD[acl]];
CrRPC.PutRope[s, member.organization];
CrRPC.PutRope[s, member.domain];
CrRPC.PutRope[s, member.object];
CrRPC.PutCard16[s, ORD[agent.credentials.type]];
MProc1[h, s, agent.credentials.value];
MProc1[h, s, agent.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~127, remotePgmVersion~1, remoteProc~36 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
RetrieveDomainACL: PUBLIC RetrieveDomainACLType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, domain.organization];
CrRPC.PutRope[s, domain.domain];
CrRPC.PutCard16[s, ORD[acl]];
CrRPC.PutBulkDataSink[h, s, membership];
CrRPC.PutCard16[s, ORD[agent.credentials.type]];
MProc1[h, s, agent.credentials.value];
MProc1[h, s, agent.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
distinguishedObject.organization ¬ CrRPC.GetRope[s];
distinguishedObject.domain ¬ CrRPC.GetRope[s];
distinguishedObject.object ¬ CrRPC.GetRope[s];
};
CrRPC.Call[h~h, remotePgm~127, remotePgmVersion~1, remoteProc~34 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
IsInOrganizationACL: PUBLIC IsInOrganizationACLType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, organization];
CrRPC.PutCard16[s, ORD[acl]];
CrRPC.PutCard32[s, secondaryProperty];
CrRPC.PutRope[s, member.organization];
CrRPC.PutRope[s, member.domain];
CrRPC.PutRope[s, member.object];
CrRPC.PutCard16[s, ORD[agent.credentials.type]];
MProc1[h, s, agent.credentials.value];
MProc1[h, s, agent.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
inACL ¬ CrRPC.GetBool[s];
};
CrRPC.Call[h~h, remotePgm~127, remotePgmVersion~1, remoteProc~41 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
DeleteMemberFromPropertyACL: PUBLIC DeleteMemberFromPropertyACLType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, name.organization];
CrRPC.PutRope[s, name.domain];
CrRPC.PutRope[s, name.object];
CrRPC.PutCard32[s, property];
CrRPC.PutCard16[s, ORD[acl]];
CrRPC.PutRope[s, member.organization];
CrRPC.PutRope[s, member.domain];
CrRPC.PutRope[s, member.object];
CrRPC.PutCard16[s, ORD[agent.credentials.type]];
MProc1[h, s, agent.credentials.value];
MProc1[h, s, agent.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
distinguishedObject.organization ¬ CrRPC.GetRope[s];
distinguishedObject.domain ¬ CrRPC.GetRope[s];
distinguishedObject.object ¬ CrRPC.GetRope[s];
};
CrRPC.Call[h~h, remotePgm~127, remotePgmVersion~1, remoteProc~32 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
AddMemberToOrganizationACL: PUBLIC AddMemberToOrganizationACLType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, organization];
CrRPC.PutCard16[s, ORD[acl]];
CrRPC.PutRope[s, newMember.organization];
CrRPC.PutRope[s, newMember.domain];
CrRPC.PutRope[s, newMember.object];
CrRPC.PutCard16[s, ORD[agent.credentials.type]];
MProc1[h, s, agent.credentials.value];
MProc1[h, s, agent.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~127, remotePgmVersion~1, remoteProc~39 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Unmarshal / Marshal Procs --
MProc1: PROC [h: CrRPC.Handle, s: CrRPC.STREAM, val: AuthenticationP14V2.SeqWords] ~ {
CrRPC.PutCard16[s, val.length];
FOR i2: CARDINAL IN [0..val.length) DO
CrRPC.PutCard16[s, val.body[i2]];
ENDLOOP;
};
}...