|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 9216 (0x2400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Interface_C, seg_024232
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Socket_Defs;
use Socket_Defs;
with System;
with Ada_C;
package body Interface_C is
procedure Get_Host_Name_C (The_Buffer : System.Address;
The_Buffer_Length : Integer);
pragma Interface (C, Get_Host_Name_C);
pragma Interface_Information (Get_Host_Name_C, ".Get_host_name");
procedure Get_Host_Name (The_Buffer : out String;
The_Buffer_Length : Integer) is
begin
Get_Host_Name_C (The_Buffer (The_Buffer'First)'Address,
The_Buffer_Length);
end Get_Host_Name;
procedure Close_Socket_C (The_Socket_Id : Socket_Id);
pragma Interface (C, Close_Socket_C);
pragma Interface_Information (Close_Socket_C, ".Close_Socket");
procedure Close_Socket (The_Socket_Id : 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;
The_Socket_Type : in Integer;
The_New_Socket : out Socket_Id) is
begin
Create_Socket_C (The_Socket_Port'Address, The_Socket_Type,
The_New_Socket'Address);
end Create_Socket;
function Create_Server_C
(The_Server_Socket_Port : Socket_Port) return 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) return Socket_Id is
begin
return Create_Server_C (The_Server_Socket_Port);
end Create_Server;
function Server_Wait_For_A_Connection_C
(The_Listen_Socket : Socket_Id) return 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_Id) return 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_Socket_Port : Socket_Port) return Socket_Id;
pragma Interface (C, Join_Server_C);
pragma Interface_Information (Join_Server_C, ".Join_Server");
function Join_Server
(The_Server_Name : in String;
The_Server_Socket_Port : in Socket_Port) return Socket_Id is
-- C_Server_Name : constant String :=
-- Ada_C.String_Ada_To_C (The_Server_Name);
begin
-- return Join_Server_C (C_Server_Name (C_Server_Name'First)'Address,
-- The_Server_Socket_Port);
return Join_Server_C (The_Server_Name (The_Server_Name'First)'Address,
The_Server_Socket_Port);
end Join_Server;
procedure Send_String_C (Remote_Socket_Id : Socket_Id;
Buffer_To_Send : System.Address;
Length_Of_Buffer_To_Send : Integer;
Number_Of_Caracteres_Sent : System.Address);
pragma Interface (C, Send_String_C);
pragma Interface_Information (Send_String_C, ".Send_String");
procedure Send_String (Remote_Socket_Id : in Socket_Id;
Buffer_To_Send : in out String;
Length_Of_Buffer_To_Send : in Integer;
Number_Of_Caracteres_Sent : out Integer) is
C_Buffer : constant String := Ada_C.String_Ada_To_C (Buffer_To_Send);
begin
Send_String_C (Remote_Socket_Id, C_Buffer (C_Buffer'First)'Address,
Length_Of_Buffer_To_Send,
Number_Of_Caracteres_Sent'Address);
end Send_String;
procedure Receive_String_C (Remote_Socket_Id : Socket_Id;
Buffer_To_Receive : System.Address;
Length_Of_Buffer_To_Receive : Integer;
Number_Of_Caracteres_Received : System.Address);
pragma Interface (C, Receive_String_C);
pragma Interface_Information (Receive_String_C, ".Receive_String");
procedure Receive_String (Remote_Socket_Id : in Socket_Id;
Buffer_To_Receive : in out String;
Length_Of_Buffer_To_Receive : in Integer;
Number_Of_Caracteres_Received : out Integer) is
C_Buffer : constant String := Ada_C.String_Ada_To_C (Buffer_To_Receive);
begin
-- Receive_String_C (Remote_Socket_Id, C_Buffer (C_Buffer'First)'Address,
-- Length_Of_Buffer_To_Receive,
-- Number_Of_Caracteres_Received'Address);
-- Buffer_To_Receive := Ada_C.String_C_To_Ada
-- (C_Buffer (C_Buffer'First)'Address);
Receive_String_C (Remote_Socket_Id,
Buffer_To_Receive (Buffer_To_Receive'First)'Address,
Length_Of_Buffer_To_Receive,
Number_Of_Caracteres_Received'Address);
end Receive_String;
end Interface_C;
nblk1=8
nid=0
hdr6=10
[0x00] rec0=30 rec1=00 rec2=01 rec3=026
[0x01] rec0=1e rec1=00 rec2=08 rec3=09a
[0x02] rec0=2a rec1=00 rec2=02 rec3=014
[0x03] rec0=00 rec1=00 rec2=03 rec3=006
[0x04] rec0=1d rec1=00 rec2=07 rec3=016
[0x05] rec0=02 rec1=00 rec2=05 rec3=04c
[0x06] rec0=17 rec1=00 rec2=06 rec3=04c
[0x07] rec0=15 rec1=00 rec2=04 rec3=001
tail 0x2171f6236839c4a565d54 0x42a00088462060003