6e6acff0fdf1865903370d1df911fe0461f2fb53
2 Copyright (C) 2010 MegaBrutal
4 This unit is free software: you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 This unit is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
24 uses WinSock
, Sockets
;
27 function ResolveHost(HostName
: ansistring
): in_addr
;
28 function ResolveIP(IP
: in_addr
): ansistring
;
34 function ResolveHost(HostName
: ansistring
): in_addr
;
38 HostEnt
:= gethostbyname(PChar(HostName
));
39 if HostEnt
<> nil then
40 ResolveHost
.s_addr
:= PLongWord(HostEnt
^.h_addr_list
[0])^
42 ResolveHost
.s_addr
:= 0;
45 function ResolveIP(IP
: in_addr
): ansistring
;
49 HostEnt
:= gethostbyaddr(@IP
, 4, AF_INET
);
50 if HostEnt
<> nil then
51 ResolveIP
:= HostEnt
^.h_name
53 ResolveIP
:= NetAddrToStr(IP
);