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

⟦64ad14c3b⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Messages, seg_054899

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 Bounded_String;
with Std_Types;
use Std_Types;

package Messages is
--    Dmax : constant := 2;
--    Tmax : constant := 3;
--    Pmax : constant := 200;
--    Sfix : constant := Tmax * 3 + Dmax;
--    Mmax : constant := Pmax - Sfix;
    --  Cmax : constant := [expression];


    package Bs renames Bounded_String;

--    type V_Packet is new Bounded_String.Variable_String (Pmax);
--    type V_String is new Bounded_String.Variable_String (Mmax);
    V_Null : V_String := V_String (Bs.Value ("vide", Mmax));
    type Object is private;
    type Type_Message is (Registration, Unregistration, Query,
                          Request, Notification, Forward,
                          Publication, Unpublication, Subscription,
                          Unsubscription, Filtration, Unfiltration);

    function Create (Typ : Type_Message;
                     Msg : V_String;
                     Source : Natural;
                     Target : Natural;
                     Order : Natural) return Object;

    function Image (Obj : Object) return V_Packet;

    procedure Send (Typ : Type_Message;
                    Msg : V_String := V_Null;
                    Source : Natural := 0;
                    Target : Natural := 0;
                    Order : Natural := 0);
    procedure Receive;

    function Get_Type_Msg (Msg : String) return Type_Message;
    function Get_Source_Id (Msg : String) return Natural;
    function Get_Target_Id (Msg : String) return Natural;
    function Get_Order_Msg (Msg : String) return Natural;
    function Get_Content_Msg (Msg : String) return String;
    function Get_Type_Str_Msg (Msg : String) return String;
    procedure Watch_Pack (V_Str : V_Packet);

private  
    type Object is
        record  
            Type_Msg : String (1 .. Dmax) := " 1";
            Source_Id : String (1 .. Tmax) := "  0";
            Target_Id : String (1 .. Tmax) := "999";
            Order_Msg : String (1 .. Tmax) := "111";
            Content : V_String :=
               V_String (Bs.Value (S => String'(1 .. Mmax => '-'),
                                   Max_Length => Mmax));  
            Packet : V_Packet := V_Packet
                                    (Bs.Value (S => String'(1 .. Pmax => '+'),
                                               Max_Length => Pmax));
        end record;
end Messages;


E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=1d rec1=00 rec2=01 rec3=04c
        [0x01] rec0=1a rec1=00 rec2=02 rec3=024
        [0x02] rec0=0a rec1=00 rec2=03 rec3=000
    tail 0x2175d9cae87b886cf8bab 0x42a00088462060003