Improved compatibility with FPC 2.x.x
git-svn-id: https://svn.code.sf.net/p/synalist/code/trunk@100 7c85be65-684b-0410-a082-b2ed4fbef004
This commit is contained in:
parent
b6ad738531
commit
b7a13ad29c
35
ssfpc.pas
35
ssfpc.pas
@ -1,9 +1,9 @@
|
|||||||
{==============================================================================|
|
{==============================================================================|
|
||||||
| Project : Ararat Synapse | 001.000.005 |
|
| Project : Ararat Synapse | 001.001.000 |
|
||||||
|==============================================================================|
|
|==============================================================================|
|
||||||
| Content: Socket Independent Platform Layer - FreePascal definition include |
|
| Content: Socket Independent Platform Layer - FreePascal definition include |
|
||||||
|==============================================================================|
|
|==============================================================================|
|
||||||
| Copyright (c)2006, Lukas Gebauer |
|
| Copyright (c)2006-2009, Lukas Gebauer |
|
||||||
| All rights reserved. |
|
| All rights reserved. |
|
||||||
| |
|
| |
|
||||||
| Redistribution and use in source and binary forms, with or without |
|
| Redistribution and use in source and binary forms, with or without |
|
||||||
@ -33,7 +33,7 @@
|
|||||||
| DAMAGE. |
|
| DAMAGE. |
|
||||||
|==============================================================================|
|
|==============================================================================|
|
||||||
| The Initial Developer of the Original Code is Lukas Gebauer (Czech Republic).|
|
| The Initial Developer of the Original Code is Lukas Gebauer (Czech Republic).|
|
||||||
| Portions created by Lukas Gebauer are Copyright (c)2006. |
|
| Portions created by Lukas Gebauer are Copyright (c)2006-2009. |
|
||||||
| All Rights Reserved. |
|
| All Rights Reserved. |
|
||||||
|==============================================================================|
|
|==============================================================================|
|
||||||
| Contributor(s): |
|
| Contributor(s): |
|
||||||
@ -45,6 +45,7 @@
|
|||||||
{:@exclude}
|
{:@exclude}
|
||||||
|
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
|
{For FreePascal 2.x.x}
|
||||||
|
|
||||||
//{$DEFINE FORCEOLDAPI}
|
//{$DEFINE FORCEOLDAPI}
|
||||||
{Note about define FORCEOLDAPI:
|
{Note about define FORCEOLDAPI:
|
||||||
@ -514,7 +515,7 @@ end;
|
|||||||
|
|
||||||
function Bind(s: TSocket; const addr: TVarSin): Integer;
|
function Bind(s: TSocket; const addr: TVarSin): Integer;
|
||||||
begin
|
begin
|
||||||
if sockets.Bind(s, addr, SizeOfVarSin(addr)) then
|
if fpBind(s, @addr, SizeOfVarSin(addr)) then
|
||||||
Result := 0
|
Result := 0
|
||||||
else
|
else
|
||||||
Result := SOCKET_ERROR;
|
Result := SOCKET_ERROR;
|
||||||
@ -522,7 +523,7 @@ end;
|
|||||||
|
|
||||||
function Connect(s: TSocket; const name: TVarSin): Integer;
|
function Connect(s: TSocket; const name: TVarSin): Integer;
|
||||||
begin
|
begin
|
||||||
if sockets.Connect(s, name, SizeOfVarSin(name)) then
|
if fpConnect(s, @name, SizeOfVarSin(name)) then
|
||||||
Result := 0
|
Result := 0
|
||||||
else
|
else
|
||||||
Result := SOCKET_ERROR;
|
Result := SOCKET_ERROR;
|
||||||
@ -534,7 +535,7 @@ var
|
|||||||
begin
|
begin
|
||||||
len := SizeOf(name);
|
len := SizeOf(name);
|
||||||
FillChar(name, len, 0);
|
FillChar(name, len, 0);
|
||||||
Result := sockets.GetSocketName(s, name, Len);
|
Result := fpGetSocketName(s, @name, @Len);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function GetPeerName(s: TSocket; var name: TVarSin): Integer;
|
function GetPeerName(s: TSocket; var name: TVarSin): Integer;
|
||||||
@ -543,7 +544,7 @@ var
|
|||||||
begin
|
begin
|
||||||
len := SizeOf(name);
|
len := SizeOf(name);
|
||||||
FillChar(name, len, 0);
|
FillChar(name, len, 0);
|
||||||
Result := sockets.GetPeerName(s, name, Len);
|
Result := fpGetPeerName(s, @name, @Len);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function GetHostName: string;
|
function GetHostName: string;
|
||||||
@ -553,17 +554,17 @@ end;
|
|||||||
|
|
||||||
function Send(s: TSocket; Buf: TMemory; len, flags: Integer): Integer;
|
function Send(s: TSocket; Buf: TMemory; len, flags: Integer): Integer;
|
||||||
begin
|
begin
|
||||||
Result := sockets.Send(s, Buf^, len, flags);
|
Result := fpSend(s, pointer(Buf), len, flags);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function Recv(s: TSocket; Buf: TMemory; len, flags: Integer): Integer;
|
function Recv(s: TSocket; Buf: TMemory; len, flags: Integer): Integer;
|
||||||
begin
|
begin
|
||||||
Result := sockets.Recv(s, Buf^, len, flags);
|
Result := fpRecv(s, pointer(Buf), len, flags);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function SendTo(s: TSocket; Buf: TMemory; len, flags: Integer; addrto: TVarSin): Integer;
|
function SendTo(s: TSocket; Buf: TMemory; len, flags: Integer; addrto: TVarSin): Integer;
|
||||||
begin
|
begin
|
||||||
Result := sockets.SendTo(s, Buf^, len, flags, addrto, SizeOfVarSin(addrto));
|
Result := fpSendTo(s, pointer(Buf), len, flags, @addrto, SizeOfVarSin(addrto));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function RecvFrom(s: TSocket; Buf: TMemory; len, flags: Integer; var from: TVarSin): Integer;
|
function RecvFrom(s: TSocket; Buf: TMemory; len, flags: Integer; var from: TVarSin): Integer;
|
||||||
@ -571,7 +572,7 @@ var
|
|||||||
x: integer;
|
x: integer;
|
||||||
begin
|
begin
|
||||||
x := SizeOf(from);
|
x := SizeOf(from);
|
||||||
Result := sockets.RecvFrom(s, Buf^, len, flags, from, x);
|
Result := sockets.RecvFrom(s, pointer(Buf), len, flags, @from, @x);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function Accept(s: TSocket; var addr: TVarSin): TSocket;
|
function Accept(s: TSocket; var addr: TVarSin): TSocket;
|
||||||
@ -579,24 +580,24 @@ var
|
|||||||
x: integer;
|
x: integer;
|
||||||
begin
|
begin
|
||||||
x := SizeOf(addr);
|
x := SizeOf(addr);
|
||||||
Result := sockets.Accept(s, addr, x);
|
Result := fpAccept(s, @addr, @x);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function Shutdown(s: TSocket; how: Integer): Integer;
|
function Shutdown(s: TSocket; how: Integer): Integer;
|
||||||
begin
|
begin
|
||||||
Result := sockets.Shutdown(s, how);
|
Result := fpShutdown(s, how);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function SetSockOpt(s: TSocket; level, optname: Integer; optval: Tmemory;
|
function SetSockOpt(s: TSocket; level, optname: Integer; optval: Tmemory;
|
||||||
optlen: Integer): Integer;
|
optlen: Integer): Integer;
|
||||||
begin
|
begin
|
||||||
Result := sockets.SetSocketOptions(s, level, optname, optval^, optlen);
|
Result := fpsetsockopt(s, level, optname, pointer(optval), optlen);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function GetSockOpt(s: TSocket; level, optname: Integer; optval: Tmemory;
|
function GetSockOpt(s: TSocket; level, optname: Integer; optval: Tmemory;
|
||||||
var optlen: Integer): Integer;
|
var optlen: Integer): Integer;
|
||||||
begin
|
begin
|
||||||
Result := sockets.GetSocketOptions(s, level, optname, optval^, optlen);
|
Result := fpgetsockopt(s, level, optname, pointer(optval), @optlen);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function ntohs(netshort: word): word;
|
function ntohs(netshort: word): word;
|
||||||
@ -611,7 +612,7 @@ end;
|
|||||||
|
|
||||||
function Listen(s: TSocket; backlog: Integer): Integer;
|
function Listen(s: TSocket; backlog: Integer): Integer;
|
||||||
begin
|
begin
|
||||||
if sockets.Listen(s, backlog) then
|
if fpListen(s, backlog) then
|
||||||
Result := 0
|
Result := 0
|
||||||
else
|
else
|
||||||
Result := SOCKET_ERROR;
|
Result := SOCKET_ERROR;
|
||||||
@ -639,7 +640,7 @@ end;
|
|||||||
|
|
||||||
function Socket(af, Struc, Protocol: Integer): TSocket;
|
function Socket(af, Struc, Protocol: Integer): TSocket;
|
||||||
begin
|
begin
|
||||||
Result := sockets.Socket(af, struc, protocol);
|
Result := fpSocket(af, struc, protocol);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function Select(nfds: Integer; readfds, writefds, exceptfds: PFDSet;
|
function Select(nfds: Integer; readfds, writefds, exceptfds: PFDSet;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user