* switch fcl-net from legacy socket functions.

The more complicated ones are not replaced.

git-svn-id: trunk@13496 -
This commit is contained in:
marco 2009-08-08 12:12:32 +00:00
parent c82f8ebff9
commit 629c63c9fb
3 changed files with 35 additions and 35 deletions

View File

@ -215,7 +215,7 @@ end;
function TSocketStream.Read(var Buffer; Count: LongInt): LongInt;
begin
Result := recv(Handle, Buffer, Count, MSG_NOSIGNAL);
Result := fprecv(Handle, @Buffer, Count, MSG_NOSIGNAL);
if Result = -1 then
begin
Result := 0;
@ -226,7 +226,7 @@ end;
function TSocketStream.Write(const Buffer; Count: LongInt): LongInt;
begin
Result := send(Handle, Buffer, Count, MSG_NOSIGNAL);
Result := FPsend(Handle, @Buffer, Count, MSG_NOSIGNAL);
if Result = -1 then
begin
Result := 0;
@ -246,7 +246,7 @@ var
len: LongInt;
begin
len := SizeOf(TSockAddr);
if GetSocketName(Handle, Result, len) <> 0 then
if fpGetSockName(Handle, @Result, @len) <> 0 then
FillChar(Result, SizeOf(Result), 0);
end;
@ -255,7 +255,7 @@ var
len: LongInt;
begin
len := SizeOf(TSockAddr);
if GetPeerName(Handle, Result, len) <> 0 then
if FpGetPeerName(Handle, @Result, @len) <> 0 then
FillChar(Result, SizeOf(Result), 0);
end;
@ -372,8 +372,8 @@ begin
CanWriteNotifyHandle := nil;
ErrorLen := SizeOf(Error);
GetResult := Sockets.GetSocketOptions(Stream.Handle, SOL_SOCKET, SO_ERROR,
Error, ErrorLen);
GetResult := Sockets.fpGetSockOpt(Stream.Handle, SOL_SOCKET, SO_ERROR,
@Error, @ErrorLen);
if GetResult <> 0 then
raise ESocketError.CreateFmt(SSocketConnectFailed,
[GetPeerName, StrError(GetResult)]);
@ -405,7 +405,7 @@ var
AddrSize: Integer;
begin
AddrSize := SizeOf(Addr);
ClientSocket := Accept(Stream.Handle, Addr, AddrSize);
ClientSocket := FpAccept(Stream.Handle, @Addr, @AddrSize);
if ClientSocket = -1 then
raise ESocketError.CreateFmt(SSocketAcceptError, [StrError(SocketError)]);
@ -499,7 +499,7 @@ var
Socket: Integer;
begin
Socket := Sockets.Socket(AF_INET, SOCK_STREAM, 0);
Socket := Sockets.FPSocket(AF_INET, SOCK_STREAM, 0);
if Socket = -1 then
raise ESocketError.CreateFmt(SSocketCreationError,
[StrError(SocketError)]);
@ -515,10 +515,10 @@ begin
SockAddr.Family := AF_INET;
SockAddr.Port := ShortHostToNet(Port);
SockAddr.Addr := Cardinal(HostAddr);
Sockets.Connect(Stream.Handle, SockAddr, SizeOf(SockAddr));
if (SocketError <> sys_EINPROGRESS) and (SocketError <> 0) then
raise ESocketError.CreateFmt(SSocketConnectFailed,
[GetPeerName, StrError(SocketError)]);
if Sockets.FpConnect(Stream.Handle, @SockAddr, SizeOf(SockAddr))<>0 Then
if (SocketError <> sys_EINPROGRESS) and (SocketError <> 0) then
raise ESocketError.CreateFmt(SSocketConnectFailed,
[GetPeerName, StrError(SocketError)]);
end;
function TCustomTCPClient.GetPeerName: String;
@ -550,21 +550,21 @@ begin
FActive := False;
if Value then
begin
Socket := Sockets.Socket(AF_INET, SOCK_STREAM, 0);
Socket := Sockets.fpSocket(AF_INET, SOCK_STREAM, 0);
if Socket = -1 then
raise ESocketError.CreateFmt(SSocketCreationError,
[StrError(SocketError)]);
TrueValue := 1;
Sockets.SetSocketOptions(Socket, SOL_SOCKET, SO_REUSEADDR,
TrueValue, SizeOf(TrueValue));
Sockets.fpSetSockOpt(Socket, SOL_SOCKET, SO_REUSEADDR,
@TrueValue, SizeOf(TrueValue));
FStream := TSocketStream.Create(Socket);
Addr.Family := AF_INET;
Addr.Port := ShortHostToNet(Port);
Addr.Addr := 0;
if not Bind(Socket, Addr, SizeOf(Addr)) then
if fpBind(Socket, @Addr, SizeOf(Addr))<>0 then
raise ESocketError.CreateFmt(SSocketBindingError,
[Port, StrError(SocketError)]);
Listen(Socket, 5);
fpListen(Socket, 5);
if not Assigned(EventLoop) then
raise ESocketError.Create(SSocketNoEventLoopAssigned);
DataAvailableNotifyHandle := EventLoop.SetDataAvailableNotify(Socket,

View File

@ -721,7 +721,7 @@ begin
nscount:=0;
arcount:=0;
end;
Sock:=Socket(PF_INET,SOCK_DGRAM,0);
Sock:=FpSocket(PF_INET,SOCK_DGRAM,0);
If Sock=-1 then
exit;
With SA do
@ -730,7 +730,7 @@ begin
port:=htons(DNSport);
addr:=cardinal(DNSServers[Resolver]); // dnsservers already in net order
end;
sendto(sock,qry,qrylen+12,0,SA,SizeOf(SA));
fpsendto(sock,@qry,qrylen+12,0,@SA,SizeOf(SA));
// Wait for answer.
RTO:=TimeOutS*1000+TimeOutMS;
fpFD_ZERO(ReadFDS);
@ -741,7 +741,7 @@ begin
exit;
end;
AL:=SizeOf(SA);
L:=recvfrom(Sock,ans,SizeOf(Ans),0,SA,AL);
L:=fprecvfrom(Sock,@ans,SizeOf(Ans),0,@SA,@AL);
fpclose(Sock);
// Check lenght answer and fields in header data.
If (L<12) or not CheckAnswer(Qry,Ans) Then

View File

@ -254,7 +254,7 @@ Var
begin
Flags:=0;
Result:=recv(handle,Buffer,count,flags);
Result:=fprecv(handle,@Buffer,count,flags);
end;
Function TSocketStream.Write (Const Buffer; Count : Longint) :Longint;
@ -264,7 +264,7 @@ Var
begin
Flags:=0;
Result:=send(handle,Buffer,count,flags);
Result:=fpsend(handle,@Buffer,count,flags);
end;
function TSocketStream.GetLocalAddress: TSockAddr;
@ -272,7 +272,7 @@ var
len: LongInt;
begin
len := SizeOf(TSockAddr);
if GetSocketName(Handle, Result, len) <> 0 then
if fpGetSockName(Handle, @Result, @len) <> 0 then
FillChar(Result, SizeOf(Result), 0);
end;
@ -281,7 +281,7 @@ var
len: LongInt;
begin
len := SizeOf(TSockAddr);
if GetPeerName(Handle, Result, len) <> 0 then
if fpGetPeerName(Handle, @Result, @len) <> 0 then
FillChar(Result, SizeOf(Result), 0);
end;
@ -320,7 +320,7 @@ Procedure TSocketServer.Listen;
begin
If Not FBound then
Bind;
If Not Sockets.Listen(FSocket,FQueueSize) then
If Sockets.FpListen(FSocket,FQueueSize)<>0 then
Raise ESocketError.Create(seListenFailed,[FSocket,SocketError]);
end;
@ -422,7 +422,7 @@ Var S : longint;
begin
FHost:=aHost;
FPort:=APort;
S:=Sockets.Socket(AF_INET,SOCK_STREAM,0);
S:=Sockets.FpSocket(AF_INET,SOCK_STREAM,0);
If S=-1 Then
Raise ESocketError.Create(seCreationFailed,[Format('%d',[APort])]);
Inherited Create(S);
@ -434,7 +434,7 @@ begin
Faddr.family := AF_INET;
Faddr.port := ShortHostToNet(FPort);
Faddr.addr := LongWord(StrToNetAddr(FHost));
if not Sockets.Bind(FSocket, FAddr, Sizeof(FAddr)) then
if Sockets.fpBind(FSocket, @FAddr, Sizeof(FAddr))<>0 then
raise ESocketError.Create(seBindFailed, [IntToStr(FPort)]);
FBound:=True;
end;
@ -453,7 +453,7 @@ Var l : longint;
begin
L:=SizeOf(FAddr);
Result:=Sockets.Accept(Socket,Faddr,L);
Result:=Sockets.fpAccept(Socket,@Faddr,@L);
If Result<0 then
{$ifdef Unix}
If SocketError=ESysEWOULDBLOCK then
@ -473,7 +473,7 @@ Var S : Longint;
begin
FFileName:=AFileName;
S:=Sockets.Socket(AF_UNIX,SOCK_STREAM,0);
S:=Sockets.fpSocket(AF_UNIX,SOCK_STREAM,0);
If S=-1 then
Raise ESocketError.Create(seCreationFailed,[AFileName])
else
@ -493,7 +493,7 @@ var
AddrLen : longint;
begin
Str2UnixSockAddr(FFilename,FUnixAddr,AddrLen);
If Not Sockets.Bind(Socket,FUnixAddr,AddrLen) then
If Sockets.FpBind(Socket,@FUnixAddr,AddrLen)<>0 then
Raise ESocketError.Create(seBindFailed,[FFileName]);
FBound:=True;
end;
@ -504,7 +504,7 @@ Var L : longint;
begin
L:=Length(FFileName);
Result:=Sockets.Accept(Socket,FUnixAddr,L);
Result:=Sockets.fpAccept(Socket,@FUnixAddr,@L);
If Result<0 then
If SocketError=ESysEWOULDBLOCK then
Raise ESocketError.Create(seAcceptWouldBlock,[socket])
@ -538,7 +538,7 @@ Var
begin
FHost:=AHost;
FPort:=APort;
S:=Socket(AF_INET,SOCK_STREAM,0);
S:=fpSocket(AF_INET,SOCK_STREAM,0);
DoConnect(S);
Inherited Create(S);
end;
@ -565,7 +565,7 @@ begin
addr.port := ShortHostToNet(FPort);
addr.addr := a.s_addr;
If not Sockets.Connect(ASocket, addr, sizeof(addr)) then
If Sockets.fpConnect(ASocket, @addr, sizeof(addr))<>0 then
raise ESocketError.Create(seConnectFailed, [Format('%s:%d',[FHost, FPort])]);
end;
@ -585,7 +585,7 @@ Var S : Longint;
begin
FFileName:=AFileName;
S:=Socket(AF_UNIX,SOCK_STREAM,0);
S:=FpSocket(AF_UNIX,SOCK_STREAM,0);
DoConnect(S);
Inherited Create(S);
end;
@ -597,7 +597,7 @@ Var
AddrLen : longint;
begin
Str2UnixSockAddr(FFilename,UnixAddr,AddrLen);
If Not Connect(ASocket,UnixAddr,AddrLen) then
If FpConnect(ASocket,@UnixAddr,AddrLen)<>0 then
Raise ESocketError.Create(seConnectFailed,[FFilename]);
end;
{$endif}