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

⟦7bb15844e⟧ Ada Source

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

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 System;

package Dfs is

    type Error_Actions is (Ignore_Errors, Report_Errors, Die_On_Errors);

    type Open_Options is (Must_Exist, Need_Not_Exist, Must_Not_Exist);

    type Dfs_Status is (Fs_Ok, Bad_Filename, File_Does_Not_Exist,
                        File_Is_Not_Open, Disk_Full, Directory_Full,
                        File_Allready_Exists, Cant_Rename,
                        Cant_Delete, Page_Error, Slice_Error,
                        Bad_Address, Disk_Error, No_Labels, No_Dos,
                        No_Disk, Dfs_Ok, Env_Ok, Env_Name_Error,
                        Env_Already_Exists, Env_Status_Error, Env_Use_Error);

    type Fs_Status is new Dfs_Status range Dfs_Status'First .. No_Disk;

    type Env_Status is new Dfs_Status range Env_Ok .. Dfs_Status'Last;

    type Raw_Block_Data is array (0 .. 1023) of System.Byte;


    type Fs_Handle is private;


    procedure Dfs_Open (Filename : in String;
                        Open_Opt : Open_Options := Must_Exist;
                        Err_Opt : Error_Actions;
                        Handle : in out Fs_Handle;
                        Status : in out Fs_Status);

    -- Allows an environment user to open a DFS file.  At this
    -- point in time, writing is not supported to the DFS; and
    -- thus, Open_Opt is limited to the Must_Exist option.

    procedure Dfs_Read (Handle : in out Fs_Handle;
                        Err_Action : in Error_Actions;
                        Block : out Raw_Block_Data;
                        Status : in out Fs_Status);

    -- Allows an environment level user to read a previously Dfs_Open(ed)
    -- DFS file.  This routine returns the blocks in the file in
    -- a sequential order, in 1023 byte chunks.

    procedure Dfs_Copy (Dfs_Filename : in String;
                        Env_Filename : in String;
                        Allow_Overwrite : Boolean := False);

    -- Allows a DFS file to be copied to a user specified environment
    -- file.  If Allow_Overwrite is defaulted (False) the file must
    -- not exist in the environment.  Any errors (Dfs file doesn't
    -- exist, etc) will be reported via messages to the message window.

    procedure Dfs_Make_Copy (Dfs_Filename : in String;
                             Env_Filename : in String;
                             Status : in out Dfs_Status;
                             Allow_Overwrite : Boolean := False);

    -- Allows a DFS file to be copied to a user specified environment
    -- file.  If Allow_Overwrite is defaulted (False) the file must
    -- not exist in the environment. Make_Copy is designed to be used
    -- from within another procedure, not in a user's command window.
    -- Any errors will be returned via the Status parameter.

    procedure Dfs_Directory (Filename : String := "@"; Full : Boolean := False);

    -- Produce a directory listing of the specified files in the DFS.
    -- Both "@" and "*" work as wildcards in the filename specification.

private
    type Fs_Handle_Entry;

    type Fs_Handle is access Fs_Handle_Entry;
end Dfs;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=1d rec1=00 rec2=01 rec3=03a
        [0x01] rec0=16 rec1=00 rec2=02 rec3=04e
        [0x02] rec0=13 rec1=00 rec2=03 rec3=01c
        [0x03] rec0=07 rec1=00 rec2=04 rec3=001
    tail 0x21701dcea81c04b1c4b52 0x42a00088462060003