X-Git-Url: http://www.lcore.org/git/lcore.git/blobdiff_plain/9a8d70fc12f32787d6cdea912f84aca3d47326c4..eca2c8e0a8aad79c7dc7738346d265f973428995:/dnssync.pas diff --git a/dnssync.pas b/dnssync.pas index f6b0281..84caf9a 100644 --- a/dnssync.pas +++ b/dnssync.pas @@ -13,7 +13,7 @@ interface uses dnscore, binipstuff, - {$ifdef win32} + {$ifdef mswindows} winsock, windows, {$else} @@ -31,9 +31,9 @@ interface //convert a name to an IP //will return v4 or v6 depending on what seems favorable, or manual preference setting -//on error the binip will have a family of 0 (other fiels are also currently +//on error the binip will have a family of 0 (other fields are also currently //zeroed out but may be used for further error information in future) -//timeout is in miliseconds, it is ignored when using windows dns +//timeout is in milliseconds, it is ignored when using windows dns function forwardlookup(name:ansistring;timeout:integer):tbinip; //convert a name to a list of all IP's returned @@ -60,12 +60,12 @@ const implementation -{$ifdef win32} +{$ifdef mswindows} uses dnswin; {$endif} -{$ifndef win32} +{$ifndef mswindows} {$define syncdnscore} {$endif} @@ -76,7 +76,7 @@ type tdnsstatearr=array[0..numsock-1] of tdnsstate; {$ifdef syncdnscore} -{$ifdef win32} +{$ifdef mswindows} const winsocket = 'wsock32.dll'; function sendto(s: TSocket; const Buf; len, flags: Integer; var addrto: TinetSockAddrV; tolen: Integer): Integer; stdcall; external winsocket name 'sendto'; @@ -87,14 +87,14 @@ type tdnsstatearr=array[0..numsock-1] of tdnsstate; function getts:integer; -{$ifdef win32} +{$ifdef mswindows} begin result := GetTickCount and tsmask; {$else} var temp:ttimeval; begin - gettimeofday(temp); + gettimemonotonic(temp); result := ((temp.tv_usec div 1000) + (temp.tv_sec * 1000)) and tsmask; {$endif} end; @@ -117,7 +117,7 @@ var a,b:integer; Src : TInetSockAddrV; - Srcx : {$ifdef win32}sockaddr_in{$else}TInetSockAddrV{$endif} absolute Src; + Srcx : {$ifdef mswindows}sockaddr_in{$else}TInetSockAddrV{$endif} absolute Src; SrcLen : Integer; fromip:tbinip; fromport:ansistring; @@ -153,12 +153,12 @@ begin makeinaddrv(biniptemp,inttostr( porttemp ),inaddrtemp); fd[a] := Socket(biniptemp.family,SOCK_DGRAM,0); - bindresult := {$ifdef win32}Not{$endif} Bind(fd[a],inAddrtemp,inaddrsize(inaddrtemp)); + bindresult := {$ifdef mswindows}Not{$endif} Bind(fd[a],inAddrtemp,inaddrsize(inaddrtemp)); dec(retrycount); until (retrycount <= 0) or (bindresult); If (not bindresult) Then begin - {$ifdef win32} + {$ifdef mswindows} raise Exception.create('unable to bind '+inttostr(WSAGetLastError)); {$else} raise Exception.create('unable to bind '+inttostr(socketError)); @@ -186,7 +186,7 @@ begin ip := getcurrentsystemnameserverbin(id); - {$ifdef ipv6}{$ifdef win32} + {$ifdef ipv6}{$ifdef mswindows} if toaddr[socknum].family = AF_INET6 then if (useaf = 0) then useaf := useaf_preferv6; {$endif}{$endif} @@ -256,7 +256,7 @@ begin selecttimeout.tv_sec := 0; selecttimeout.tv_usec := retryafter; end; - //find the highest of the used fd's + //find the highest of the used fds b := 0; for socknum := numsockused-1 downto 0 do if fd[socknum] > b then b := fd[socknum]; selectresult := select(b+1,@fds,nil,nil,@selecttimeout); @@ -327,7 +327,7 @@ begin exit; //it was an IP address, no need for dns end; - {$ifdef win32} + {$ifdef mswindows} if usewindns then begin if (useaf = useaf_v4) then a := af_inet else if (useaf = useaf_v6) then a := af_inet6 else a := 0; result := winforwardlookuplist(name,a,dummy); @@ -398,7 +398,7 @@ var numsockused:integer; state:tdnsstatearr; begin - {$ifdef win32} + {$ifdef mswindows} if usewindns then begin result := winreverselookup(ip,dummy); exit; @@ -412,7 +412,7 @@ begin {$endif} end; -{$ifdef win32} +{$ifdef mswindows} var wsadata : twsadata;