|
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: 7437 (0x1d0d) Types: TextFile Names: »B«
└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13 └─⟦124ff5788⟧ »DATA« └─⟦this⟧ └─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─⟦129cab021⟧ »DATA« └─⟦this⟧ └─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16 └─⟦6f12a12be⟧ »DATA« └─⟦this⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─⟦d65440be7⟧ »DATA« └─⟦this⟧
with Ada_C; with Host_Name; with Low_Level_Message; with Socket_Defs; with Socket_Port; with System; with Text_Io; package body Physical_Layer is procedure Get_Host_Name_C (The_Buffer : in System.Address; The_Buffer_Length : Integer); pragma Interface (C, Get_Host_Name_C); pragma Interface_Information (Get_Host_Name_C, ".gethostname"); procedure Get_Host_Name (The_Host_Name : in out Host_Name.Object) is Tmp : constant String (1 .. 20) := (others => ' '); -- Tmp : constant String (1 .. Host_Name.Max_Range'Last) := -- (others => ' '); begin The_Host_Name := Host_Name.Create (Tmp); Get_Host_Name_C (The_Host_Name.The_String (The_Host_Name.The_String'First)'Address, Host_Name.Max_Range'Last); end Get_Host_Name; procedure Close_Socket_C (The_Socket_Id : Socket_Defs.Socket_Id); pragma Interface (C, Close_Socket_C); pragma Interface_Information (Close_Socket_C, ".Close_Socket"); procedure Close_Socket (The_Socket_Id : Socket_Defs.Socket_Id) is begin Close_Socket_C (The_Socket_Id); end Close_Socket; procedure Create_Socket_C (The_Socket_Port : System.Address; The_Socket_Type : Integer; The_New_Socket : System.Address); pragma Interface (C, Create_Socket_C); pragma Interface_Information (Create_Socket_C, ".Create_Socket"); procedure Create_Socket (The_Socket_Port : in out Socket_Port.Object; The_Socket_Type : in Integer; The_New_Socket : out Socket_Defs.Socket_Id) is The_Value_Of_The_Socket_Port : Natural; begin The_Value_Of_The_Socket_Port := Socket_Port.Value (The_Socket_Port); Create_Socket_C (The_Value_Of_The_Socket_Port'Address, The_Socket_Type, The_New_Socket'Address); The_Socket_Port := Socket_Port.Create (The_Value_Of_The_Socket_Port); end Create_Socket; function Create_Server_C (The_Server_Socket_Port : Natural) return Socket_Defs.Socket_Id; pragma Interface (C, Create_Server_C); pragma Interface_Information (Create_Server_C, ".Create_Server"); function Create_Server (The_Server_Socket_Port : in Socket_Port.Object) return Socket_Defs.Socket_Id is The_Value_Of_The_Server_Socket_Port : Natural; The_Result : Socket_Defs.Socket_Id; begin The_Value_Of_The_Server_Socket_Port := Socket_Port.Value (The_Server_Socket_Port); return Create_Server_C (The_Value_Of_The_Server_Socket_Port); end Create_Server; function Server_Wait_For_A_Connection_C (The_Listen_Socket : Socket_Defs.Socket_Id) return Socket_Defs.Socket_Id; pragma Interface (C, Server_Wait_For_A_Connection_C); pragma Interface_Information (Server_Wait_For_A_Connection_C, ".Server_Wait_For_A_Connection"); function Server_Wait_For_A_Connection (The_Listen_Socket : in Socket_Defs.Socket_Id) return Socket_Defs.Socket_Id is begin return Server_Wait_For_A_Connection_C (The_Listen_Socket); end Server_Wait_For_A_Connection; function Join_Server_C (The_Server_Name : System.Address; The_Server_Name_Length : Natural; The_Server_Socket_Port : Natural) return Socket_Defs.Socket_Id; pragma Interface (C, Join_Server_C); pragma Interface_Information (Join_Server_C, ".Join_Server"); function Join_Server (The_Server_Name : in Host_Name.Object; The_Server_Socket_Port : in Socket_Port.Object) return Socket_Defs.Socket_Id is The_Value_Of_The_Server_Socket_Port : Natural; begin The_Value_Of_The_Server_Socket_Port := Socket_Port.Value (The_Server_Socket_Port); return Join_Server_C (The_Server_Name.The_String (The_Server_Name.The_String'First)'Address, The_Server_Name.The_Size, The_Value_Of_The_Server_Socket_Port); end Join_Server; procedure Send_String_C (The_Remote_Socket_Id : Socket_Defs.Socket_Id; The_Buffer_To_Send : System.Address; The_Length_Of_Buffer_To_Send : Integer; The_Number_Of_Characters_Sent : System.Address); pragma Interface (C, Send_String_C); pragma Interface_Information (Send_String_C, ".Send_String"); procedure Send_String (The_Remote_Socket_Id : in Socket_Defs.Socket_Id; The_Buffer_To_Send : in out Low_Level_Message.Object; The_Number_Of_Characters_Sent : out Integer ) is The_C_Buffer : constant String := Ada_C.String_Ada_To_C (The_Buffer_To_Send.The_String); begin Text_Io.Put_Line ("Physical_layer).Send_String : Before sending.)"); Send_String_C (The_Remote_Socket_Id, The_C_Buffer (The_C_Buffer'First)'Address, The_Buffer_To_Send.The_Size, The_Number_Of_Characters_Sent'Address); Text_Io.Put_Line ("Physical_layer).Send_String : After sending : End.)"); end Send_String; procedure Receive_String_C (The_Remote_Socket_Id : Socket_Defs.Socket_Id; The_Buffer_To_Receive : System.Address; The_Length_Of_Buffer_To_Receive : Integer; The_Number_Of_Caracteres_Received : System.Address); pragma Interface (C, Receive_String_C); pragma Interface_Information (Receive_String_C, ".Receive_String"); procedure Receive_String (The_Remote_Socket_Id : in Socket_Defs.Socket_Id; The_Buffer_To_Receive : in out Low_Level_Message.Object; The_Number_Of_Characters_Received : in out Integer) is The_Tmp_Received_Buffer : Low_Level_Message.Object; begin Text_Io.Put_Line ("Physical_layer).Receive_String : Before receiving.)"); Receive_String_C (The_Remote_Socket_Id, The_Tmp_Received_Buffer.The_String (The_Tmp_Received_Buffer.The_String'First)'Address, The_Tmp_Received_Buffer.The_Size, The_Number_Of_Characters_Received'Address); Text_Io.Put_Line ("Physical_layer).Receive_String : After receiving ...)"); The_Buffer_To_Receive := Low_Level_Message.Create (The_Tmp_Received_Buffer.The_String (1 .. The_Number_Of_Characters_Received)); Text_Io.Put_Line ("Physical_layer).Receive_String : End.)"); -- Receive_String_C (The_Remote_Socket_Id, The_Buffer_To_Receive (The_Buffer_To_Receive'First)'Address, -- The_Length_Of_Buffer_To_Receive, The_Number_Of_Caracteres_Received'Address); end Receive_String; end Physical_Layer;