Errors
StaticallyInvalid: PUBLIC StaticallyInvalidType ~ CODE;
AccessFailed: PUBLIC AccessFailedType ~ CODE;
OperationFailed: PUBLIC OperationFailedType ~ CODE;
Unknown: PUBLIC UnknownType ~ CODE;
LockFailed: PUBLIC LockFailedType ~ CODE;
ConnectionError: PUBLIC ConnectionErrorType ~ CODE;
AuthenticationError: PUBLIC AuthenticationErrorType ~ CODE;
PossiblyDamaged: PUBLIC PossiblyDamagedType ~ CODE;
Remote Procedures --
GetReferencePattern:
PUBLIC GetReferencePatternType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
CrRPC.PutCard32[s, openFileID];
};
GetResults: CrRPC.GetResultsProc ~ {
referencePattern ← VAL[CrRPC.GetCard16[s]];
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~16 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
WriteProperties:
PUBLIC WritePropertiesType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
CrRPC.PutCard32[s, openFileID];
MProc3[h, s, properties];
CrRPC.PutCard16[s, ORD[lock.mode]];
CrRPC.PutCard16[s, ORD[lock.ifConflict]];
};
GetResults: CrRPC.GetResultsProc ~ {
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~23 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Logoff:
PUBLIC LogoffType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~1 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ReadProperties:
PUBLIC ReadPropertiesType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
CrRPC.PutCard32[s, openFileID];
FOR i4:
CARDINAL
IN [0..8)
DO
CrRPC.PutBool[s, desiredProperties[i4]];
ENDLOOP;
CrRPC.PutCard16[s, ORD[lock.mode]];
CrRPC.PutCard16[s, ORD[lock.ifConflict]];
};
GetResults: CrRPC.GetResultsProc ~ {
properties ← UProc5[h, s];
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~22 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
GetUniversalFile:
PUBLIC GetUniversalFileType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
CrRPC.PutCard32[s, openFileID];
};
GetResults: CrRPC.GetResultsProc ~ {
FOR i6:
CARDINAL
IN [0..5)
DO
universalFile.volumeID.vgid[i6] ← CrRPC.GetCard16[s];
ENDLOOP;
FOR i7:
CARDINAL
IN [0..2)
DO
universalFile.fileID.id[i7] ← CrRPC.GetCard16[s];
ENDLOOP;
FOR i8:
CARDINAL
IN [0..2)
DO
universalFile.fileID.da[i8] ← CrRPC.GetCard16[s];
ENDLOOP;
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~10 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
SetReferencePattern:
PUBLIC SetReferencePatternType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
CrRPC.PutCard32[s, openFileID];
CrRPC.PutCard16[s, ORD[referencePattern]];
};
GetResults: CrRPC.GetResultsProc ~ {
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~17 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
FinishTransaction:
PUBLIC FinishTransactionType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
FOR i9:
CARDINAL
IN [0..9)
DO
CrRPC.PutCard16[s, transID[i9]];
ENDLOOP;
CrRPC.PutCard16[s, ORD[requestedOutcome]];
CrRPC.PutBool[s, continue];
};
GetResults: CrRPC.GetResultsProc ~ {
outcome ← VAL[CrRPC.GetCard16[s]];
FOR i10:
CARDINAL
IN [0..9)
DO
newTrans[i10] ← CrRPC.GetCard16[s];
ENDLOOP;
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~5 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ReadPages:
PUBLIC ReadPagesType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
CrRPC.PutCard32[s, openFileID];
CrRPC.PutInt32[s, pageRun.firstPage];
CrRPC.PutCard16[s, pageRun.count];
CrRPC.PutCard16[s, ORD[lock.mode]];
CrRPC.PutCard16[s, ORD[lock.ifConflict]];
CrRPC.PutBulkDataSink[h, s, content];
};
GetResults: CrRPC.GetResultsProc ~ {
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~18 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
CreateOwner:
PUBLIC CreateOwnerType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
FOR i11:
CARDINAL
IN [0..9)
DO
CrRPC.PutCard16[s, transID[i11]];
ENDLOOP;
FOR i12:
CARDINAL
IN [0..5)
DO
CrRPC.PutCard16[s, volumeGroupID.vgid[i12]];
ENDLOOP;
CrRPC.PutRope[s, owner];
MProc13[h, s, properties];
CrRPC.PutBool[s, enforceTotalQuota];
};
GetResults: CrRPC.GetResultsProc ~ {
spaceLeftOnVolumeGroup ← CrRPC.GetInt32[s];
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~31 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
WritePages:
PUBLIC WritePagesType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
CrRPC.PutCard32[s, openFileID];
CrRPC.PutInt32[s, pageRun.firstPage];
CrRPC.PutCard16[s, pageRun.count];
CrRPC.PutCard16[s, ORD[lock.mode]];
CrRPC.PutCard16[s, ORD[lock.ifConflict]];
CrRPC.PutBulkDataSource[h, s, content];
};
GetResults: CrRPC.GetResultsProc ~ {
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~19 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
GetGroup:
PUBLIC GetGroupType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
FOR i14:
CARDINAL
IN [0..9)
DO
CrRPC.PutCard16[s, transID[i14]];
ENDLOOP;
FOR i15:
CARDINAL
IN [0..5)
DO
CrRPC.PutCard16[s, volumeGroupID.vgid[i15]];
ENDLOOP;
CrRPC.PutCard16[s, ORD[lock.mode]];
CrRPC.PutCard16[s, ORD[lock.ifConflict]];
};
GetResults: CrRPC.GetResultsProc ~ {
volumes ← UProc16[h, s];
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~37 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
DestroyOwner:
PUBLIC DestroyOwnerType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
FOR i17:
CARDINAL
IN [0..9)
DO
CrRPC.PutCard16[s, transID[i17]];
ENDLOOP;
FOR i18:
CARDINAL
IN [0..5)
DO
CrRPC.PutCard16[s, volumeGroupID.vgid[i18]];
ENDLOOP;
CrRPC.PutRope[s, owner];
};
GetResults: CrRPC.GetResultsProc ~ {
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~31 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
GetSize:
PUBLIC GetSizeType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
CrRPC.PutCard32[s, openFileID];
CrRPC.PutCard16[s, ORD[lock.mode]];
CrRPC.PutCard16[s, ORD[lock.ifConflict]];
};
GetResults: CrRPC.GetResultsProc ~ {
size ← CrRPC.GetInt32[s];
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~26 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ReorganizeOwnerDB:
PUBLIC ReorganizeOwnerDBType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
FOR i19:
CARDINAL
IN [0..9)
DO
CrRPC.PutCard16[s, transID[i19]];
ENDLOOP;
FOR i20:
CARDINAL
IN [0..5)
DO
CrRPC.PutCard16[s, volumeGroupID.vgid[i20]];
ENDLOOP;
CrRPC.PutInt32[s, nEntries];
};
GetResults: CrRPC.GetResultsProc ~ {
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~34 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
GetRecoveryOption:
PUBLIC GetRecoveryOptionType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
CrRPC.PutCard32[s, openFileID];
};
GetResults: CrRPC.GetResultsProc ~ {
recoveryOption ← VAL[CrRPC.GetCard16[s]];
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~15 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ReadOwnerProperties:
PUBLIC ReadOwnerPropertiesType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
FOR i21:
CARDINAL
IN [0..9)
DO
CrRPC.PutCard16[s, transID[i21]];
ENDLOOP;
FOR i22:
CARDINAL
IN [0..5)
DO
CrRPC.PutCard16[s, volumeGroupID.vgid[i22]];
ENDLOOP;
CrRPC.PutRope[s, owner];
FOR i23:
CARDINAL
IN [0..5)
DO
CrRPC.PutBool[s, desiredProperties[i23]];
ENDLOOP;
};
GetResults: CrRPC.GetResultsProc ~ {
properties ← UProc24[h, s];
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~29 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
NextOwner:
PUBLIC NextOwnerType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
FOR i25:
CARDINAL
IN [0..9)
DO
CrRPC.PutCard16[s, transID[i25]];
ENDLOOP;
FOR i26:
CARDINAL
IN [0..5)
DO
CrRPC.PutCard16[s, volumeGroupID.vgid[i26]];
ENDLOOP;
CrRPC.PutRope[s, previousOwner];
FOR i27:
CARDINAL
IN [0..5)
DO
CrRPC.PutBool[s, desiredProperties[i27]];
ENDLOOP;
};
GetResults: CrRPC.GetResultsProc ~ {
owner ← CrRPC.GetRope[s];
properties ← UProc24[h, s];
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~32 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
GetEnclosingGroup:
PUBLIC GetEnclosingGroupType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
FOR i28:
CARDINAL
IN [0..9)
DO
CrRPC.PutCard16[s, transID[i28]];
ENDLOOP;
FOR i29:
CARDINAL
IN [0..5)
DO
CrRPC.PutCard16[s, volumeID.vgid[i29]];
ENDLOOP;
CrRPC.PutCard16[s, ORD[lock.mode]];
CrRPC.PutCard16[s, ORD[lock.ifConflict]];
};
GetResults: CrRPC.GetResultsProc ~ {
FOR i30:
CARDINAL
IN [0..5)
DO
volumeGroupID.vgid[i30] ← CrRPC.GetCard16[s];
ENDLOOP;
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~38 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
GetTransID:
PUBLIC GetTransIDType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
CrRPC.PutCard32[s, openFileID];
};
GetResults: CrRPC.GetResultsProc ~ {
FOR i31:
CARDINAL
IN [0..9)
DO
transID[i31] ← CrRPC.GetCard16[s];
ENDLOOP;
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~11 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
UnlockPages:
PUBLIC UnlockPagesType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard32[s, session.token];
MProc1[h, s, session.verifier];
CrRPC.PutCard32[s, openFileID];
CrRPC.PutInt32[s, pageRun.firstPage];
CrRPC.PutCard16[s, pageRun.count];
};
GetResults: CrRPC.GetResultsProc ~ {
replyVerifier ← UProc2[h, s];
};
CrRPC.Call[h~h, remotePgm~2202, remotePgmVersion~2, remoteProc~21 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Unmarshal / Marshal Procs --
MProc3:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: AlpineEnvironmentP2201V1.Properties] ~ {
CrRPC.PutCard16[s, val.length];
FOR i55:
CARDINAL
IN [0..val.length)
DO
MProc56[h, s, val.body[i55]];
ENDLOOP;
};
UProc24:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: AlpineEnvironmentP2201V1.OwnerProperties] ~ {
{
length58: CARDINAL ~ CrRPC.GetCard16[s];
res ← NEW[AlpineEnvironmentP2201V1.OwnerPropertiesObject[length58]];
FOR i57:
CARDINAL
IN [0..length58)
DO
res.body[i57] ← UProc59[h, s];
ENDLOOP;
};
};
UProc16:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: AlpineEnvironmentP2201V1.VolumeIDs] ~ {
{
length61: CARDINAL ~ CrRPC.GetCard16[s];
res ← NEW[AlpineEnvironmentP2201V1.VolumeIDsObject[length61]];
FOR i60:
CARDINAL
IN [0..length61)
DO
FOR i62:
CARDINAL
IN [0..5)
DO
res.body[i60].vgid[i62] ← CrRPC.GetCard16[s];
ENDLOOP;
ENDLOOP;
};
};
UProc59:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: AlpineEnvironmentP2201V1.OwnerPropertyValuePair] ~ {
{
tag63: AlpineEnvironmentP2201V1.OwnerProperty ~ VAL[CrRPC.GetCard16[s]];
SELECT tag63
FROM
createAccessList => {
temp64: AlpineEnvironmentP2201V1.AccessList;
temp64 ← UProc65[h, s];
res ← NEW[AlpineEnvironmentP2201V1.OwnerPropertyValuePairObject.createAccessList ← [createAccessList[temp64]]] };
modifyAccessList => {
temp64: AlpineEnvironmentP2201V1.AccessList;
temp64 ← UProc65[h, s];
res ← NEW[AlpineEnvironmentP2201V1.OwnerPropertyValuePairObject.modifyAccessList ← [modifyAccessList[temp64]]] };
quota => {
temp64: INT32;
temp64 ← CrRPC.GetInt32[s];
res ← NEW[AlpineEnvironmentP2201V1.OwnerPropertyValuePairObject.quota ← [quota[temp64]]] };
spaceInUse => {
temp64: INT32;
temp64 ← CrRPC.GetInt32[s];
res ← NEW[AlpineEnvironmentP2201V1.OwnerPropertyValuePairObject.spaceInUse ← [spaceInUse[temp64]]] };
rootFile => {
temp64: AlpineEnvironmentP2201V1.UniversalFile;
FOR i66:
CARDINAL
IN [0..5)
DO
temp64.volumeID.vgid[i66] ← CrRPC.GetCard16[s];
ENDLOOP;
FOR i67:
CARDINAL
IN [0..2)
DO
temp64.fileID.id[i67] ← CrRPC.GetCard16[s];
ENDLOOP;
FOR i68:
CARDINAL
IN [0..2)
DO
temp64.fileID.da[i68] ← CrRPC.GetCard16[s];
ENDLOOP;
res ← NEW[AlpineEnvironmentP2201V1.OwnerPropertyValuePairObject.rootFile ← [rootFile[temp64]]] };
ENDCASE => ERROR;
};
};
UProc5:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: AlpineEnvironmentP2201V1.Properties] ~ {
{
length70: CARDINAL ~ CrRPC.GetCard16[s];
res ← NEW[AlpineEnvironmentP2201V1.PropertiesObject[length70]];
FOR i69:
CARDINAL
IN [0..length70)
DO
res.body[i69] ← UProc71[h, s];
ENDLOOP;
};
};
MProc13:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: AlpineEnvironmentP2201V1.OwnerProperties] ~ {
CrRPC.PutCard16[s, val.length];
FOR i72:
CARDINAL
IN [0..val.length)
DO
MProc73[h, s, val.body[i72]];
ENDLOOP;
};
UProc2:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: AuthenticationP14V2.SeqWords] ~ {
{
length75: CARDINAL ~ CrRPC.GetCard16[s];
res ← NEW[AuthenticationP14V2.SeqWordsObject[length75]];
FOR i74:
CARDINAL
IN [0..length75)
DO
res.body[i74] ← CrRPC.GetCard16[s];
ENDLOOP;
};
};
MProc56:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: AlpineEnvironmentP2201V1.PropertyValuePair] ~ {
CrRPC.PutCard16[s, ORD[val.type]];
WITH val
SELECT
FROM
it:
REF AlpineEnvironmentP2201V1.PropertyValuePairObject.byteLength => {
CrRPC.PutInt32[s, it^.byteLength];
};
it:
REF AlpineEnvironmentP2201V1.PropertyValuePairObject.createTime => {
CrRPC.PutCard32[s, it^.createTime];
};
it:
REF AlpineEnvironmentP2201V1.PropertyValuePairObject.highWaterMark => {
CrRPC.PutInt32[s, it^.highWaterMark];
};
it:
REF AlpineEnvironmentP2201V1.PropertyValuePairObject.modifyAccess => {
MProc77[h, s, it^.modifyAccess];
};
it:
REF AlpineEnvironmentP2201V1.PropertyValuePairObject.owner => {
CrRPC.PutRope[s, it^.owner];
};
it:
REF AlpineEnvironmentP2201V1.PropertyValuePairObject.readAccess => {
MProc77[h, s, it^.readAccess];
};
it:
REF AlpineEnvironmentP2201V1.PropertyValuePairObject.stringName => {
CrRPC.PutRope[s, it^.stringName];
};
it:
REF AlpineEnvironmentP2201V1.PropertyValuePairObject.version => {
CrRPC.PutInt32[s, it^.version];
};
ENDCASE;
};
MProc1:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: AuthenticationP14V2.SeqWords] ~ {
CrRPC.PutCard16[s, val.length];
FOR i78:
CARDINAL
IN [0..val.length)
DO
CrRPC.PutCard16[s, val.body[i78]];
ENDLOOP;
};
UProc65:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: AlpineEnvironmentP2201V1.AccessList] ~ {
{
length80: CARDINAL ~ CrRPC.GetCard16[s];
res ← NEW[AlpineEnvironmentP2201V1.AccessListObject[length80]];
FOR i79:
CARDINAL
IN [0..length80)
DO
res.body[i79] ← CrRPC.GetRope[s];
ENDLOOP;
};
};
MProc73:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: AlpineEnvironmentP2201V1.OwnerPropertyValuePair] ~ {
CrRPC.PutCard16[s, ORD[val.type]];
WITH val
SELECT
FROM
it:
REF AlpineEnvironmentP2201V1.OwnerPropertyValuePairObject.createAccessList => {
MProc77[h, s, it^.createAccessList];
};
it:
REF AlpineEnvironmentP2201V1.OwnerPropertyValuePairObject.modifyAccessList => {
MProc77[h, s, it^.modifyAccessList];
};
it:
REF AlpineEnvironmentP2201V1.OwnerPropertyValuePairObject.quota => {
CrRPC.PutInt32[s, it^.quota];
};
it:
REF AlpineEnvironmentP2201V1.OwnerPropertyValuePairObject.spaceInUse => {
CrRPC.PutInt32[s, it^.spaceInUse];
};
it:
REF AlpineEnvironmentP2201V1.OwnerPropertyValuePairObject.rootFile => {
FOR i82:
CARDINAL
IN [0..5)
DO
CrRPC.PutCard16[s, it^.rootFile.volumeID.vgid[i82]];
ENDLOOP;
FOR i83:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, it^.rootFile.fileID.id[i83]];
ENDLOOP;
FOR i84:
CARDINAL
IN [0..2)
DO
CrRPC.PutCard16[s, it^.rootFile.fileID.da[i84]];
ENDLOOP;
};
ENDCASE;
};
UProc71:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: AlpineEnvironmentP2201V1.PropertyValuePair] ~ {
{
tag85: AlpineEnvironmentP2201V1.Property ~ VAL[CrRPC.GetCard16[s]];
SELECT tag85
FROM
byteLength => {
temp86: INT32;
temp86 ← CrRPC.GetInt32[s];
res ← NEW[AlpineEnvironmentP2201V1.PropertyValuePairObject.byteLength ← [byteLength[temp86]]] };
createTime => {
temp86: CARD32;
temp86 ← CrRPC.GetCard32[s];
res ← NEW[AlpineEnvironmentP2201V1.PropertyValuePairObject.createTime ← [createTime[temp86]]] };
highWaterMark => {
temp86: INT32;
temp86 ← CrRPC.GetInt32[s];
res ← NEW[AlpineEnvironmentP2201V1.PropertyValuePairObject.highWaterMark ← [highWaterMark[temp86]]] };
modifyAccess => {
temp86: AlpineEnvironmentP2201V1.AccessList;
temp86 ← UProc65[h, s];
res ← NEW[AlpineEnvironmentP2201V1.PropertyValuePairObject.modifyAccess ← [modifyAccess[temp86]]] };
owner => {
temp86: ROPE;
temp86 ← CrRPC.GetRope[s];
res ← NEW[AlpineEnvironmentP2201V1.PropertyValuePairObject.owner ← [owner[temp86]]] };
readAccess => {
temp86: AlpineEnvironmentP2201V1.AccessList;
temp86 ← UProc65[h, s];
res ← NEW[AlpineEnvironmentP2201V1.PropertyValuePairObject.readAccess ← [readAccess[temp86]]] };
stringName => {
temp86: ROPE;
temp86 ← CrRPC.GetRope[s];
res ← NEW[AlpineEnvironmentP2201V1.PropertyValuePairObject.stringName ← [stringName[temp86]]] };
version => {
temp86: INT32;
temp86 ← CrRPC.GetInt32[s];
res ← NEW[AlpineEnvironmentP2201V1.PropertyValuePairObject.version ← [version[temp86]]] };
ENDCASE => ERROR;
};
};
MProc77:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: AlpineEnvironmentP2201V1.AccessList] ~ {
CrRPC.PutCard16[s, val.length];
FOR i87:
CARDINAL
IN [0..val.length)
DO
CrRPC.PutRope[s, val.body[i87]];
ENDLOOP;
};
}...