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

⟦0b4f4296b⟧ TextFile

    Length: 4495 (0x118f)
    Types: TextFile
    Names: »TRANSPORT_DEFS_BODY«

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

package body Transport_Defs is

    type Character_Map is array (Character) of Character;

    Upperfy : Character_Map;

    function Initialize_Upperfy return Character_Map is
        Answer : Character_Map;
        Shift : constant := Character'Pos ('A') - Character'Pos ('a');
    begin
        for I in Answer'Range loop
            Answer (I) := I;
        end loop;

        for I in 'a' .. 'z' loop
            Answer (I) := Character'Val (Character'Pos (I) + Shift);
        end loop;

        return Answer;
    end Initialize_Upperfy;

    function Normalize (S : String) return String is
        Answer : String (S'Range);
        First : Positive := S'First;
        Last : Natural := S'Last;
    begin
        while First <= Last and then S (First) = ' ' loop
            First := First + 1;
        end loop;

        while First <= Last and then S (Last) = ' ' loop
            Last := Last - 1;
        end loop;

        for I in First .. Last loop
            Answer (I) := Upperfy (S (I));
        end loop;

        return Answer (First .. Last);
    end Normalize;

    function Hash (S : String) return Natural is
        Answer : Natural := 0;
    begin
        for I in S'Range loop
            Answer := (Answer mod (Natural'Last - 128)) + Character'Pos (S (I));
        end loop;

        return Answer;
    end Hash;

    function Normalize (S : Byte_Defs.Byte_String)
                       return Byte_Defs.Byte_String is
        First : Integer := S'First;
        Last : Integer := S'Last;
    begin
        while First <= Last and then Byte_Defs."=" (S (First), 0) loop
            First := First + 1;
        end loop;

        return S (First .. Last);
    end Normalize;

    function Hash (S : Byte_Defs.Byte_String) return Natural is
        Answer : Natural := 0;
    begin
        for I in S'Range loop
            Answer := (Answer mod (Natural'Last - 256)) + Natural (S (I));
        end loop;

        return Answer;
    end Hash;

    function Normalize (Value : Network_Name) return Network_Name is
    begin
        return Network_Name (Normalize (String (Value)));
    end Normalize;

    function Hash (Value : Network_Name) return Natural is
    begin
        return Hash (String (Value));
    end Hash;

    function Normalize (Value : Host_Id) return Host_Id is
    begin
        return Host_Id (Normalize (Byte_Defs.Byte_String (Value)));
    end Normalize;

    function Hash (Value : Host_Id) return Natural is
    begin
        return Hash (Byte_Defs.Byte_String (Value));
    end Hash;

    function Normalize (Value : Socket_Id) return Socket_Id is
    begin
        return Socket_Id (Normalize (Byte_Defs.Byte_String (Value)));
    end Normalize;

    function Hash (Value : Socket_Id) return Natural is
    begin
        return Hash (Byte_Defs.Byte_String (Value));
    end Hash;

    function Image (Status : Status_Code) return String is
    begin
        case Status is
            when Ok =>
                return "OK";
            when No_Local_Resources =>
                return "NO_LOCAL_RESOURCES";
            when No_Free_Sockets =>
                return "NO_FREE_SOCKETS";
            when No_Free_Memory =>
                return "NO_FREE_MEMORY";
            when Not_Open =>
                return "NOT_OPEN";
            when Not_Connected =>
                return "NOT_CONNECTED";
            when Too_Many_Clients =>
                return "TOO_MANY_CLIENTS";
            when Timed_Out =>
                return "TIMED_OUT";
            when No_Such_Host =>
                return "NO_SUCH_HOST";
            when Connection_Refused =>
                return "CONNECTION_REFUSED";
            when Disconnected =>
                return "DISCONNECTED";
            when Connection_Broken =>
                return "CONNECTION_BROKEN";
            when No_Hardware =>
                return "NO_HARDWARE";
            when No_Such_Network =>
                return "NO_SUCH_NETWORK";
            when Not_Initialized =>
                return "NOT_INITIALIZED";
            when Not_Downloaded =>
                return "NOT_DOWNLOADED";
            when Socket_In_Use =>
                return "SOCKET_IN_USE";
            when Access_Denied =>
                return "ACCESS_DENIED";
            when others =>
                return ("unknown error (code =" &
                        Status_Code'Image (Status) & ")");
        end case;
    end Image;

begin
    Upperfy := Initialize_Upperfy;
end Transport_Defs;