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

⟦e6c2a324f⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Com_Orb_Emet, seg_055cfb

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 Transport, Transport_Defs, Text_Manager, Utils,
     Byte_Defs, Host_Id_Io, Com_Defs, Com_Storage_Fifo;
--Com_Storage_Socket;
package body Com_Orb_Emet is
    procedure Init_Emet (Init_Connection : in out Transport.Connection_Id) is
        Status : Transport_Defs.Status_Code;
        Network_Name : constant Transport_Defs.Network_Name := "TCP/IP";
        Count : Natural;
    begin
        loop
            Transport.Open (Init_Connection, Status, Network_Name);  
            exit when Transport.Is_Open (Init_Connection) = True;
        end loop;
        Text_Manager.Text.Put_Line ("Orb emet is opened");
    end Init_Emet;

    task body Orb_Emet is
        Connection : Transport.Connection_Id;
        Network_Name : constant Transport_Defs.Network_Name := "TCP/IP";
        Host_Dest : constant Transport_Defs.Host_Id :=
           Transport.Local_Host (Network_Name);
        Socket_Dest : Transport_Defs.Socket_Id (1 .. 2) := (10, 49);
        Status : Transport_Defs.Status_Code;
        Count : Natural;
        Data_Message : Com_Defs.V_String;
        Adr_Dest : Transport_Defs.Host_Id (1 .. 4) := (0, 0, 0, 0);
        Appli_Dest : Com_Defs.Com_Number := 0;
        Status_Fifo : Boolean;
        Data_Message_Orb : Byte_Defs.Byte_String (1 .. 255);
        Data_Transmit_Orb : Byte_Defs.Byte_String (1 .. 258);
        Data_Mes_Attrib : Byte_Defs.Byte_String (1 .. 3);
        Data_Mes_Length : Byte_Defs.Byte;
        Data_Mes_Type : Byte_Defs.Byte;
        Data_Dest_Appli : Byte_Defs.Byte;
        Status_Socket : Boolean := False;
    begin
        Init_Emet (Connection);
        --  while Status_Socket = False loop
        --    Com_Storage_Socket.Manager_Socket.Search
        --       (Host_Dest, Socket_Dest, Status_Socket);
        --   end loop;
        --   Status_Socket := False;
        loop
            -- loop
            --    Status_Fifo := False;
            --    while Status_Fifo = False loop
            --       Com_Storage_Fifo.Fifo.Read
            --         (Data_Message, Adr_Dest, Appli_Dest, Status_Fifo);
            --  end loop;
            --  Com_Storage_Socket.Manager_Socket.Search
            --     (Adr_Dest, Socket_Dest, Status_Socket);
            --  if Status_Socket = False then
            --      Text_Manager.Text.Put_Line
            --         ("No socket disponible message deleted");
            --  end if;
            --  exit when Status_Socket;
            --  end loop;
            loop  
                Transport.Connect (Connection, Status, Adr_Dest,
                                   Socket_Dest, Duration'Last);
                Text_Manager.Text.Put_Line ("try to connect emmeteur " &
                                            Transport_Defs.Image (Status));
                exit when Transport.Is_Connected (Connection) = True;
            end loop;
            Data_Mes_Length := Byte_Defs.Byte (Com_Defs.Length (Data_Message));
            Text_Manager.Text.Put_Line
               ("1" & Integer'Image (Integer (Data_Mes_Length)));
            Data_Mes_Type := 1;
            Data_Dest_Appli := Byte_Defs.Byte (Appli_Dest);
            Data_Message_Orb := Utils.String_To_Byte_String
                                   (Com_Defs.Image (Data_Message));
            Data_Transmit_Orb := Byte_Defs."&"
                                    (Data_Mes_Attrib, Data_Message_Orb);
            Data_Transmit_Orb (1) := Data_Mes_Type;
            Data_Transmit_Orb (2) := Data_Dest_Appli;
            Data_Transmit_Orb (3) := Data_Mes_Length;
            Text_Manager.Text.Put_Line ("I am trying to transmit the message");
            Transport.Transmit (Connection, Status, Data_Transmit_Orb,
                                Count, Duration'Last);
            Text_Manager.Text.Put_Line (Transport_Defs.Image (Status));
            Transport.Disconnect (Connection);
        end loop;
        Transport.Close (Connection);
    end Orb_Emet;
end Com_Orb_Emet;

E3 Meta Data

    nblk1=8
    nid=4
    hdr6=e
        [0x00] rec0=18 rec1=00 rec2=01 rec3=020
        [0x01] rec0=00 rec1=00 rec2=08 rec3=008
        [0x02] rec0=18 rec1=00 rec2=07 rec3=004
        [0x03] rec0=00 rec1=00 rec2=05 rec3=024
        [0x04] rec0=13 rec1=00 rec2=06 rec3=022
        [0x05] rec0=12 rec1=00 rec2=02 rec3=018
        [0x06] rec0=02 rec1=00 rec2=03 rec3=000
        [0x07] rec0=68 rec1=7b rec2=c4 rec3=313
    tail 0x2176106d687c069ab60e8 0x42a00088462060003
Free Block Chain:
  0x4: 0000  00 00 00 79 80 0f 74 20 28 43 6f 6e 6e 65 63 74  ┆   y  t (Connect┆