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

⟦de3e38b83⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Socket_System_Interface, seg_052a41

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



with System;
with Unchecked_Conversion;
package body Socket_System_Interface is

    No_Linger : constant Linger_Structure_Ptr := new Linger_Structure'(1, 1);
    System_Error : constant Unix_Base_Types.Int := -1;

    package Resolve_Overloading is

        function Socket (Af : in Unix_Base_Types.Int;
                         Socket_Type : in Unix_Base_Types.Int;
                         Protocol : in Unix_Base_Types.Int)
                        return Unix_Base_Types.Int;
        pragma Interface (C, Socket);
        pragma Interface_Name (Socket, ".socket");

        function Bind (S : in Unix_Base_Types.Int;
                       Addr : in Sockaddr_In_Ptr;
                       Addrlen : in Unix_Base_Types.Int)
                      return Unix_Base_Types.Int;
        pragma Interface (C, Bind);
        pragma Interface_Name (Bind, ".bind");


        function Getsockopt (S : in Unix_Base_Types.Int;
                             Level : in Unix_Base_Types.Int;
                             Optname : in Unix_Base_Types.Int;
                             Optval : in Unix_Base_Types.Char_Ptr;
                             Optlen : in Unix_Base_Types.Int_Ptr)
                            return Unix_Base_Types.Int;
        pragma Interface (C, Getsockopt);
        pragma Interface_Name (Getsockopt, ".getsockopt");

    end Resolve_Overloading;




    function Linger_Struct_To_Char_Ptr is
       new Unchecked_Conversion (Source => Linger_Structure_Ptr,
                                 Target => Unix_Base_Types.Char_Ptr);


    function Int_Ptr_To_Char_Ptr is new Unchecked_Conversion
                                           (Source => Unix_Base_Types.Int_Ptr,
                                            Target => Unix_Base_Types.Char_Ptr);




    function Socket (Af : in Unix_Base_Types.Int;
                     Socket_Type : in Unix_Base_Types.Int;
                     Protocol : in Unix_Base_Types.Int)
                    return Unix_Base_Types.Int is

        Return_Value : Unix_Base_Types.Int;

    begin
        Return_Value := Resolve_Overloading.Socket (Af => Af,
                                                    Socket_Type => Socket_Type,
                                                    Protocol => Protocol);
        return Return_Value;
    end Socket;


    function Bind (S : in Unix_Base_Types.Int;
                   Addr : in Sockaddr_In_Ptr;
                   Addrlen : in Unix_Base_Types.Int)
                  return Unix_Base_Types.Int is separate;
end Socket_System_Interface;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=1b rec1=00 rec2=01 rec3=058
        [0x01] rec0=1b rec1=00 rec2=02 rec3=05c
        [0x02] rec0=12 rec1=00 rec2=03 rec3=000
    tail 0x21759f8a687a1472adde0 0x42a00088462060003