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 - metrics - download
Index: T V

⟦2d2725642⟧ TextFile

    Length: 2909 (0xb5d)
    Types: TextFile
    Names: »V«

Derivation

└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
    └─⟦5cb1d1d7f⟧ »DATA« 
        └─⟦3b1ee7bd8⟧ 
            └─⟦this⟧ 

TextFile

with File_Io;
with System_Utilities;

package Kermit_Defs is

    subtype Bits_Per_Second is Natural;
    Current_Speed : constant Bits_Per_Second := 0;
    subtype Bits_Per_Byte is System_Utilities.Character_Bits_Range;
    type Bcc_Length is range 1 .. 3;
    subtype Control_Character is Character; -- range Nul .. Us & Del;
    type File_Mode is
       new File_Io.File_Mode range File_Io.Create .. File_Io.Append;
    type File_Kind is new File_Io.File_Kind;
    type Flow_Control_Type is (Current, None, Xon_Xoff, Dtr_Cts);
    type Parity_Type is (Current, None, Even, Odd, Mark);
    -- None means 8 data bits per byte, other values mean 7 bits per byte.
    subtype Port_Number is Natural; -- denotes an RS-232 or Telnet port.
    Current_Port : constant Port_Number := 0;
    -- this special value denotes the port that the caller logged in on.
    subtype Printing_Character is Character range ' ' .. '~';

    type Physical_Options is
        record
            Flow_Control : Flow_Control_Type := Current;
            Parity : Parity_Type := Current;
            Speed : Bits_Per_Second := Current_Speed;  
            Bits : Bits_Per_Byte := 8;
            -- Kermit will transmit more data bits if possible, but received
            -- excess bits will be discarded (set to 0).  Bits < 7 is not
            -- useful; neither Kermit packets nor alphabetic ASCII characters
            -- will fit into 6 bits.
        end record;

    type Packet_Options is
        record
            Start_Of_Packet : Control_Character := Ascii.Soh;
            End_Of_Packet : Control_Character := Ascii.Cr;
            Packet_Length : Positive := 94;
            Control : Printing_Character := '#';
            Timeout : Duration := 3.0;
            Padding : Natural := 0;
            Padchar : Control_Character := Ascii.Nul;
        end record;

    type Options is
        record
            Kind : File_Kind := Kermit_Defs.Text; --, binary
            Mode : File_Mode := Kermit_Defs.Create; --, overwrite, append
            Delay_Send : Duration := 3.0; -- before starting to send
            Retries : Natural := 20; -- max times to retransmit a packet
            Pause : Duration := 0.0; -- silent time between packets
            Transmit : Packet_Options;
            Receive : Packet_Options;
            Repeat : Printing_Character := '~';
            Binary : Printing_Character := 'Y';
            Block_Check : Bcc_Length := 1;
            Physical : Physical_Options;
            Debugging : Boolean := False;
        end record;

    package Default is
        Packet_Options : Kermit_Defs.Packet_Options; -- pseudo-constant
        Options : Kermit_Defs.Options;               -- pseudo-constant
        -- If Options.Physical.Bits < 8, then set Options.Binary = '&'
        -- to transfer binary data.
    end Default;

    function Image (O : Options) return String;

end Kermit_Defs;