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

⟦e175998a7⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Log, package body X_Io, package body Xterm, seg_017dbf

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 Rpc_Defs;
with Rpc_Client;
with Transport_Defs;
with Transport_Interchange;
with Transport_Name;
with Transport_Stream;
with Unbounded_String;
package body X_Io is

    package Us is new Unbounded_String;

    Remote_Host : constant Transport_Defs.Host_Id :=
       Transport_Name.Host_To_Host_Id ("Belladone");

    procedure Start_Request is  
       new Rpc_Client.Start_Request_Generic
              (Default_Network => Rpc_Defs.Network,
               Default_Host => Remote_Host,
               Default_Socket => Rpc_Defs.Socket,
               Default_Program => Rpc_Defs.Program,
               Default_Version => Rpc_Defs.Version);

    procedure End_Request (Stream : Transport_Stream.Stream_Id)
        renames Rpc_Client.End_Request;

    package body Xterm is
        type Object_Implementation is
            record
                Host : Us.Variable_String;
                Display : Us.Variable_String;
            end record;
       Xterm_Pool : array (1 .. 100) of Object_Implementation;


        procedure Create (Terminal : out Xterm.Object;
                          Host : String;
                          Display : String := "0") is
            Stream : Transport_Stream.Stream_Id;
        begin  
            Terminal := null;
            Start_Request (Stream => Stream,
                           Proc => Rpc_Defs.Proc_Number.Xterm.Create);
            Transport_Interchange.Put_String (Into => Stream, Data => Host);
            -- Transport_Interchange.Put_String (Into => Stream, Data => ":0");
            End_Request (Stream);  
            Rpc_Client.End_Response (Stream);
        end Create;


        procedure Close (Terminal : Xterm.Object) is
            Stream : Transport_Stream.Stream_Id;
        begin
            Start_Request (Stream => Stream,
                           Proc => Rpc_Defs.Proc_Number.Xterm.Close);
            End_Request (Stream);
            Rpc_Client.End_Response (Stream);
        end Close;


        procedure Put (Terminal : Xterm.Object; What : String) is
            Stream : Transport_Stream.Stream_Id;
        begin
            Start_Request (Stream => Stream,
                           Proc => Rpc_Defs.Proc_Number.Xterm.Put);
            Transport_Interchange.Put_String (Into => Stream, Data => What);
            End_Request (Stream);
            Rpc_Client.End_Response (Stream);
        end Put;

    end Xterm;

    package body Log is
        type Object_Implementation is
            record
                Host : Us.Variable_String;
                Display : Us.Variable_String;
            end record;

        Log_Pool : array (1 .. 100) of Object_Implementation;


        procedure Create (Logger : out Log.Object;
                          Host : String;
                          Display : String := "0") is
            Stream : Transport_Stream.Stream_Id;
        begin
            Logger := null;
            Start_Request (Stream => Stream,
                           Proc => Rpc_Defs.Proc_Number.Log.Create);
            Transport_Interchange.Put_String (Into => Stream, Data => Host);
            -- Transport_Interchange.Put_String (Into => Stream, Data => ":0");
            End_Request (Stream);  
            Rpc_Client.End_Response (Stream);
        end Create;


        procedure Close (Logger : Log.Object) is
            Stream : Transport_Stream.Stream_Id;
        begin
            Start_Request (Stream => Stream,
                           Proc => Rpc_Defs.Proc_Number.Log.Close);
            End_Request (Stream);
            Rpc_Client.End_Response (Stream);
        end Close;


        procedure Put (Logger : Log.Object; What : String) is
            Stream : Transport_Stream.Stream_Id;
        begin
            Start_Request (Stream => Stream,
                           Proc => Rpc_Defs.Proc_Number.Log.Put);
            Transport_Interchange.Put_String (Into => Stream, Data => What);
            End_Request (Stream);
            Rpc_Client.End_Response (Stream);
        end Put;
    end Log;
    procedure Initialize is
        Stream : Transport_Stream.Stream_Id;
    begin
        Start_Request (Stream => Stream,
                       Proc => Rpc_Defs.Proc_Number.Initialize);
        End_Request (Stream);
        Rpc_Client.End_Response (Stream);
    end Initialize;

end X_Io;

E3 Meta Data

    nblk1=6
    nid=0
    hdr6=c
        [0x00] rec0=22 rec1=00 rec2=01 rec3=002
        [0x01] rec0=18 rec1=00 rec2=05 rec3=022
        [0x02] rec0=1f rec1=00 rec2=04 rec3=008
        [0x03] rec0=03 rec1=00 rec2=06 rec3=04e
        [0x04] rec0=1a rec1=00 rec2=03 rec3=00e
        [0x05] rec0=0b rec1=00 rec2=02 rec3=000
    tail 0x21714a736834f73b2bf25 0x42a00088462060003