DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦b3b5d7678⟧ TextFile

    Length: 3622 (0xe26)
    Types: TextFile
    Names: »V«

Derivation

└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
    └─ ⟦124ff5788⟧ »DATA« 
        └─⟦this⟧ 
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
    └─ ⟦6f12a12be⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

-------------------------------------------------------------------------------
with Umps_Defs;
with Direct_Io;  
with Slot;
with Request;
with Notice;


package Database is

    type Actions is (Interested, Performed, Both);
    type States  is (Lock, Unlock, Both);


    procedure Open;
    procedure Close;


    procedure Put (The_Element : Request.Element;
                   Action      : Actions := Performed;
                   Status      : States  := Unlock);
    procedure Put (The_Element : Notice.Element);


    type Iter_Request is private;

    procedure Init (Iter     : in out Iter_Request;
                    On       :        Request.Element;
                    Field    :        Slot.Fields := Slot.On_Value;
                    Action   :        Actions := Interested;
                    State    :        States := Unlock;
                    Behavior :        Umps_Defs.Behavior_Number :=
                       Umps_Defs.Any_Behaviors);
    function  Done (Iter : Iter_Request) return Boolean;
    procedure Value (Iter        :     Iter_Request;
                     The_Element : out Request.Element;
                     Action      : out Actions;
                     State       : out States);
    procedure Replace (Iter        : Iter_Request;
                       The_Element : Request.Element;
                       With_Action : Actions := Performed;
                       With_State  : States  := Unlock);
    procedure Next (Iter : in out Iter_Request);


    type Iter_Notice is private;

    procedure Init (Iter     : in out Iter_Notice;
                    On       :        Notice.Element;
                    Field    :        Slot.Fields := Slot.On_Value;
                    Behavior :        Umps_Defs.Behavior_Number :=  
                       Umps_Defs.Any_Behaviors);
    function  Done (Iter : Iter_Notice) return Boolean;
    procedure Value (Iter : Iter_Notice; The_Element : out Notice.Element);
    procedure Replace (Iter : Iter_Notice; The_Element : Notice.Element);
    procedure Next (Iter : in out Iter_Notice);


    Iterator_Error : exception;

    Already_Open_Error      : exception;
    Not_Open_Error          : exception;
    Too_Many_Requests_Error : exception;
    Too_Many_Notices_Error  : exception;
    Integrity_Error         : exception;
    Device_Error            : exception;
    Internal_Error          : exception;

    procedure Display;
    procedure Destroy;


-------------------------------------------------------------------------------
private

    type Request_Data is
        record
            State       : States;
            Action      : Actions;
            The_Element : Request.Element;
        end record;

    type Notice_Data is
        record  
            The_Element : Notice.Element;
        end record;

    package Request_Io is new Direct_Io (Request_Data);
    package Notice_Io  is new Direct_Io (Notice_Data);

    type Iter_Request is
        record
            Condition_Data : Request.Element;
            Count          : Request_Io.Count := Request_Io.Count'First;
            Field          : Slot.Fields      := Slot.On_Value;
            State          : States           := Unlock;
            Action         : Actions          := Performed;
        end record;

    type Iter_Notice is
        record
            Condition_Data : Notice.Element;
            Count          : Notice_Io.Count := Notice_Io.Count'First;
            Field          : Slot.Fields     := Slot.On_Value;
        end record;

end Database;
-------------------------------------------------------------------------------