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

⟦a59d78f60⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Iterator, package body Logger_Interface, seg_020252

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 Text_Io;
with System;
package body Logger_Interface is

    procedure Init_C;
    pragma Interface (C, Init_C);
    pragma Interface_Information (Init_C, ".LogInit");

    procedure Create_C;
    pragma Interface (C, Create_C);
    pragma Interface_Information (Create_C, ".LogCreate");


    procedure Put_C (C_Message : System.Address);
    pragma Interface (C, Put_C);
    pragma Interface_Information (Put_C, ".LogPut");

    procedure Close_C;
    pragma Interface (C, Close_C);
    pragma Interface_Information (Close_C, ".LogClose");

    type Char_P is access Character;

    function Get_Message_C return Char_P;
    pragma Interface (C, Get_Message_C);
    pragma Interface_Information (Get_Message_C, ".LogGetMessage");


    procedure Init is
    begin
        Init_C;
    end Init;

    procedure Put (Message : String) is
        C_Message : constant String := Message & Ascii.Nul;
    begin
        Put_C (C_Message => C_Message (C_Message'First)'Address);
    end Put;

    procedure Close is
    begin
        Close_C;
    end Close;

    procedure Create is
    begin
        Create_C;
    end Create;

    function Get_Message return String is
        P : Char_P;
    begin
        P := Get_Message_C;
        Text_Io.Put (P.all);
        Text_Io.Put_Line ("get message: ^");
        return "toto";
    end Get_Message;


    package body Iterator is
        procedure Init is
        begin
            Iter_Init_C;
        end Init;


        function Done return Boolean is
        begin
            if Iter_Done_C = 1 then
                return True;
            else
                return False;
            end if;
        end Done;


        procedure Next is
        begin
            Iter_Next_C;
        end Next;


        function Value return Character is
        begin
            return Iter_Value_C;
        end Value;
    end Iterator;



end Logger_Interface;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=26 rec1=00 rec2=01 rec3=03e
        [0x01] rec0=31 rec1=00 rec2=02 rec3=024
        [0x02] rec0=06 rec1=00 rec2=03 rec3=000
    tail 0x2151c2b2e83896fe4776a 0x42a00088462060003