DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦ecd9223d1⟧ TextFile

    Length: 4719 (0x126f)
    Types: TextFile
    Names: »V«

Derivation

└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
    └─ ⟦fc9b38f02⟧ »DATA« 
        └─⟦9b46a407a⟧ 
            └─⟦12c68c704⟧ 
                └─⟦this⟧ 
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS 
    └─ ⟦91c658230⟧ »DATA« 
        └─⟦458657fb6⟧ 
            └─⟦220843204⟧ 
                └─⟦this⟧ 

TextFile

package Tape is

    procedure Rewind (Drive : Natural := 0);
    procedure Unload (Drive : Natural := 0);

    procedure Read_Mt (Drive : Natural := 0);
    procedure Write_Mt (File : String := "<SELECTION>";
                        Indirect : Boolean := True;
                        Drive : Natural := 0);

    procedure Read (Volume : String;
                    Directory : String := "$";
                    Options : String := "R1000 Add_New_Line";
                    To_Operator : String := "Thank You";
                    Response : String := "<PROFILE>");

    -- The specified volume is mounted and all files are read into the
    -- given directory.

    -- Options are:

    --  FORMAT = R1000 | MV | VAX/VMS

    --  ADD_NEW_LINE
    --      Add a line terminator following each record read from tape.
    --      Without this option, bytes are copied from tape without
    --      interpretation or modification.


    -- Notes on mapping of tape names to R1000 file names
    --
    -- The file name from the tape is processed by replacing strings
    -- of non-alpha-numeric characters with a single '_'.  Then,
    -- if the name ends with an '_', the character 'B' is appended
    -- to the name.  If the name contains no alpha-numeric
    -- characters, a name derived from the user name and time is generated.

    procedure Write (Files : String := "$@";
                     Volume : String := "";
                     Options : String := "R1000 Text_Files";
                     To_Operator : String := "Thank You";
                     Response : String := "<PROFILE>");

    -- The specified Volume is mounted and the specified files are
    -- written to the volume.

    -- The To_Operator string is displayed to the operator when the
    -- request to mount the tape is made.

    -- Options are:

    --    Text_Files          If Text_Files is specified, the file is assumed
    --                        to contain only characters, line_terminators,
    --                        page_terminators, etc.  Each line of the file
    --                        is written to a record on the tape. Lines are
    --                        read according to the same rules as
    --                        Text_Io.Get_Line.

    --    Label               an optional part of the label written
    --                        to the volume header.
    --    Format              Target system (no abbreviations):
    --                           R1000, MV, or VAX/VMS
    --                           [Default: R1000]
    --    Record_Format       Ansi record format:
    --                           FIXED_LENGTH, VARIABLE_LENGTH or SPANNED
    --                           [Default: VARIABLE_LENGTH]
    --    Record_Length       A positive integer. [Default: 512]
    --    Block_Length        A positive integer. [Default: 2048]

    -- The file name that goes on the tape is generated as follows:
    --
    -- First, if the object is an Ada Unit, then "V_" or "B_" are prepended
    -- to the name if the unit is an Ada spec or body, respectively.
    -- Then, '_' characters in the name are removed.  One exception
    -- to this is that if the name ends in "_xyz", that underscore is
    -- replaced with '.', yielding a filename that will end in ".xyz".
    -- VAX/VMS bound file names are shortened to 9 characters;  others
    -- are shortened to 17 characters.  If, after removing '_' characters,
    -- the name is too long, vowels are removed starting at the right end
    -- of the name (excluding the suffix).  Then, if the name
    -- is still too long, it is truncated (again, excluding the ".xyz"
    -- suffix, if any).
    --
    -- Finally, to produce a unique name (with respect to others going on to
    -- the tape), 'A' characters are inserted in front of the suffix, if any,
    -- (preserving the ".xyz" suffix) and then these characters are
    -- incremented alphabetically until the name is unique.

    -- Thus, "An_Interesting_Name_Txt" becomes (if not VAX/VMS bound),
    --       "AnInterstngNm.Txt"

    Error : exception;

    procedure Examine_Labels (Vol_Id : String := "";
                              Vol_Set_Name : String := "";
                              To_Operator : String := "Thank you";
                              Volume_Labels_Only : Boolean := True);

    procedure Format_Tape (Drive : Natural := 0; Vol_Id : String := "");

    procedure Display_Tape (Drive : Natural := 0;
                            Marks_To_Skip : Integer := 0;
                            Records_To_Skip : Integer := 0;
                            Blocks_To_Display : Natural := 10);


    pragma Subsystem (Input_Output);
    pragma Module_Name (4, 3927);

end Tape;