DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦787a21ee6⟧ Ada Source

    Length: 14336 (0x3800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Library_Extensions, seg_03be4e

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Cmvc;
with Debug_Tools;
with Directory;
with Directory_Tools;
with Ftp;
with Ftp_Defs;
with Ftp_Profile;
with Library_Interface;
with Log;
with Polymorphic_Io;
with Profile;
with Remote_Command_Interface;
with String_Utilities;
with Switch_Implementation;

with Trace_Rci_Commands;

package body Library_Extensions is

    package Naming renames Directory.Naming;
    package Su     renames String_Utilities;
    package Dt     renames Directory_Tools;
    package Object renames Directory_Tools.Object;
    package Rci    renames Remote_Command_Interface;

    Target_Key_Id : constant String := "M68k_Sunos_Vdx";


    -- =========================
    -- Non-Visable Declarations
    -- =========================

    procedure Set_Status  
                 (Status     : in out Simple_Status.Condition;
                  Error_Type :        String := "Remote_Operation_Error";
                  Message    :        String;
                  Severity   :        Simple_Status.Condition_Class :=
                     Simple_Status.Problem) is separate;


    procedure Unhandled_Exception  
                 (Status  : in out Simple_Status.Condition;
                  Routine :        String) is separate;


    procedure Acquire_Connection  
                 (Remote_Connection : in out Rci.Context;
                  Remote_Machine    :        String;
                  Status            : in out Simple_Status.Condition)  
                  is separate;


    procedure Display_Information  
                 (Remote_Machine_Name   : String;
                  Remote_Directory_Name : String  
                  ) is separate;


    procedure Set_Context  
                 (Old_Context : in out Naming.Context;
                  View        :        String;
                  Status      : in out Simple_Status.Condition) is separate;


    procedure Reset_Context  
                 (Old_Context : Directory.Naming.Context) is separate;


    procedure Create_Program_Library  
                 (Host_View              :        String;
                  Remote_Directory       :        String;
                  Remote_Program_Library :        String;
                  Remote_Machine         :        String;
                  Status                 : in out Simple_Status.Condition)  
                  is separate;


    function Immediate_Imports
                (For_View : String)  
                return Directory_Tools.Object.Iterator is separate;


    procedure File_Exists  
                 (Remote_Filename   :        String;
                  Remote_Machine    :        String;
                  Remote_Connection : in out Rci.Context;
                  Status            : in out Simple_Status.Condition;
                  Exists            : out    Boolean) is separate;


    procedure Directory_Exists  
                 (Remote_Machine    :        String;
                  Remote_Directory  :        String;  
                  Remote_Connection : in out Rci.Context;
                  Status            : in out Simple_Status.Condition;
                  Exists            : out    Boolean) is separate;


    procedure Create_Remote_Directory  
                 (Remote_Directory  :        String;
                  Remote_Machine    :        String;
                  Remote_Connection : in out Rci.Context;
                  Status            : in out Simple_Status.Condition)  
                  is separate;


    procedure Create_Remote_Directory
                 (Remote_Directory :        String;
                  Remote_Machine   :        String;
                  Status           : in out Simple_Status.Condition) is

        Remote_Connection  : Remote_Command_Interface.Context;
        Local_Status       : Simple_Status.Condition;
        Create_Dir_Command : constant String := "mkdir " & Remote_Directory;

    begin
        Log.Put_Line  
           (Message => "Creating remote directory = " & Remote_Directory,
            Kind    => Profile.Debug_Msg);

        if not Simple_Status.Error (Status) then
            Acquire_Connection  
               (Remote_Connection => Remote_Connection,
                Remote_Machine    => Remote_Machine,
                Status            => Status);
        end if;

        if not Simple_Status.Error (Status) then
            Create_Remote_Directory  
               (Remote_Directory  => Remote_Directory,
                Remote_Machine    => Remote_Machine,
                Remote_Connection => Remote_Connection,
                Status            => Status);
        end if;

        if Simple_Status.Error (Status) then
            Log.Put_Line  
               (Message => Simple_Status.Message (Status),
                Kind    => Profile.Negative_Msg);
            Set_Status  
               (Status  => Status,
                Message => "Unable to create the remote directory, " &
                              Remote_Directory & ".");
        end if;

        Rci.Release (Remote_Connection => Remote_Connection,
                     Status            => Local_Status,
                     Trace_Command     => Trace_Rci_Commands);

    exception
        when others =>
            Unhandled_Exception (Status, "Create_Remote_Directory");
            begin
                Rci.Release  
                   (Remote_Connection => Remote_Connection,
                    Status            => Local_Status,
                    Trace_Command     => Trace_Rci_Commands);
            exception
                when others =>
                    null;
            end;

    end Create_Remote_Directory;



    procedure Make_Path_Preprocess  
                 (Host_Path_Name         :        String;
                  Remote_Machine         :        String;
                  Remote_Directory       :        String;
                  Remote_Program_Library :        String;
                  Status                 : in out Simple_Status.Condition)  
                  is separate;


    procedure Make_Path_Postprocess  
                 (Host_Path_Name         :        String;
                  Remote_Machine         :        String;
                  Remote_Directory       :        String;
                  Remote_Program_Library :        String;
                  Status                 : in out Simple_Status.Condition)  
                  is separate;


    procedure Destroy_View_Preprocess
                 (Host_Path_Name :        String;
                  Status         : in out Simple_Status.Condition) is separate;


    procedure Destroy_View_Postprocess
                 (Host_Path_Name :        String;
                  Status         : in out Simple_Status.Condition) is separate;


    procedure Acquire_Visibility  
                 (Imported_View     :        String;
                  Into_View         :        String;
                  Remote_Connection :        Rci.Context;
                  Status            : in out Simple_Status.Condition)  
                  is separate;


    procedure Import_Preprocess
                 (Views_To_Import :        Directory.Naming.Iterator;
                  Into_View       :        String;
                  Status          : in out Simple_Status.Condition) is separate;


    procedure Import_Postprocess
                 (Views_To_Import :        Directory.Naming.Iterator;
                  Into_View       :        String;
                  Status          : in out Simple_Status.Condition) is separate;


    procedure Remove_Import_Preprocess
                 (View_To_Remove :        Directory.Object;
                  From_View      :        String;
                  Status         : in out Simple_Status.Condition) is separate;


    procedure Remove_Import_Postprocess
                 (View_To_Remove :        Directory.Object;
                  From_View      :        String;
                  Status         : in out Simple_Status.Condition) is separate;


    procedure Release_Preprocess  
                 (From_Working_View      :        String;
                  Released_View          :        String;
                  Remote_Machine         :        String;
                  Remote_Directory       :        String;
                  Remote_Program_Library :        String;
                  Status                 : in out Simple_Status.Condition)  
                  is separate;


    procedure Release_Postprocess  
                 (View_To_Remove         :        String;
                  Released_View          :        String;
                  Remote_Machine         :        String;
                  Remote_Directory       :        String;
                  Remote_Program_Library :        String;
                  Status                 : in out Simple_Status.Condition)  
                  is separate;


    procedure Link_Preprocess
                 (Main_Unit       :        String;
                  Executable_Name :        String;
                  Status          : in out Simple_Status.Condition) is separate;


    procedure Link_Postprocess
                 (Main_Unit       :        String;
                  Executable_Name :        String;
                  Status          : in out Simple_Status.Condition) is separate;


    procedure Download_File  
                 (Host_File_Name   :        String;
                  Target_File_Name :        String;
                  Remote_Directory :        String;
                  Remote_Machine   :        String;
                  Status           : in out Simple_Status.Condition)  
                  is separate;


    procedure Build_List_File  
                 (Host_View              :        String;
                  Remote_Machine         :        String;
                  Remote_Directory       :        String;
                  Remote_Program_Library :        String;
                  List_File_Name         :        String;
                  Status                 : in out Simple_Status.Condition)  
                  is separate;


    procedure Upload_File  
                 (Host_File_Name   :        String;
                  Target_File_Name :        String;
                  Remote_Directory :        String;
                  Remote_Machine   :        String;
                  Status           : in out Simple_Status.Condition)  
                  is separate;


end Library_Extensions;

E3 Meta Data

    nblk1=d
    nid=0
    hdr6=1a
        [0x00] rec0=26 rec1=00 rec2=01 rec3=016
        [0x01] rec0=00 rec1=00 rec2=0d rec3=016
        [0x02] rec0=1d rec1=00 rec2=02 rec3=046
        [0x03] rec0=1a rec1=00 rec2=03 rec3=056
        [0x04] rec0=16 rec1=00 rec2=04 rec3=08c
        [0x05] rec0=00 rec1=00 rec2=0c rec3=00c
        [0x06] rec0=1c rec1=00 rec2=05 rec3=004
        [0x07] rec0=1c rec1=00 rec2=06 rec3=02c
        [0x08] rec0=1a rec1=00 rec2=07 rec3=00a
        [0x09] rec0=18 rec1=00 rec2=08 rec3=000
        [0x0a] rec0=16 rec1=00 rec2=09 rec3=050
        [0x0b] rec0=1b rec1=00 rec2=0a rec3=03c
        [0x0c] rec0=13 rec1=00 rec2=0b rec3=000
    tail 0x21739be28856575048ad2 0x42a00088462062803