|
|
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 - metrics - download
Length: 15360 (0x3c00)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Directory, seg_0222eb
└─⟦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 0x2171df32e839169e69793 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┆