function ResolveHost(HostName: ansistring; Family: cint): TGAIResult;
procedure FreeHost(var GAIResult: TGAIResult);
- function ResolveIP(AddrInfo: PAddrInfo): ansistring;
+ function ResolveIP(AddrInfo: PAddrInfo): ansistring; overload;
+ function ResolveIP(SockAddr: PSockAddr): ansistring; overload;
function IPToStr(SockAddr: PSockAddr): ansistring;
else ResolveIP:= IPToStr(AddrInfo^.ai_addr);
end;
+function ResolveIP(SockAddr: PSockAddr): ansistring;
+var
+ AddrInfo: TAddrInfo;
+begin
+ AddrInfo.ai_addr:= SockAddr;
+
+ if SockAddr^.sa_family = AF_INET then
+ AddrInfo.ai_addrlen:= SizeOf(TSockAddr)
+ else if SockAddr^.sa_family = AF_INET6 then
+ AddrInfo.ai_addrlen:= SizeOf(TSockAddr6)
+ else
+ AddrInfo.ai_addrlen:= 0;
+
+ ResolveIP:= ResolveIP(PAddrInfo(@AddrInfo));
+end;
+
function IPToStr(SockAddr: PSockAddr): ansistring;
begin
if SockAddr^.sa_family = AF_INET then