Browse Source

* switch fcl-net from legacy socket functions.
The more complicated ones are not replaced.

git-svn-id: trunk@13496 -

marco 16 years ago
parent
commit
629c63c9fb
3 changed files with 35 additions and 35 deletions
  1. 17 17
      packages/fcl-net/src/fpsock.pp
  2. 3 3
      packages/fcl-net/src/netdb.pp
  3. 15 15
      packages/fcl-net/src/ssockets.pp

+ 17 - 17
packages/fcl-net/src/fpsock.pp

@@ -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,

+ 3 - 3
packages/fcl-net/src/netdb.pp

@@ -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

+ 15 - 15
packages/fcl-net/src/ssockets.pp

@@ -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}