|
|
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: 8192 (0x2000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Unix_View, seg_027821, seg_027c66, seg_027d01, separate Object_Management_System
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with String_Utilities;
separate (Object_Management_System)
package body Unix_View is
function Get_Iterator_On_Files return Directory.Iterator is
begin
return Directory.Traversal.Children (Set_Of_Object.Parent.Unix_Library);
end Get_Iterator_On_Files;
function Image (The_Object : Directory.Object) return String is
begin
return Normalise (Directory.Naming.Simple_Name (The_Object), 30) &
" " & Directory.Image (Directory.Class (The_Object)) &
Directory.Statistics.Image
(The_Permissions =>
Directory.Statistics.Owner_Permissions (The_Object)) &
Directory.Statistics.Image
(The_Permissions =>
Directory.Statistics.Group_Permissions (The_Object)) &
Directory.Statistics.Image
(The_Permissions =>
Directory.Statistics.Other_Permissions (The_Object)) &
" " & Normalise (Directory.Statistics.Creator
(The_Object => The_Object), 8) &
String_Utilities.Number_To_String
(Directory.Statistics.Object_Size (The_Object), 10, 10);
end Image;
function Value (The_String : String) return Directory.Object is
I : constant Natural := String_Utilities.Locate
(' ', The_String, False);
Str : constant String := The_String (The_String'First .. I - 1);
Iter : Directory.Iterator;
Obj : Directory.Object;
begin
Directory.Reset (Iter);
while not Directory.Done (Iter) loop
Obj := Directory.Value (Iter);
if Directory.Naming.Simple_Name (Obj) = Str then
return Obj;
end if;
Directory.Next (Iter);
end loop;
return Directory.Nil;
end Value;
function Library_Object_Of
(The_Object : Directory.Object) return Library_Object is
Iter : Iterator;
Lo : Library_Object;
begin
Reset (Iter);
while not Done (Iter) loop
Lo := Value (Iter);
case Subclass_Of (Lo) is
when Library_Subclass =>
if Directory.Same_Object (Lo.Unix_Library, The_Object) then
return Lo;
end if;
when Unix_File_Subclass =>
if Directory.Same_Object (Lo.Unix_File, The_Object) then
return Lo;
end if;
when C_Unit_Subclass =>
if Directory.Same_Object
(Lo.Source_File, The_Object) or else
Directory.Same_Object
(Lo.Object_File, The_Object) or else
Directory.Same_Object (Lo.Exec_File, The_Object) then
return Lo;
end if;
when others =>
null;
end case;
Next (Iter);
end loop;
return Nil;
end Library_Object_Of;
end Unix_View;
nblk1=7
nid=7
hdr6=8
[0x00] rec0=18 rec1=00 rec2=01 rec3=068
[0x01] rec0=0b rec1=00 rec2=03 rec3=024
[0x02] rec0=1c rec1=00 rec2=04 rec3=062
[0x03] rec0=14 rec1=00 rec2=05 rec3=000
[0x04] rec0=1c rec1=00 rec2=04 rec3=062
[0x05] rec0=14 rec1=00 rec2=05 rec3=001
[0x06] rec0=cc rec1=4c rec2=00 rec3=01a
tail 0x21721ad1683ac5d1f97bf 0x42a00088462060003
Free Block Chain:
0x7: 0000 00 02 00 49 80 31 53 74 72 69 6e 67 20 3a 3d 20 ┆ I 1String := ┆
0x2: 0000 00 06 03 fc 80 4a 20 20 20 20 20 20 20 20 20 20 ┆ J ┆
0x6: 0000 00 00 00 05 80 02 73 20 02 72 04 72 65 63 74 6f ┆ s r recto┆