DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 4952 (0x1358) Types: TextFile Names: »B«
└─⟦bad92a95e⟧ Bits:30000535 8mm tape, Rational 1000, RPC 1_0_2 └─ ⟦bb34fe6e2⟧ »DATA« └─⟦15d8b76c6⟧ └─⟦this⟧
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 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;