|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 15360 (0x3c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Directory, seg_00efbe
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Calendar; package Directory is type Object is private; -- Objects in the directory system are accessed via Directory.Object function Nil return Object; function Is_Nil (The_Object : Object) return Boolean; function Hash (The_Object : Object) return Integer; function Same_Object (Left, Right : Object) return Boolean; type Class_Enumeration is new Natural range 0 .. 63; Unknown_Class : constant Class_Enumeration := 0; Directory_Class : constant Class_Enumeration := 1; File_Class : constant Class_Enumeration := 2; Link_Class : constant Class_Enumeration := 3; function Class (The_Object : Object) return Class_Enumeration; function Equal (Class1, Class2 : Class_Enumeration) return Boolean; function Image (The_Class : Class_Enumeration) return String; function Value (S : String) return Class_Enumeration; type Subclass is limited private; function Nil return Subclass; function Is_Nil (The_Subclass : Subclass) return Boolean; function Unique (The_Subclass : Subclass) return Integer; function Subclass_Of (The_Object : Object) return Subclass; function Image (The_Subclass : Subclass) return String; function Value (S : String) return Subclass; function Class_Of (The_Subclass : Subclass) return Class_Enumeration; function Same_Subclass (Left, Right : Subclass) return Boolean; type Iterator is limited private; procedure Next (Iter : in out Iterator); function Done (Iter : Iterator) return Boolean; function Value (Iter : Iterator) return Object; procedure Reset (Iter : Iterator); package Naming is -- Provides mechanisms for manipulating and resolving names and for -- establishing a context for name resolution. type Status is (Ok, Ill_Formed_Name); subtype String_Name is String; -- Lexically and syntactically a Directory system string name. subtype Simple_String_Name is String; -- A single segment of a string name. subtype Context is Object; -- The Directory System Object that serves as the initial context -- for name resolution. May be any Object. procedure Set_Default_Context (The_Context : Naming.String_Name; Status : out Naming.Status); procedure Set_Default_Context (The_Context : Naming.Context; Status : out Naming.Status); -- Establishes the default naming context for the job. function Default_Context return Naming.String_Name; function Default_Context return Naming.Context; -- Returns the default name resolution context for the job. function Is_Well_Formed (A_Name : String_Name) return Boolean; -- Tests whether a name is lexically and syntactically valid. function Prefix (The_Name : String_Name) return String_Name; -- Removes the last segment from a selected name and returns -- the prefix. -- Prefix ("A/B/C") => "A/B" -- Prefix ("A") => "" function Simple_Name (The_Name : String_Name) return Simple_String_Name; -- Returns only the last segment of a selected name, without attributes -- Simple_name ("A/B/C") => "C" -- Simple_name ("A") => "A" function Head (The_Name : String_Name) return Simple_String_Name; -- Returns only the first segment of a selected name. -- Head ("A/B/C") => "A" -- Head ("A") => "A" -- Head ("/A") => "/" function Tail (The_Name : String_Name) return String_Name; -- Removes the first segment from a selected name and returns the tail. -- Tail ("A/B/C") => "B/C" -- Tail ("A") => "" function Extension (A_Name : String_Name) return String; -- Returns the Extension at the end of the given string name. -- If the simple name of the given string name has no attributes, -- the null string is returned. The returned string starts with '.'. function Full_Name (The_Object : Object) return Naming.String_Name; -- Computes the fully qualified string name for the The_Object. function Simple_Name (The_Object : Object) return Simple_String_Name; -- Computes the simple name for the The_Object. function Resolution (Name : Naming.String_Name; Context : Naming.Context := Default_Context) return Object; -- Resolve name to a single Object. Wild cards may be used, but -- the name must resolve to a unique Object. function Resolution (Name : Naming.String_Name; Context : Naming.Context := Default_Context) return Iterator; -- Resolves (ambiguous) Source name in the given context. end Naming; package Traversal is -- Provides operations for traversing the Directory System -- in a variety of ways. function Root return Object; -- Returns the (somewhat special) Object corresponding to the -- root of the universe. function Parent (The_Object : Object) return Object; -- Returns the parent Object for The_Object. function Child (The_Object : Object; Child_Name : Naming.Simple_String_Name) return Object; -- Retrieve the named subobject. function Children (The_Object : Object; Pattern : Naming.Simple_String_Name := "*"; Class : Class_Enumeration := Unknown_Class) return Iterator; -- Initializes the iteration over the children that match the -- specified name pattern. -- If a class is provided, only children of that class are returned. end Traversal; package Any_Object is type Status is (Ok, Already_Existent_Object, Non_Existent_Object); -- Operations to Create, Copy and Destroy Objects. procedure Create (The_Object : out Object; Object_Name : String; Status : out Any_Object.Status); procedure Copy (Source : Object; Destination : in out Object; Status : out Any_Object.Status); procedure Delete (The_Object : Object; Status : out Any_Object.Status); end Any_Object; package Statistics is subtype User is String; function Time_Of_Last_Update (The_Object : Object) return Calendar.Time; function Time_Of_Last_Read (The_Object : Object) return Calendar.Time; function Time_Of_Creation (The_Object : Object) return Calendar.Time; function Last_Updater (The_Object : Object) return User; function Last_Reader (The_Object : Object) return User; function Creator (The_Object : Object) return User; function Object_Size (The_Object : Object) return Integer; function Last_Edit_Time (The_Unit : Object) return Calendar.Time; end Statistics; private type Object_Data; type Object is access Object_Data; type Subclass_Data; type Subclass is access Subclass_Data; type Iterator_Implementation; type Iterator is access Iterator_Implementation; end Directory;
nblk1=e nid=2 hdr6=12 [0x00] rec0=1a rec1=00 rec2=01 rec3=006 [0x01] rec0=1b rec1=00 rec2=0d rec3=040 [0x02] rec0=01 rec1=00 rec2=0e rec3=042 [0x03] rec0=1c rec1=00 rec2=0b rec3=000 [0x04] rec0=1d rec1=00 rec2=09 rec3=062 [0x05] rec0=19 rec1=00 rec2=06 rec3=008 [0x06] rec0=1c rec1=00 rec2=0a rec3=03a [0x07] rec0=1f rec1=00 rec2=03 rec3=030 [0x08] rec0=20 rec1=00 rec2=04 rec3=000 [0x09] rec0=05 rec1=00 rec2=02 rec3=000 [0x0a] rec0=0a rec1=00 rec2=07 rec3=000 [0x0b] rec0=09 rec1=00 rec2=0b rec3=000 [0x0c] rec0=1b rec1=00 rec2=0b rec3=078 [0x0d] rec0=0f rec1=00 rec2=0d rec3=000 tail 0x2170b923082287db3ad0a 0x42a00088462062803 Free Block Chain: 0x2: 0000 00 07 00 72 00 21 20 20 20 20 74 79 70 65 20 49 ┆ r ! type I┆ 0x7: 0000 00 0c 00 b8 80 0f 61 72 69 61 62 6c 65 5f 53 74 ┆ ariable_St┆ 0xc: 0000 00 08 00 27 00 24 20 20 20 20 20 20 20 20 66 75 ┆ ' $ fu┆ 0x8: 0000 00 05 03 fc 80 04 6c 69 63 79 04 00 2a 20 20 20 ┆ licy * ┆ 0x5: 0000 00 00 01 7f 80 13 61 6c 6c 65 64 20 64 65 63 6c ┆ alled decl┆