|
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 - download
Length: 7168 (0x1c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, seg_018b93
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
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_Information (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_Information (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_Information (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 Return_Value : Unix_Base_Types.Int; BEGIN Return_Value := Resolve_Overloading.Bind (S => S, Addr => Addr, Addrlen => Addrlen); DECLARE Allow_Reuse : CONSTANT Unix_Base_Types.Int_Ptr := NEW Unix_Base_Types.Int'(1); BEGIN IF Return_Value /= System_Error THEN Return_Value := Setsockopt (S => S, Level => Sol_Socket, Optname => So_Linger, Optval => Linger_Struct_To_Char_Ptr (No_Linger), Optlen => No_Linger.ALL'Size / System.Storage_Unit); END IF; IF Return_Value /= System_Error THEN Return_Value := Setsockopt (S => S, Level => Sol_Socket, Optname => So_Reuseaddr, Optval => Int_Ptr_To_Char_Ptr (Allow_Reuse), Optlen => Allow_Reuse.ALL'Size / System.Storage_Unit); END IF; -- IF Return_Value /= System_Error THEN -- Return_Value := -- Resolve_Overloading.Getsockopt (S => S, -- Level => Sol_Socket, -- Optname => So_@, -- Optval => [CHAR_PTR-expression], -- Optlen => [INT_PTR-expression]); -- END IF; -- END; RETURN Return_Value; END Bind; END Socket_System_Interface;
nblk1=6 nid=0 hdr6=c [0x00] rec0=1b rec1=00 rec2=01 rec3=038 [0x01] rec0=1b rec1=00 rec2=06 rec3=042 [0x02] rec0=00 rec1=00 rec2=02 rec3=030 [0x03] rec0=23 rec1=00 rec2=03 rec3=028 [0x04] rec0=17 rec1=00 rec2=04 rec3=03a [0x05] rec0=0a rec1=00 rec2=05 rec3=000 tail 0x21715b3028357638bbc28 0x489e0066482863c01