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

⟦7638554a2⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Reseau, seg_040d1e

Derivation

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

E3 Source Code



with Device_Independent_Io;
with Terminal_Specific;

package body Reseau is

    Adresse_Reseau_Inconnu : exception;

    function Port_Reseau (L_Adresse : Integer) return String is
    begin
        case L_Adresse is
            when 1 =>
                return Port_1;
            when 2 =>
                return Port_2;
            when 3 =>
                return Port_3;
            when 4 =>
                return Port_4;
            when 5 =>
                return Port_5;

            when others =>
                raise Adresse_Reseau_Inconnu;
        end case;
    end Port_Reseau;


    procedure Envoyer_Trame
                 (La_Trame : in System.Byte_String; L_Adresse : Integer) is

        F_Out : Terminal_Specific.File_Type;

    begin

        Device_Independent_Io.Open (File => F_Out,
                                    Mode => Device_Independent_Io.Out_File,
                                    Name => Port_Reseau (L_Adresse),
                                    Form => "");

        Device_Independent_Io.Write (File => F_Out, Item => La_Trame);

        Device_Independent_Io.Close (File => F_Out);

    end Envoyer_Trame;


    procedure Recevoir_Trame (La_Trame : out System.Byte_String;
                              La_Taille_Trame, L_Adresse : Integer) is

        F_In : Terminal_Specific.File_Type;
        B : System.Byte;

    begin

        Device_Independent_Io.Open (File => F_In,
                                    Mode => Device_Independent_Io.In_File,
                                    Name => Port_Reseau (L_Adresse),
                                    Form => "");

        Terminal_Specific.Input.Set_Editing (File => F_In, Mode => "None");
        Terminal_Specific.Input.Set_Echo (File => F_In, Echo => False);

        for I in 0 .. La_Taille_Trame - 1 loop
            Device_Independent_Io.Read (F_In, B);
            La_Trame (I) := B;
        end loop;

        Device_Independent_Io.Close (File => F_In);

    end Recevoir_Trame;

end Reseau;

E3 Meta Data

    nblk1=4
    nid=3
    hdr6=6
        [0x00] rec0=26 rec1=00 rec2=01 rec3=06e
        [0x01] rec0=1d rec1=00 rec2=02 rec3=00a
        [0x02] rec0=07 rec1=00 rec2=04 rec3=000
        [0x03] rec0=0d rec1=00 rec2=04 rec3=000
    tail 0x2153b7b5a86125f582d1e 0x42a00088462060003
Free Block Chain:
  0x3: 0000  00 00 00 08 80 05 20 20 20 20 20 05 20 20 20 20  ┆                ┆