|
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: 11264 (0x2c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Object_Management_System, seg_027ac3, seg_027c61, seg_027cfc
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Directory; with Our_Generic_String; package Object_Management_System is -- IMPORTANT : -- -- pour l'instant, uniquement les library_object de subclass -- library_subclass et unix_file_subclass sont traites.... -- -- est presente egalement une ebauche des library_object de subclass -- c_unit_subclass type Subclass_Enumeration is new Natural range 0 .. 63; Unknown_Subclass : constant Subclass_Enumeration := 0; Library_Subclass : constant Subclass_Enumeration := 1; C_Unit_Subclass : constant Subclass_Enumeration := 2; Shell_Subclass : constant Subclass_Enumeration := 3; Comp_Lib_Subclass : constant Subclass_Enumeration := 4; Archive_Subclass : constant Subclass_Enumeration := 5; Image_Subclass : constant Subclass_Enumeration := 6; Unix_File_Subclass : constant Subclass_Enumeration := 7; type Library_Object (Subclass : Subclass_Enumeration := Unknown_Subclass) is private; function Nil return Library_Object; function Is_Nil (The_Object : Library_Object) return Boolean; function In_Text (The_Object : Library_Object) return String; function Subclass_Of (The_Object : Library_Object) return Subclass_Enumeration; function Equal (Subclass1, Subclass2 : Subclass_Enumeration) return Boolean; function Image (The_Subclass : Subclass_Enumeration) return String; function Value (S : String) return Subclass_Enumeration; type Iterator is private; procedure Reset (Iter : in out Iterator); procedure Next (Iter : in out Iterator); function Done (Iter : Iterator) return Boolean; function Value (Iter : Iterator) return Library_Object; package Any_Object is function Is_Library (Any_Object : Library_Object) return Boolean; function Is_C_Unit (Any_Object : Library_Object) return Boolean; function Is_Unix_File (Any_Object : Library_Object) return Boolean; function Make_Library_Object (The_Name : String; The_Subclass : Subclass_Enumeration := Object_Management_System.Unix_File_Subclass) return Library_Object; procedure Create (The_Object : in out Library_Object; The_Name : String; The_Subclass : Subclass_Enumeration := Object_Management_System.Unix_File_Subclass); procedure Move (The_Object : in out Library_Object; New_Name : String); procedure Delete (The_Object : in out Library_Object); function Enclosing_Library (The_Object : Library_Object) return Library_Object; function Image (The_Object : Library_Object) return String; -- la fonction image renvoie une string contenant dans l'ordre : -- "nom_de_l_objet etat subclass type function Value (The_String : String) return Library_Object; -- renvoie le library_object qui correspond a la ligne donnee en -- parametre. -- Ceci en tenant compte de l'ordre indique pour la fonction image. end Any_Object; package Library is type Library_Kind is (Not_A_Library, A_Directory, Subsystem_Spec, Subsystem_Body); function Kind (The_Library : Library_Object) return Library_Kind; function Image (The_Kind : Library_Kind) return String; function Is_Directory (The_Library : Library_Object) return Boolean; function Is_Subsystem_Spec (The_Library : Library_Object) return Boolean; function Is_Subsystem_Body (The_Library : Library_Object) return Boolean; function Root return Library_Object; function Home return Library_Object; function Enclosing_Library return Library_Object; procedure Create (The_Library : in out Library_Object; Name : String; Kind : Library_Kind); function Child (The_Library : Library_Object; Child_Name : String) return Library_Object; function Children (The_Library : Library_Object; Subclass : Subclass_Enumeration := Object_Management_System.Unknown_Subclass) return Iterator; end Library; package C_Unit is type Unit_Kind is (Not_A_C_Unit, C_Main, C_Spec, C_Body); type Unit_State is (Nonexistent, Source, Compiled, Linked); function Image (The_Unit_Kind : Unit_Kind) return String; function Image (The_Unit_State : Unit_State) return String; function Kind (The_C_Unit : Library_Object) return Unit_Kind; function State (The_C_Unit : Library_Object) return Unit_State; function Is_Spec (The_C_Unit : Library_Object) return Boolean; function Is_Body (The_C_Unit : Library_Object) return Boolean; function Is_Main (The_C_Unit : Library_Object) return Boolean; function Is_Source (The_C_Unit : Library_Object) return Boolean; function Is_Compiled (The_C_Unit : Library_Object) return Boolean; function Is_Linked (The_C_Unit : Library_Object) return Boolean; procedure Create (The_C_Unit : in out Library_Object; Name : String; Kind : Unit_Kind); end C_Unit; package Unix_View is function Get_Iterator_On_Files return Directory.Iterator; function Image (The_Object : Directory.Object) return String; -- renvoie une string contenant les informations dans l'ordre suivant : -- "nom_du_fichier type droits proprietaire taille -- date_de_derniere_modification" function Value (The_String : String) return Directory.Object; -- renvoie le directory.object (le fichier) correspondant a la -- ligne donnee en parametre. -- Utilise l'ordre defini ci_dessus pour retrouver cette ligne function Library_Object_Of (The_Object : Directory.Object) return Library_Object; -- renvoie le library_object correspondant au directory_object donnee -- en parametre end Unix_View; private package Gs is new Our_Generic_String (Default_Maximal_Length => 256); type Library_Object (Subclass : Subclass_Enumeration := Unknown_Subclass) is record Name : Gs.Object; case Subclass is when Library_Subclass => Unix_Library : Directory.Object := Directory.Nil; Kind : Library.Library_Kind; when C_Unit_Subclass => C_Kind : C_Unit.Unit_Kind; C_State : C_Unit.Unit_State; Source_File : Directory.Object := Directory.Nil; Object_File : Directory.Object := Directory.Nil; Exec_File : Directory.Object := Directory.Nil; when Unix_File_Subclass => Unix_File : Directory.Object := Directory.Nil; when Unknown_Subclass => null; when others => Unix_Object : Directory.Object := Directory.Nil; end case; end record; Maximal_Element_Number : constant := 256; type Iterator is new Natural range 0 .. Maximal_Element_Number; end Object_Management_System;
nblk1=a nid=0 hdr6=14 [0x00] rec0=1e rec1=00 rec2=01 rec3=00a [0x01] rec0=1f rec1=00 rec2=06 rec3=03a [0x02] rec0=17 rec1=00 rec2=09 rec3=03a [0x03] rec0=21 rec1=00 rec2=07 rec3=00c [0x04] rec0=01 rec1=00 rec2=0a rec3=00c [0x05] rec0=1b rec1=00 rec2=04 rec3=000 [0x06] rec0=1d rec1=00 rec2=05 rec3=002 [0x07] rec0=03 rec1=00 rec2=02 rec3=044 [0x08] rec0=1a rec1=00 rec2=03 rec3=066 [0x09] rec0=11 rec1=00 rec2=08 rec3=000 tail 0x21721d32883ad3545a69b 0x42a00088462060003