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 - download
Index: ┃ B T

⟦ffc2912c7⟧ TextFile

    Length: 5650 (0x1612)
    Types: TextFile
    Names: »B«

Derivation

└─⟦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⟧ 

TextFile

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;