FilingAttributesP10V5.Mesa
Copyright (C) 1986 by Xerox Corporation. All rights reserved.
Generated by Diebert.pa at May 10, 1988 10:44:03 am PDT
using Sirocco [2.0] of January 31, 1987 1:52:42 am PST
DIRECTORY
CrRPC,
TimeP15V2,
CHNameP2V0,
Rope;
FilingAttributesP10V5: CEDAR DEFINITIONS ~ {
ROPE: TYPE ~ Rope.ROPE;
SerializedTreeSequence: TYPE ~ REF SerializedTreeSequenceObject;
SerializedTreeSequenceObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF SerializedTree
];
position: CARD32 ~ 13;
Type: TYPE ~ CARD32;
Position: TYPE ~ REF PositionObject;
PositionObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF CARD16
];
ModifiedOn: TYPE ~ CARD32;
StreamOfAttributeSequence: TYPE ~ REF StreamOfAttributeSequenceObject;
StreamOfAttributeSequenceObject: TYPE ~ RECORD [
SELECT type: StreamKind FROM
nextSegment => [nextSegment: AttributeSequenceList],
lastSegment => [lastSegment: AttributeSequenceSequence]
ENDCASE
];
AccessList: TYPE ~ RECORD [
entries: AccessEntrySequence,
defaulted: BOOLEAN];
firstPosition: READONLY Position;
Time: TYPE ~ CARD32;
SubtreeSizeLimit: TYPE ~ CARD32;
IsDirectory: TYPE ~ BOOLEAN;
byAscendingPosition: Ordering ~ [key~13, ascending~TRUE, interpretation~interpretationNone];
StreamKind: TYPE ~ MACHINE DEPENDENT { nextSegment(0), lastSegment(1)};
FileID: TYPE ~ ARRAY [0..5) OF CARD16;
Attribute: TYPE ~ RECORD [
type: CARD32,
value: AttributeValue];
Version: TYPE ~ CARD16;
ParentID: TYPE ~ FileID;
StoredSize: TYPE ~ CARD32;
SerializedTree: TYPE ~ RECORD [
attributes: AttributeSequence,
content: SerializedContentBytes];
byDescendingPosition: Ordering ~ [key~13, ascending~FALSE, interpretation~interpretationNone];
AttributeSequenceList: TYPE ~ RECORD [
segment: AttributeSequenceSequence];
InterpretedAttribute: TYPE ~ REF InterpretedAttributeObject;
InterpretedAttributeObject: TYPE ~ RECORD [
SELECT type: InterpretedAttributeType FROM
checksum => [checksum: CARD16],
childrenUniquelyNamed => [childrenUniquelyNamed: BOOLEAN],
createdBy => [createdBy: CHNameP2V0.ThreePartName],
createdOn => [createdOn: CARD32],
fileID => [fileID: FileID],
isDirectory => [isDirectory: BOOLEAN],
isTemporary => [isTemporary: BOOLEAN],
modifiedBy => [modifiedBy: CHNameP2V0.ThreePartName],
modifiedOn => [modifiedOn: CARD32],
name => [name: ROPE],
numberOfChildren => [numberOfChildren: CARD16],
ordering => [ordering: Ordering],
parentID => [parentID: FileID],
position => [position: Position],
readBy => [readBy: CHNameP2V0.ThreePartName],
readOn => [readOn: CARD32],
dataSize => [dataSize: CARD32],
type => [type: CARD32],
version => [version: CARD16],
accessList => [accessList: AccessList],
defaultAccessList => [defaultAccessList: AccessList],
pathname => [pathname: ROPE],
unused22 => [unused22: CARD32],
unused23 => [unused23: CARD32],
unused24 => [unused24: CARD32],
unused25 => [unused25: CARD32],
storedSize => [storedSize: CARD32],
subtreeSize => [subtreeSize: CARD32],
subtreeSizeLimit => [subtreeSizeLimit: CARD32]
ENDCASE
];
Unused: TYPE ~ CARD32;
Checksum: TYPE ~ CARD16;
BytePairSequence: TYPE ~ REF BytePairSequenceObject;
BytePairSequenceObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF CARD16
];
ReadBy: TYPE ~ CHNameP2V0.ThreePartName;
NumberOfChildren: TYPE ~ CARD16;
AccessEntry: TYPE ~ RECORD [
key: CHNameP2V0.ThreePartName,
access: AccessSequence];
IsTemporary: TYPE ~ BOOLEAN;
CreatedBy: TYPE ~ CHNameP2V0.ThreePartName;
AsciiString: TYPE ~ RECORD [
lastByteIsSignificant: BOOLEAN,
data: BytePairSequence];
nullSubtreeSizeLimit: CARD32 ~ 4294967295;
highestVersion: CARD16 ~ 65535;
WellKnownType: TYPE ~ MACHINE DEPENDENT { tUnspecified(0), tDirectory(1), tText(2), tSerialized(3), tEmpty(4), tAscii(6), tAsciiText(7)};
unknownChecksum: CARD16 ~ 65535;
AccessEntrySequence: TYPE ~ REF AccessEntrySequenceObject;
AccessEntrySequenceObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF AccessEntry
];
AsciiStringList: TYPE ~ RECORD [
line: AsciiString];
SerializedContentBytes: TYPE ~ RECORD [
data: StreamOfUnspecified,
lastByteIsSignificant: BOOLEAN];
StreamOfAsciiText: TYPE ~ REF StreamOfAsciiTextObject;
StreamOfAsciiTextObject: TYPE ~ RECORD [
SELECT type: StringStreamKind FROM
nextLine => [nextLine: AsciiStringList],
lastLine => [lastLine: AsciiString]
ENDCASE
];
defaultOrdering: Ordering ~ [key~9, ascending~TRUE, interpretation~string];
SubtreeSize: TYPE ~ CARD32;
AttributeType: TYPE ~ CARD32;
AttributeSequenceSequence: TYPE ~ REF AttributeSequenceSequenceObject;
AttributeSequenceSequenceObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF AttributeSequence
];
lowestVersion: CARD16 ~ 0;
AttributeSequence: TYPE ~ REF AttributeSequenceObject;
AttributeSequenceObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF Attribute
];
Interpretation: TYPE ~ MACHINE DEPENDENT { interpretationNone(0), boolean(1), cardinal(2), longCardinal(3), time(4), integer(5), longInteger(6), string(7)};
Ordering: TYPE ~ RECORD [
key: CARD32,
ascending: BOOLEAN,
interpretation: Interpretation];
currentVersion: CARD32 ~ 3;
User: TYPE ~ CHNameP2V0.ThreePartName;
StreamOfUnspecified: TYPE ~ REF StreamOfUnspecifiedObject;
StreamOfUnspecifiedObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF CARD16
];
ReadOn: TYPE ~ CARD32;
ModifiedBy: TYPE ~ CHNameP2V0.ThreePartName;
DefaultAccessList: TYPE ~ AccessList;
DataSize: TYPE ~ CARD32;
Pathname: TYPE ~ ROPE;
name: CARD32 ~ 9;
SerializedFile: TYPE ~ RECORD [
version: CARD32,
file: SerializedTree];
Name: TYPE ~ ROPE;
nullFileID: FileID ~ [0, 0, 0, 0, 0];
ChildrenUniquelyNamed: TYPE ~ BOOLEAN;
lastPosition: READONLY Position;
StringStreamKind: TYPE ~ MACHINE DEPENDENT { nextLine(0), lastLine(1)};
AttributeValue: TYPE ~ REF AttributeValueObject;
AttributeValueObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF CARD16
];
CreatedOn: TYPE ~ CARD32;
AccessType: TYPE ~ MACHINE DEPENDENT { read(0), write(1), owner(2), add(3), remove(4), fullAccess(65535)};
AccessSequence: TYPE ~ REF AccessSequenceObject;
AccessSequenceObject: TYPE ~ MACHINE DEPENDENT RECORD [
body: PACKED SEQUENCE length: CARDINAL OF AccessType
];
InterpretedAttributeType: TYPE ~ MACHINE DEPENDENT { checksum(0), childrenUniquelyNamed(1), createdBy(2), createdOn(3), fileID(4), isDirectory(5), isTemporary(6), modifiedBy(7), modifiedOn(8), name(9), numberOfChildren(10), ordering(11), parentID(12), position(13), readBy(14), readOn(15), dataSize(16), type(17), version(18), accessList(19), defaultAccessList(20), pathname(21), unused22(22), unused23(23), unused24(24), unused25(25), storedSize(26), subtreeSize(27), subtreeSizeLimit(28)};
}...