|
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: 18432 (0x4800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Dir, seg_027c54, seg_027cef
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Directory; with Text_Io; with Calendar; with Time_Utilities; procedure Dir is Obj, Obj1, Obj2, The_Copy : Directory.Object; Parent : Directory.Object; Path : constant String := "/home/aconit/projects/umps/directory/test"; Item : Character; begin begin Directory.Any_Object.Open (The_Object => Obj, Object_Name => Path); exception when Directory.Non_Existent_Object_Error => begin Text_Io.Put_Line ("Le repertoire " & Path & " va etre cree ..."); Directory.Any_Object.Create (The_Object => Obj, Object_Name => Path, Object_Class => Directory.Directory_Class, Object_Owner_Permissions => Directory.Statistics.R_W_X_Permission, Object_Group_Permissions => Directory.Statistics.R_W_Permission, Object_Other_Permissions => Directory.Statistics.R_W_Permission); exception when others => Text_Io.Put_Line ("Le repertoire " & Path & "n'a pas pu etre cree..."); return; end; end; declare I : Directory.Iterator; T : Calendar.Time; begin I := Directory.Traversal.Children (The_Object => Obj, Pattern => "*", Class => Directory.Unknown_Class); Text_Io.New_Line; Text_Io.Put_Line ("Le repertoire " & Directory.Naming.Full_Name (Obj) & " est constitue des fichiers suivant :"); while not Directory.Done (Iter => I) loop Obj1 := Directory.Value (Iter => I); T := Directory.Statistics.Time_Of_Last_Update (The_Object => Obj1); Text_Io.Put_Line (Directory.Naming.Simple_Name (The_Object => Obj1) & " " & Directory.Image (The_Class => Directory.Class (The_Object => Obj1)) & Directory.Statistics.Image (The_Permissions => Directory.Statistics.Owner_Permissions (The_Object => Obj1)) & Directory.Statistics.Image (The_Permissions => Directory.Statistics.Group_Permissions (The_Object => Obj1)) & Directory.Statistics.Image (The_Permissions => Directory.Statistics.Other_Permissions (The_Object => Obj1)) & " " & Time_Utilities.Image (Date => Time_Utilities.Convert_Time (T), Date_Style => Time_Utilities.Day_Month_Year, Time_Style => Time_Utilities.Short, Contents => Time_Utilities.Both) & " " & Integer'Image (Directory.Statistics.Object_Size (The_Object => Obj1))); Directory.Next (Iter => I); end loop; Directory.Naming.Set_Default_Context ("/home/aconit/projects/umps/directory"); Text_Io.New_Line; Text_Io.Put_Line ("Le context courant va etre le repertoire suivant : " & Directory.Naming.Full_Name (Directory.Naming.Default_Context)); Text_Io.Put ("Appuyer une touche pour continuer..."); Text_Io.Get (Item); Text_Io.New_Line; Text_Io.Put_Line ("Copy du repertoire " & Directory.Naming.Full_Name (Obj) & " dans le repertoire 'test_bis'"); begin Directory.Any_Object.Copy (Source => Obj, Destination_Name => "test_bis", Destination => The_Copy); Text_Io.Put_Line ("La copy a reussie dans le repertoire " & Directory.Naming.Full_Name (The_Object => The_Copy)); exception when Directory.System_Error => Text_Io.Put_Line ("Erreur system : " & Directory.Get_Error_Message); when others => Text_Io.Put_Line ("Erreur rencontree lors de la copie ..."); end; Text_Io.New_Line; Text_Io.Put_Line ("Le repertoire " & Directory.Naming.Full_Name (The_Copy) & " a ete cree et contient le(s) fichier(s) suivant(s) :"); I := Directory.Traversal.Children (The_Object => The_Copy, Pattern => "*", Class => Directory.Unknown_Class); while not Directory.Done (Iter => I) loop Obj1 := Directory.Value (Iter => I); T := Directory.Statistics.Time_Of_Last_Update (The_Object => Obj1); Text_Io.Put_Line (Directory.Naming.Simple_Name (The_Object => Obj1) & " " & Directory.Image (The_Class => Directory.Class (The_Object => Obj1)) & Directory.Statistics.Image (The_Permissions => Directory.Statistics.Owner_Permissions (The_Object => Obj1)) & Directory.Statistics.Image (The_Permissions => Directory.Statistics.Group_Permissions (The_Object => Obj1)) & Directory.Statistics.Image (The_Permissions => Directory.Statistics.Other_Permissions (The_Object => Obj1)) & " " & Time_Utilities.Image (Date => Time_Utilities.Convert_Time (T), Date_Style => Time_Utilities.Day_Month_Year, Time_Style => Time_Utilities.Short, Contents => Time_Utilities.Both) & " " & Integer'Image (Directory.Statistics.Object_Size (The_Object => Obj1))); Directory.Next (Iter => I); end loop; Text_Io.New_Line; Text_Io.Put ("Appuyer une touche pour continuer..."); Text_Io.Get (Item); Text_Io.New_Line; Directory.Any_Object.Open (The_Object => Obj2, Object_Name => "test_bis/test2/test_file"); Parent := Directory.Traversal.Parent (The_Object => Obj2); Text_Io.Put_Line ("Le repertoire " & Directory.Naming.Full_Name (Parent) & " contient le(s) fichier(s) suivant(s)"); I := Directory.Traversal.Children (The_Object => Parent, Pattern => "*", Class => Directory.Unknown_Class); while not Directory.Done (Iter => I) loop Obj1 := Directory.Value (Iter => I); T := Directory.Statistics.Time_Of_Last_Update (The_Object => Obj1); Text_Io.Put_Line (Directory.Naming.Simple_Name (The_Object => Obj1) & " " & Directory.Image (The_Class => Directory.Class (The_Object => Obj1)) & Directory.Statistics.Image (The_Permissions => Directory.Statistics.Owner_Permissions (The_Object => Obj1)) & Directory.Statistics.Image (The_Permissions => Directory.Statistics.Group_Permissions (The_Object => Obj1)) & Directory.Statistics.Image (The_Permissions => Directory.Statistics.Other_Permissions (The_Object => Obj1)) & " " & Time_Utilities.Image (Date => Time_Utilities.Convert_Time (T), Date_Style => Time_Utilities.Day_Month_Year, Time_Style => Time_Utilities.Short, Contents => Time_Utilities.Both) & " " & Integer'Image (Directory.Statistics.Object_Size (The_Object => Obj1))); Directory.Next (Iter => I); end loop; Text_Io.New_Line; Text_Io.Put ("Appuyer une touche pour continuer..."); Text_Io.Get (Item); Text_Io.New_Line; Text_Io.Put_Line ("Le fichier " & Directory.Naming.Full_Name (Obj2) & " vient d'etre efface"); Directory.Any_Object.Delete (The_Object => Obj2); Text_Io.Put_Line ("Le repertoire " & Directory.Naming.Full_Name (Parent) & " vient d'etre efface"); Directory.Any_Object.Delete (The_Object => Parent); Text_Io.New_Line; Text_Io.Put_Line ("Le contenu du repertoire " & Directory.Naming.Full_Name (The_Copy) & " est donc maintenant le suivant :"); I := Directory.Traversal.Children (The_Object => The_Copy, Pattern => "*", Class => Directory.Unknown_Class); while not Directory.Done (Iter => I) loop Obj1 := Directory.Value (Iter => I); T := Directory.Statistics.Time_Of_Last_Update (The_Object => Obj1); Text_Io.Put_Line (Directory.Naming.Simple_Name (The_Object => Obj1) & " " & Directory.Image (The_Class => Directory.Class (The_Object => Obj1)) & Directory.Statistics.Image (The_Permissions => Directory.Statistics.Owner_Permissions (The_Object => Obj1)) & Directory.Statistics.Image (The_Permissions => Directory.Statistics.Group_Permissions (The_Object => Obj1)) & Directory.Statistics.Image (The_Permissions => Directory.Statistics.Other_Permissions (The_Object => Obj1)) & " " & Time_Utilities.Image (Date => Time_Utilities.Convert_Time (T), Date_Style => Time_Utilities.Day_Month_Year, Time_Style => Time_Utilities.Short, Contents => Time_Utilities.Both) & " " & Integer'Image (Directory.Statistics.Object_Size (The_Object => Obj1))); Directory.Next (Iter => I); end loop; exception when Directory.Non_Existent_Object_Error => Text_Io.Put_Line ("Vous essayer d'ouvrir un fichier non exitant..."); when Directory.Already_Existent_Object_Error => Text_Io.Put_Line ("Vous essayer de creer un fichier deja existent..."); when Directory.System_Error => Text_Io.Put_Line ("Erreur system : " & Directory.Get_Error_Message); end; end Dir; pragma Main;
nblk1=11 nid=2 hdr6=18 [0x00] rec0=1b rec1=00 rec2=01 rec3=008 [0x01] rec0=17 rec1=00 rec2=0d rec3=094 [0x02] rec0=11 rec1=00 rec2=0c rec3=010 [0x03] rec0=15 rec1=00 rec2=05 rec3=05e [0x04] rec0=18 rec1=00 rec2=06 rec3=010 [0x05] rec0=11 rec1=00 rec2=0a rec3=00c [0x06] rec0=15 rec1=00 rec2=09 rec3=026 [0x07] rec0=13 rec1=00 rec2=10 rec3=02c [0x08] rec0=12 rec1=00 rec2=0b rec3=02a [0x09] rec0=1a rec1=00 rec2=11 rec3=04c [0x0a] rec0=11 rec1=00 rec2=0f rec3=016 [0x0b] rec0=16 rec1=00 rec2=03 rec3=000 [0x0c] rec0=18 rec1=00 rec2=0b rec3=000 [0x0d] rec0=0d rec1=00 rec2=08 rec3=000 [0x0e] rec0=00 rec1=00 rec2=00 rec3=019 [0x0f] rec0=00 rec1=00 rec2=00 rec3=000 [0x10] rec0=00 rec1=00 rec2=00 rec3=000 tail 0x21721911e83ac3a86ff10 0x42a00088462060003 Free Block Chain: 0x2: 0000 00 0e 00 05 80 02 61 72 02 03 04 05 06 07 20 20 ┆ ar ┆ 0xe: 0000 00 07 00 c1 00 49 20 20 20 20 20 20 20 20 20 20 ┆ I ┆ 0x7: 0000 00 08 00 11 80 02 29 3b 02 00 09 20 20 20 20 20 ┆ ); ┆ 0x8: 0000 00 04 00 f0 80 2a 20 20 20 20 20 20 20 20 20 20 ┆ * ┆ 0x4: 0000 00 00 00 04 80 01 26 01 02 03 70 6c 65 5f 4e 61 ┆ & ple_Na┆