|
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: 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┆