Errors
HandleError: PUBLIC HandleErrorType ~ CODE;
ControlTypeError: PUBLIC ControlTypeErrorType ~ CODE;
TransferError: PUBLIC TransferErrorType ~ CODE;
SpaceError: PUBLIC SpaceErrorType ~ CODE;
ServiceError: PUBLIC ServiceErrorType ~ CODE;
RangeError: PUBLIC RangeErrorType ~ CODE;
SessionError: PUBLIC SessionErrorType ~ CODE;
UndefinedError: PUBLIC UndefinedErrorType ~ CODE;
ConnectionError: PUBLIC ConnectionErrorType ~ CODE;
AuthenticationError: PUBLIC AuthenticationErrorType ~ CODE;
ScopeValueError: PUBLIC ScopeValueErrorType ~ CODE;
AttributeValueError: PUBLIC AttributeValueErrorType ~ CODE;
InsertionError: PUBLIC InsertionErrorType ~ CODE;
ControlValueError: PUBLIC ControlValueErrorType ~ CODE;
AccessError: PUBLIC AccessErrorType ~ CODE;
AttributeTypeError: PUBLIC AttributeTypeErrorType ~ CODE;
ScopeTypeError: PUBLIC ScopeTypeErrorType ~ CODE;
Remote Procedures --
ReplaceBytes:
PUBLIC ReplaceBytesType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i2:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i2]];
ENDLOOP;
CrRPC.PutCard32[s, range.firstByte];
CrRPC.PutCard32[s, range.count];
CrRPC.PutBulkDataSource[h, s, source];
FOR i3:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i3]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~23 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Logoff:
PUBLIC LogoffType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i5:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i5]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~1 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
UnifyAccessLists:
PUBLIC UnifyAccessListsType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i6:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, directory[i6]];
ENDLOOP;
FOR i7:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i7]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~20 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ChangeAttributes:
PUBLIC ChangeAttributesType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i8:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i8]];
ENDLOOP;
MProc9[h, s, attributes];
FOR i10:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i10]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~9 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Copy:
PUBLIC CopyType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i11:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i11]];
ENDLOOP;
FOR i12:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, destinationDirectory[i12]];
ENDLOOP;
MProc9[h, s, attributes];
MProc13[h, s, controls];
FOR i14:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i14]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
FOR i15:
CARDINAL
IN [0..2)
DO
newFile[i15] ¬ CrRPC.GetCard16[s];
ENDLOOP;
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~10 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ChangeControls:
PUBLIC ChangeControlsType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i16:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i16]];
ENDLOOP;
MProc13[h, s, controls];
FOR i17:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i17]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~7 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
GetControls:
PUBLIC GetControlsType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i18:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i18]];
ENDLOOP;
MProc19[h, s, types];
FOR i20:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i20]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
controls ¬ UProc21[h, s];
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~6 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Replace:
PUBLIC ReplaceType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i22:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i22]];
ENDLOOP;
MProc9[h, s, attributes];
CrRPC.PutBulkDataSource[h, s, content];
FOR i23:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i23]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~14 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Move:
PUBLIC MoveType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i24:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i24]];
ENDLOOP;
FOR i25:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, destinationDirectory[i25]];
ENDLOOP;
MProc9[h, s, attributes];
FOR i26:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i26]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~11 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Continue:
PUBLIC ContinueType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i27:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i27]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
continuance ¬ CrRPC.GetCard16[s];
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~19 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
GetAttributes:
PUBLIC GetAttributesType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i28:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i28]];
ENDLOOP;
MProc29[h, s, types];
FOR i30:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i30]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
attributes ¬ UProc31[h, s];
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~8 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
List:
PUBLIC ListType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i32:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, directory[i32]];
ENDLOOP;
MProc29[h, s, types];
MProc33[h, s, scope];
CrRPC.PutBulkDataSink[h, s, listing];
FOR i34:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i34]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~18 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Deserialize:
PUBLIC DeserializeType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i35:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, directory[i35]];
ENDLOOP;
MProc9[h, s, attributes];
MProc13[h, s, controls];
CrRPC.PutBulkDataSource[h, s, serializedFile];
FOR i36:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i36]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
FOR i37:
CARDINAL
IN [0..2)
DO
file[i37] ¬ CrRPC.GetCard16[s];
ENDLOOP;
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~16 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Store:
PUBLIC StoreType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i38:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, directory[i38]];
ENDLOOP;
MProc9[h, s, attributes];
MProc13[h, s, controls];
CrRPC.PutBulkDataSource[h, s, content];
FOR i39:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i39]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
FOR i40:
CARDINAL
IN [0..2)
DO
file[i40] ¬ CrRPC.GetCard16[s];
ENDLOOP;
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~12 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Retrieve:
PUBLIC RetrieveType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i41:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i41]];
ENDLOOP;
CrRPC.PutBulkDataSink[h, s, content];
FOR i42:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i42]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~13 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
RetrieveBytes:
PUBLIC RetrieveBytesType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i43:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i43]];
ENDLOOP;
CrRPC.PutCard32[s, range.firstByte];
CrRPC.PutCard32[s, range.count];
CrRPC.PutBulkDataSink[h, s, sink];
FOR i44:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i44]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~22 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Logon:
PUBLIC LogonType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, service.organization];
CrRPC.PutRope[s, service.domain];
CrRPC.PutRope[s, service.object];
CrRPC.PutCard16[s, ORD[credentials.type]];
MProc4[h, s, credentials.value];
MProc4[h, s, verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
FOR i45:
CARDINAL
IN [0..2)
DO
session.token[i45] ¬ CrRPC.GetCard16[s];
ENDLOOP;
session.verifier ¬ UProc46[h, s];
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~0 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Delete:
PUBLIC DeleteType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i47:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i47]];
ENDLOOP;
FOR i48:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i48]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~5 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Serialize:
PUBLIC SerializeType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i49:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i49]];
ENDLOOP;
CrRPC.PutBulkDataSink[h, s, serializedFile];
FOR i50:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i50]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~15 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Find:
PUBLIC FindType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i51:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, directory[i51]];
ENDLOOP;
MProc33[h, s, scope];
MProc13[h, s, controls];
FOR i52:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i52]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
FOR i53:
CARDINAL
IN [0..2)
DO
file[i53] ¬ CrRPC.GetCard16[s];
ENDLOOP;
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~17 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Create:
PUBLIC CreateType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i54:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, directory[i54]];
ENDLOOP;
MProc9[h, s, attributes];
MProc13[h, s, controls];
FOR i55:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i55]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
FOR i56:
CARDINAL
IN [0..2)
DO
file[i56] ¬ CrRPC.GetCard16[s];
ENDLOOP;
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~4 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Close:
PUBLIC CloseType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
FOR i57:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, file[i57]];
ENDLOOP;
FOR i58:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i58]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~3 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Open:
PUBLIC OpenType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
MProc9[h, s, attributes];
FOR i59:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, directory[i59]];
ENDLOOP;
MProc13[h, s, controls];
FOR i60:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i60]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
FOR i61:
CARDINAL
IN [0..2)
DO
file[i61] ¬ CrRPC.GetCard16[s];
ENDLOOP;
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~2 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
SetService:
PUBLIC SetServiceType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, service.organization];
CrRPC.PutRope[s, service.domain];
CrRPC.PutRope[s, service.object];
FOR i62:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, session.token[i62]];
ENDLOOP;
MProc4[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~10, remotePgmVersion~5, remoteProc~21 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Unmarshal / Marshal Procs --
UProc21:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: ControlSequence] ~ {
{
length64: CARDINAL ~ CrRPC.GetCard16[s];
res ¬ NEW[ControlSequenceObject[length64]];
FOR i63:
CARDINAL
IN [0..length64)
DO
res.body[i63] ¬ UProc65[h, s];
ENDLOOP;
};
};
MProc19:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: ControlTypeSequence] ~ {
CrRPC.PutCard16[s, val.length];
FOR i66:
CARDINAL
IN [0..val.length)
DO
CrRPC.PutCard16[s, ORD[val.body[i66]]];
ENDLOOP;
};
MProc9:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: FilingAttributesP10V5.AttributeSequence] ~ {
CrRPC.PutCard16[s, val.length];
FOR i67:
CARDINAL
IN [0..val.length)
DO
CrRPC.PutCard32[s, val.body[i67].type];
MProc68[h, s, val.body[i67].value];
ENDLOOP;
};
MProc33:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: ScopeSequence] ~ {
CrRPC.PutCard16[s, val.length];
FOR i69:
CARDINAL
IN [0..val.length)
DO
MProc70[h, s, val.body[i69]];
ENDLOOP;
};
MProc70:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: Scope] ~ {
CrRPC.PutCard16[s, ORD[val.type]];
WITH val
SELECT
FROM
it:
REF ScopeObject.count => {
CrRPC.PutCard16[s, it.count];
};
it:
REF ScopeObject.depth => {
CrRPC.PutCard16[s, it.depth];
};
it:
REF ScopeObject.direction => {
CrRPC.PutCard16[s, ORD[it.direction]];
};
it:
REF ScopeObject.filter => {
MProc72[h, s, it.filter];
};
ENDCASE;
};
MProc13:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: ControlSequence] ~ {
CrRPC.PutCard16[s, val.length];
FOR i73:
CARDINAL
IN [0..val.length)
DO
MProc74[h, s, val.body[i73]];
ENDLOOP;
};
MProc72:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: Filter] ~ {
CrRPC.PutCard16[s, ORD[val.type]];
WITH val
SELECT
FROM
it:
REF FilterObject.less => {
CrRPC.PutCard32[s, it.less.attribute.type];
MProc68[h, s, it.less.attribute.value];
CrRPC.PutCard16[s, ORD[it.less.interpretation]];
};
it:
REF FilterObject.lessOrEqual => {
CrRPC.PutCard32[s, it.lessOrEqual.attribute.type];
MProc68[h, s, it.lessOrEqual.attribute.value];
CrRPC.PutCard16[s, ORD[it.lessOrEqual.interpretation]];
};
it:
REF FilterObject.equal => {
CrRPC.PutCard32[s, it.equal.attribute.type];
MProc68[h, s, it.equal.attribute.value];
CrRPC.PutCard16[s, ORD[it.equal.interpretation]];
};
it:
REF FilterObject.notEqual => {
CrRPC.PutCard32[s, it.notEqual.attribute.type];
MProc68[h, s, it.notEqual.attribute.value];
CrRPC.PutCard16[s, ORD[it.notEqual.interpretation]];
};
it:
REF FilterObject.greaterOrEqual => {
CrRPC.PutCard32[s, it.greaterOrEqual.attribute.type];
MProc68[h, s, it.greaterOrEqual.attribute.value];
CrRPC.PutCard16[s, ORD[it.greaterOrEqual.interpretation]];
};
it:
REF FilterObject.greater => {
CrRPC.PutCard32[s, it.greater.attribute.type];
MProc68[h, s, it.greater.attribute.value];
CrRPC.PutCard16[s, ORD[it.greater.interpretation]];
};
it:
REF FilterObject.and => {
NULL; -- RECORD [] --
};
it:
REF FilterObject.or => {
NULL; -- RECORD [] --
};
it:
REF FilterObject.not => {
NULL; -- RECORD [] --
};
it:
REF FilterObject.none => {
NULL; -- RECORD [] --
};
it:
REF FilterObject.all => {
NULL; -- RECORD [] --
};
it:
REF FilterObject.matches => {
CrRPC.PutCard32[s, it.matches.attribute.type];
MProc68[h, s, it.matches.attribute.value];
};
ENDCASE;
};
UProc46:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: AuthenticationP14V2.SeqWords] ~ {
{
length77: CARDINAL ~ CrRPC.GetCard16[s];
res ¬ NEW[AuthenticationP14V2.SeqWordsObject[length77]];
FOR i76:
CARDINAL
IN [0..length77)
DO
res.body[i76] ¬ CrRPC.GetCard16[s];
ENDLOOP;
};
};
UProc31:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: FilingAttributesP10V5.AttributeSequence] ~ {
{
length79: CARDINAL ~ CrRPC.GetCard16[s];
res ¬ NEW[FilingAttributesP10V5.AttributeSequenceObject[length79]];
FOR i78:
CARDINAL
IN [0..length79)
DO
res.body[i78].type ¬ CrRPC.GetCard32[s];
res.body[i78].value ¬ UProc80[h, s];
ENDLOOP;
};
};
MProc29:
PUBLIC
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: AttributeTypeSequence] ~ {
CrRPC.PutCard16[s, val.length];
FOR i81:
CARDINAL
IN [0..val.length)
DO
CrRPC.PutCard32[s, val.body[i81]];
ENDLOOP;
};
MProc4:
PUBLIC
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: AuthenticationP14V2.SeqWords] ~ {
CrRPC.PutCard16[s, val.length];
FOR i82:
CARDINAL
IN [0..val.length)
DO
CrRPC.PutCard16[s, val.body[i82]];
ENDLOOP;
};
MProc74:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: Control] ~ {
CrRPC.PutCard16[s, ORD[val.type]];
WITH val
SELECT
FROM
it:
REF ControlObject.lock => {
CrRPC.PutCard16[s, ORD[it.lock]];
};
it:
REF ControlObject.timeout => {
CrRPC.PutCard16[s, it.timeout];
};
it:
REF ControlObject.access => {
MProc84[h, s, it.access];
};
ENDCASE;
};
UProc65:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: Control] ~ {
{
tag85: ControlType ~ VAL[CrRPC.GetCard16[s]];
SELECT tag85
FROM
lock => {
temp86: Lock;
temp86 ¬ VAL[CrRPC.GetCard16[s]];
res ¬ NEW[ControlObject.lock ¬ [lock[temp86]]] };
timeout => {
temp86: CARD16;
temp86 ¬ CrRPC.GetCard16[s];
res ¬ NEW[ControlObject.timeout ¬ [timeout[temp86]]] };
access => {
temp86: FilingAttributesP10V5.AccessSequence;
temp86 ¬ UProc87[h, s];
res ¬ NEW[ControlObject.access ¬ [access[temp86]]] };
ENDCASE => ERROR;
};
};
MProc68:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: FilingAttributesP10V5.AttributeValue] ~ {
CrRPC.PutCard16[s, val.length];
FOR i88:
CARDINAL
IN [0..val.length)
DO
CrRPC.PutCard16[s, val.body[i88]];
ENDLOOP;
};
UProc80:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: FilingAttributesP10V5.AttributeValue] ~ {
{
length90: CARDINAL ~ CrRPC.GetCard16[s];
res ¬ NEW[FilingAttributesP10V5.AttributeValueObject[length90]];
FOR i89:
CARDINAL
IN [0..length90)
DO
res.body[i89] ¬ CrRPC.GetCard16[s];
ENDLOOP;
};
};
MProc84:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: FilingAttributesP10V5.AccessSequence] ~ {
CrRPC.PutCard16[s, val.length];
FOR i91:
CARDINAL
IN [0..val.length)
DO
CrRPC.PutCard16[s, ORD[val.body[i91]]];
ENDLOOP;
};
UProc87:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: FilingAttributesP10V5.AccessSequence] ~ {
{
length93: CARDINAL ~ CrRPC.GetCard16[s];
res ¬ NEW[FilingAttributesP10V5.AccessSequenceObject[length93]];
FOR i92:
CARDINAL
IN [0..length93)
DO
res.body[i92] ¬ VAL[CrRPC.GetCard16[s]];
ENDLOOP;
};
};
}...