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

⟦39701c069⟧ Ada Source

    Length: 8192 (0x2000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, seg_00b50f

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



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_ame) 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 No_Free_Connections =>
            RETURN "NO_FREE_CONNECTIONS";
         WHEN Not_Registered =>
            RETURN "NOT_REGISTERED";
         WHEN Network_Unreachable =>
            RETURN "NETWORK_UNREACHABLE";
         WHEN Host_Unreachable =>
            RETURN "HOST_UNREACHABLE";
         WHEN Protocol_Not_Supported =>
            RETURN "PROTOCOL_NOT_SUPPORTED";
         WHEN No_Such_Socket =>
            RETURN "NO_SUCH_SOCKET";
         WHEN OTHERS =>
            RETURN ("Transport.Status_Code" & Status_Code'Image (Status));
      END CASE;
   END Image;

BEGIN
   Upperfy := Initialize_Upperfy;
END Transport_Defs;

E3 Meta Data

    nblk1=7
    nid=0
    hdr6=e
        [0x00] rec0=20 rec1=00 rec2=01 rec3=04a
        [0x01] rec0=00 rec1=00 rec2=07 rec3=004
        [0x02] rec0=22 rec1=00 rec2=02 rec3=04e
        [0x03] rec0=00 rec1=00 rec2=06 rec3=002
        [0x04] rec0=23 rec1=00 rec2=03 rec3=026
        [0x05] rec0=1c rec1=00 rec2=04 rec3=028
        [0x06] rec0=1a rec1=00 rec2=05 rec3=000
    tail 0x21708356681fa701a8061 0x489e0066482863c01