sslinux.inc improved by ACBr

git-svn-id: https://svn.code.sf.net/p/synalist/code/trunk@243 7c85be65-684b-0410-a082-b2ed4fbef004
This commit is contained in:
geby
2022-01-08 17:18:11 +00:00
parent 009ef79a18
commit fc2aeacaf6

View File

@@ -64,7 +64,13 @@ interface
uses uses
SyncObjs, SysUtils, Classes, SyncObjs, SysUtils, Classes,
synafpc, synafpc,
Libc; {$IFDEF POSIX} //even POSIX should use new ssPosix module instead...
Posix.Errno,
Posix.Signal,
Posix.NetDB
{$ELSE}
Libc
{$ENDIF};
function InitSocketInterface(stack: string): Boolean; function InitSocketInterface(stack: string): Boolean;
function DestroySocketInterface: Boolean; function DestroySocketInterface: Boolean;
@@ -79,6 +85,9 @@ type
u_long = Longint; u_long = Longint;
pu_long = ^u_long; pu_long = ^u_long;
pu_short = ^u_short; pu_short = ^u_short;
{$IFDEF POSIX}
uint32_t = UInt32;
{$ENDIF}
TSocket = u_int; TSocket = u_int;
TAddrFamily = integer; TAddrFamily = integer;
@@ -148,9 +157,9 @@ type
0: (sin_family: u_short; 0: (sin_family: u_short;
sin_port: u_short; sin_port: u_short;
sin_addr: TInAddr; sin_addr: TInAddr;
sin_zero: array[0..7] of Char); sin_zero: array[0..7] of byte);
1: (sa_family: u_short; 1: (sa_family: u_short;
sa_data: array[0..13] of Char) sa_data: array[0..13] of byte)
end; end;
TIP_mreq = record TIP_mreq = record
@@ -602,7 +611,7 @@ type
case sin_family: u_short of case sin_family: u_short of
AF_INET: (sin_port: u_short; AF_INET: (sin_port: u_short;
sin_addr: TInAddr; sin_addr: TInAddr;
sin_zero: array[0..7] of Char); sin_zero: array[0..7] of byte);
AF_INET6: (sin6_port: u_short; AF_INET6: (sin6_port: u_short;
sin6_flowinfo: u_long; sin6_flowinfo: u_long;
sin6_addr: TInAddr6; sin6_addr: TInAddr6;
@@ -759,9 +768,9 @@ function SizeOfVarSin(sin: TVarSin): integer;
begin begin
case sin.sin_family of case sin.sin_family of
AF_INET: AF_INET:
Result := SizeOf(TSockAddrIn); Result := SizeOf(TSockAddrIn);
AF_INET6: AF_INET6:
Result := SizeOf(TSockAddrIn6); Result := SizeOf(TSockAddrIn6);
else else
Result := 0; Result := 0;
end; end;
@@ -1214,7 +1223,11 @@ begin
begin begin
SockEnhancedApi := False; SockEnhancedApi := False;
SockWship6Api := False; SockWship6Api := False;
Libc.Signal(Libc.SIGPIPE, TSignalHandler(Libc.SIG_IGN)); {$IfDef POSIX}
Signal(SIGPIPE, TSignalHandler(SIG_IGN));
{$Else}
Libc.Signal(Libc.SIGPIPE, TSignalHandler(Libc.SIG_IGN));
{$EndIf}
LibHandle := LoadLibrary(PChar(Stack)); LibHandle := LoadLibrary(PChar(Stack));
if LibHandle <> 0 then if LibHandle <> 0 then
begin begin