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

⟦ad8bd399d⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Req_Id_Manager, seg_055a4a

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



package body Req_Id_Manager is

    procedure Initialize (Tab : out Object) is
    begin
        Tab.Element (Positive'First) := False;
        Tab.Is_Full := False;
        Tab.Number_Of_Element := 0;
    end Initialize;

    function Get_Is_Empty (Tab : Object) return Boolean is
    begin
        return (Tab.Number_Of_Element = 0);
    end Get_Is_Empty;

    procedure Get (Tab : in out Object; Req_Id : in out Positive) is
    begin  
        begin
            Tab.Number_Of_Element := Tab.Number_Of_Element + 1;
            Req_Id := Positive'First;
            while Tab.Element (Req_Id) /= False loop
                Req_Id := Req_Id + 1;  
            end loop;
            Tab.Element (Req_Id) := True;
            if Req_Id =
               (Positive'Last -
                1) then          -- Positive'last utilise pour un champ null_request
                Tab.Is_Full := True;
            end if;
        exception
            when Constraint_Error =>
                while Tab.Is_Full /= False loop
                    null;
                end loop;
                Req_Id := Positive'First;
        end;
    end Get;

    procedure Delete (Tab : in out Object; Req_Id : Positive) is
    begin  
        begin
            Tab.Element (Req_Id) := False;
            Tab.Is_Full := False;  
            Tab.Number_Of_Element := Tab.Number_Of_Element - 1;
        exception
            when Constraint_Error =>
                Tab.Number_Of_Element := 0;
        end;
    end Delete;

end Req_Id_Manager;

E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=1f rec1=00 rec2=01 rec3=036
        [0x01] rec0=15 rec1=00 rec2=02 rec3=001
    tail 0x2176089c687bf5292a7a7 0x42a00088462060003