mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-15 10:09:15 +02:00
* switch fcl-net from legacy socket functions.
The more complicated ones are not replaced. git-svn-id: trunk@13496 -
This commit is contained in:
parent
c82f8ebff9
commit
629c63c9fb
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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}
|
||||
|
Loading…
Reference in New Issue
Block a user