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

⟦0fd82a971⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Action, pragma Module_Name 4 902, pragma Subsystem Om_Mechanisms, seg_012857

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 Low_Level_Action;
with Machine;

package Action is

    package Lla renames Low_Level_Action;

    subtype Id is Lla.Id;
    Null_Id : constant Id := Lla.Null_Id;

    function "=" (A, B : Id) return Boolean renames Lla."=";

    function Hash (The_Action : Id) return Integer renames Lla.Hash;

    subtype Mode is Lla.Mode;

    None      : constant Mode := Lla.None;
    Read      : constant Mode := Lla.Read;
    Update    : constant Mode := Lla.Update;
    Overwrite : constant Mode := Lla.Overwrite;

    function "=" (A, B : Mode) return Boolean renames Lla."=";

    pragma Consume_Offset;
    function Is_In_Progress (Of_Action : Id) return Boolean
        renames Lla.Is_In_Progress;



    -- methods of starting an action
    -- action_parameter  = null_id (if present) ==> returns a new action
    -- mode parameter(s) = none    (if present) ==> returns Bogus action

    pragma Consume_Offset;

    function Start (Task_Id : Machine.Task_Id := Machine.Get_Task_Id) return Id
        renames Lla.Get_Id;

    function Start (Action_Parameter : Action.Id;
                    Task_Id : Machine.Task_Id := Machine.Get_Task_Id) return Id;

    function Start (Action_Parameter : Id;
                    Access_Mode : Mode;
                    Task_Id : Machine.Task_Id := Machine.Get_Task_Id) return Id;

    function Start (Action_Parameter : Id;
                    Access_Mode_1 : Mode;
                    Access_Mode_2 : Mode;
                    Task_Id : Machine.Task_Id := Machine.Get_Task_Id) return Id;


    -- methods of finishing an action
    -- do_commit controls whether the action is committed or abandoned
    -- do_inform controls whether object managers are automatically informed
    -- the second form finishes if and only if Action_Parameter /= Null_Id
    procedure Finish (The_Action : in out Action.Id;
                      Do_Commit  :        Boolean;
                      Do_Inform  :        Boolean := True);

    procedure Finish (Action_Parameter :        Action.Id;
                      Action_Local     : in out Action.Id;
                      Do_Commit        :        Boolean;
                      Do_Inform        :        Boolean := True);

    procedure Prevent_Commit (The_Action : Id) renames Lla.Prevent_Commit;
    Commit_Prevented : exception renames Lla.Commit_Prevented;

    pragma Subsystem (Om_Mechanisms);
    pragma Module_Name (4, 902);

end Action;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=25 rec1=00 rec2=01 rec3=03c
        [0x01] rec0=00 rec1=00 rec2=04 rec3=01a
        [0x02] rec0=16 rec1=00 rec2=02 rec3=046
        [0x03] rec0=0e rec1=00 rec2=03 rec3=000
    tail 0x2150d8c2682b0817df944 0x42a00088462065003