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

⟦607e19e0f⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Dfs, seg_012b2e

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 Calendar;
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 Close_Options is (Close, Rename, Delete);

    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 Open (Filename : in String;
                    Open_Opt : Open_Options := Must_Exist;
                    Size : in Integer;
                    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 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 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 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 Display (Dfs_Filename : in String);

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

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

    procedure File_Info (Handle : in Fs_Handle;
                         Size : out Integer;
                         Kernel : out Boolean;
                         Program : out Boolean;
                         No_Deletion : out Boolean;
                         Created : out Basetype.Fs_Time);

    --
    procedure Close (Option : Dfs.Close_Options;
                     Action : Dfs.Error_Actions;
                     New_Name : String;
                     Status : in out Dfs.Fs_Status;
                     Handle : in out Dfs.Fs_Handle);

    --
    procedure Write_File (Dfs_Filename : String;
                          Env_Filename : String;
                          Status : in out Dfs.Dfs_Status);

    --
    --
    procedure Read_Last (Handle : in out Fs_Handle;
                         Err_Action : in Error_Actions;
                         Block : in out Raw_Block_Data;
                         Size : in out Integer;
                         Status : in out Fs_Status);


    procedure Show_Revision (Verbose : Boolean := False);

    -- reports current revision level of the DFS.
    --
    -- Verbose => False - only the revision level is return
    -- Verbose => True  - reports both revision level and any release
    --                    note information for that revision.



    function Get_Current_Revision return String;

    -- returns a string containing the current revision level of the DFS
    -- value returned is of the form "DFS D3.0"

    procedure Show_Iop_Kernel_Revision;

    -- Report the current revision information of the IOP Kernel

    function Iop_Kernel_Revision return String;

    -- Returns a string containing the current revision information
    -- for the IOP Kernel.
    -- Null string is returned if the information can not be retrieved




private
    type Fs_Handle_Entry;

    type Fs_Handle is access Fs_Handle_Entry;
end Dfs;

E3 Meta Data

    nblk1=6
    nid=0
    hdr6=c
        [0x00] rec0=1d rec1=00 rec2=01 rec3=034
        [0x01] rec0=19 rec1=00 rec2=02 rec3=024
        [0x02] rec0=14 rec1=00 rec2=03 rec3=064
        [0x03] rec0=1b rec1=00 rec2=04 rec3=008
        [0x04] rec0=1d rec1=00 rec2=05 rec3=01c
        [0x05] rec0=0a rec1=00 rec2=06 rec3=000
    tail 0x2170e640482b14dbe9a21 0x42a00088462060003