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

⟦d674f3038⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Com_Orb_Emet, seg_056ad4

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;
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 ("Communication : emission 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;
        Data_Length : Natural := 0;

    begin  
        Init_Emet (Connection);
        loop
            Status_Fifo := False;
            while Status_Fifo = False loop
                Com_Storage_Fifo.Fifo.Read (Data_Message, Adr_Dest, Appli_Dest,
                                            Data_Length, Status_Fifo);
            end loop;
            loop  
                Transport.Connect (Connection, Status, Adr_Dest,
                                   Socket_Dest, Duration'Last);
                exit when Transport.Is_Connected (Connection) = True;
            end loop;  
            Data_Mes_Length := Byte_Defs.Byte (Data_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;
            Transport.Transmit (Connection, Status, Data_Transmit_Orb,
                                Count, Duration'Last);
            Transport.Disconnect (Connection);
        end loop;
        Transport.Close (Connection);
    end Orb_Emet;
end Com_Orb_Emet;

E3 Meta Data

    nblk1=5
    nid=5
    hdr6=8
        [0x00] rec0=17 rec1=00 rec2=01 rec3=02c
        [0x01] rec0=00 rec1=00 rec2=03 rec3=020
        [0x02] rec0=18 rec1=00 rec2=02 rec3=020
        [0x03] rec0=14 rec1=00 rec2=04 rec3=000
        [0x04] rec0=0b rec1=00 rec2=05 rec3=000
    tail 0x21763133a87c53dd238fa 0x42a00088462060003
Free Block Chain:
  0x5: 0000  00 00 01 fb 80 0a 65 73 74 5f 41 70 70 6c 69 3b  ┆      est_Appli;┆