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

⟦4f536de02⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Bfs, seg_0286b3

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 Basetype;
with Bounded_String;
with Dfs;
with Fslabels;
with String_Utilities;
with System;


package Bfs is  
    procedure Define_Data_Format (Format : in out Basetype.Iop_Kind);
    function Hash_Filename
                (Filename : Bounded_String.Variable_String) return Integer;

    function Determine_Iop_Kind return Basetype.Iop_Kind;
    --
    procedure Report_Fs_Status (Status : Dfs.Fs_Status);
    procedure Fs_Read (Fib_Entry : in Basetype.Fib;
                       Page : in Basetype.File_Page;
                       Offset : in Basetype.Page_Offset;
                       Length : in Basetype.Page_Length;
                       Action : in Dfs.Error_Actions;
                       Data_Block : out Dfs.Raw_Block_Data;
                       Status : in out Dfs.Fs_Status);
    procedure Fs_Uinit (U : Basetype.Disk_Unit_Number;
                        Status : in out Dfs.Fs_Status);
    procedure Fs_Read_Numbered_Block (Block_Number : Integer;
                                      Action : in Dfs.Error_Actions;
                                      Data_Block : out Dfs.Raw_Block_Data;
                                      Status : in out Dfs.Fs_Status);
    procedure Fs_Read_Dir_Block (Block_Number : Integer;
                                 Action : in Dfs.Error_Actions;
                                 Data_Block : out Basetype.Fib_Block;
                                 Status : in out Dfs.Fs_Status);
    procedure Fs_Write (Fib_Entry : in Basetype.Fib;
                        Page : in Basetype.File_Page;
                        Offset : in Basetype.Page_Offset;
                        Length : in Basetype.Page_Length;
                        Action : in Dfs.Error_Actions;
                        Data_Block : in Dfs.Raw_Block_Data;
                        Status : in out Dfs.Fs_Status);
    procedure Fs_Write_Numbered_Block (Block_Number : Integer;
                                       Action : in Dfs.Error_Actions;
                                       Data_Block : in Dfs.Raw_Block_Data;
                                       Status : in out Dfs.Fs_Status);
    procedure Fs_Write_Dir_Block (Block_Number : Integer;
                                  Action : in Dfs.Error_Actions;
                                  Data_Block : in Basetype.Fib_Block;
                                  Status : in out Dfs.Fs_Status);


    procedure Read_Labels;
    procedure Write_Labels (Fs_Label : Fslabels.Dfs_Label);
    procedure Fs_Errmess (Status : in Dfs.Fs_Status;
                          Status_Value : in out Bounded_String.Variable_String);

    procedure Handle_Non_Ok_Status (Status : in out Dfs.Fs_Status;
                                    Action : in Dfs.Error_Actions;
                                    Info : in Bounded_String.Variable_String);
    procedure Fs_Dir (Args : String; Full : Boolean := False);

    type Fs_Iterator is private;
    procedure Init (Iter : in out Fs_Iterator; Template : String);
    procedure Next (Iter : in out Fs_Iterator;
                    Fname : in out Bounded_String.Variable_String);
    function Done (Iter : Fs_Iterator) return Boolean;

private
    type Fs_Iterator is
        record
            Template : Bounded_String.Variable_String (30);
            Key : Integer;
            Fib_Index : Integer;
            Fibblock : Basetype.Fib_Block;
        end record;

end Bfs;


E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=1b rec1=00 rec2=01 rec3=06a
        [0x01] rec0=10 rec1=00 rec2=02 rec3=062
        [0x02] rec0=14 rec1=00 rec2=03 rec3=022
        [0x03] rec0=10 rec1=00 rec2=04 rec3=001
    tail 0x2172248f483c188c10c48 0x42a00088462060003