Difference between revisions of "TDNSClient"

From Ultibo.org
Jump to: navigation, search
(Created page with "Return to Unit DNS __TOC__ === Description === ---- ''To be documented'' === Class definitions === ---- <div class="toccolours mw-collapsible mw-collapsed"...")
 
 
Line 40: Line 40:
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>function AddressEntryToHostEnt(AddressEntry:TIPAddressEntry; const AName:String; ACount:Integer):PHostEnt;</code>
+
| <code>function GetLastAddrInfo(AAddrInfo:PAddrInfo):PAddrInfo;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function HostEntryToHostEnt(HostEntry:TIPHostEntry):PHostEnt;</code>
+
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function AddressEntryToHostEnt(AddressEntry:TAddressEntry; const AName:String; ACount:Integer):PHostEnt;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function NetworkEntryToNetEnt(NetworkEntry:TIPNetworkEntry):PNetEnt;</code>
+
| <code>function HostEntryToHostEnt(HostEntry:THostEntry):PHostEnt;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function ServEntryToServEnt(ServEntry:TIPServEntry):PServEnt;</code>
+
| <code>function NetworkEntryToNetEnt(NetworkEntry:TNetworkEntry):PNetEnt;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function ProtoEntryToProtoEnt(ProtoEntry:TIPProtoEntry):PProtoEnt;</code>
+
| <code>function ServEntryToServEnt(ServEntry:TServEntry):PServEnt;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function ProtoEntryToProtoEnt(ProtoEntry:TProtoEntry):PProtoEnt;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function AddressEntryToAddrInfo(AddressEntry:TAddressEntry; AFlags,AFamily,AProtocol,ASocketType:LongInt; APort:Word; AFirst:Boolean):PAddrInfo;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function HostEntryToAddrInfo(HostEntry:THostEntry; AFlags,AFamily,AProtocol,ASocketType:LongInt; APort:Word; AFirst:Boolean):PAddrInfo;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function ResolveLocalAddrInfo(AFlags,AFamily,AProtocol,ASocketType:LongInt; APort:Word):PAddrInfo;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function ResolveLoopbackAddrInfo(AFlags,AFamily,AProtocol,ASocketType:LongInt; APort:Word):PAddrInfo;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function ResolveHostByName(const AName:String; AFamily:Integer):THostEntry;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function ResolveHostByAddress(AAddress:Pointer; ALength,AFamily:Integer):THostEntry;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function ResolveHostName:String;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function ResolveServByName(const AName,AProto:String):TServEntry;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function ResolveServByPort(APort:Integer; const AProto:String):TServEntry;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function ResolveProtoByName(const AName:String):TProtoEntry;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function ResolveProtoByNumber(AProto:Integer):TProtoEntry;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function ResolveNetworkByName(const AName:String; AFamily:Integer):TNetworkEntry;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function ResolveNetworkByAddress(AAddress:Pointer; ALength,AFamily:Integer):TNetworkEntry;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 109: Line 165:
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function HandleDNSResponse(AMessage:PDNSMessage; AIdentifier:Word):Boolean;</code>
+
| <code>function HandleDNSResponse(AMessage:PDNSMessage; AFamily,AIdentifier:Word):Boolean;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function PerformDNSRequest(AData:Pointer; ALength,AFamily,AType,AClass:Word):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>function SendDNSQuery(ASocket:TProtocolSocket; const AServer:TInAddr; AData:Pointer; ALength,AType,AClass,AIdentifier:Word):Boolean;</code>
+
| <code>function SendDNSQuery(ASocket:TProtocolSocket; AServer:PSockAddr; AServerLength:Integer; AData:Pointer; ALength,AFamily,AType,AClass,AIdentifier:Word):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function RecvDNSResponse(ASocket:TProtocolSocket; AType,AClass,AIdentifier:Word):Boolean;</code>
+
| <code>function RecvDNSResponse(ASocket:TProtocolSocket; AFamily,AType,AClass,AIdentifier:Word):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 133: Line 194:
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>function InsertDNSQuestion(AMessage:PDNSMessage; ACount:Word; AData:Pointer; ALength,AType,AClass:Word):Boolean;</code>
+
| <code>function InsertDNSQuestion(AMessage:PDNSMessage; ACount:Word; AData:Pointer; ALength,AFamily,AType,AClass:Word):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function ExtractDNSAnswer(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength,AType,AClass:Word; var ATtl:LongWord):Boolean;</code>
+
| <code>function ExtractDNSAnswer(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength:Word; AFamily:Word; var AType,AClass:Word; var ATtl:LongWord):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function ExtractDNSAuthority(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength,AType,AClass:Word; var ATtl:LongWord):Boolean;</code>
+
| <code>function ExtractDNSAuthority(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength:Word; AFamily:Word; var AType,AClass:Word; var ATtl:LongWord):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function ExtractDNSAdditional(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength,AType,AClass:Word; var ATtl:LongWord):Boolean;</code>
+
| <code>function ExtractDNSAdditional(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength:Word; AFamily:Word; var AType,AClass:Word; var ATtl:LongWord):Boolean;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 150: Line 211:
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function GetHostByName(AName:PChar):PHostEnt;</code>
+
| <code>function GetHostByName(AName:PChar; AFamily:Integer):PHostEnt;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 174: Line 235:
 
|colspan="2"|&nbsp;
 
|colspan="2"|&nbsp;
 
|-
 
|-
| <code>function GetNetByAddr(AAddr:Pointer; ALength,AStruct:Integer):PNetEnt;</code>
+
| <code>function GetNetByAddr(AAddr:Pointer; ALength,AFamily:Integer):PNetEnt;</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
| <code>function GetNetByName(AName:PChar):PNetEnt;</code>
+
| <code>function GetNetByName(AName:PChar; AFamily:Integer):PNetEnt;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>function GetAddrInfo(ANodeName,AServName:PChar; AHints:PAddrInfo; var AAddrInfo:PAddrInfo):Integer;</code>
 +
| &nbsp;
 +
|-
 +
| <code>function GetNameInfo(AAddr:PSockAddr; AAddrLength:Integer; AHost:PChar; AHostLength:Integer; AServ:PChar; AServLength:Integer; AFlags:LongWord):Integer;</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure FreeAddrInfo(AAddrInfo:PAddrInfo);</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 245: Line 317:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.AddressEntryToHostEnt(AddressEntry:TIPAddressEntry; const AName:String; ACount:Integer):PHostEnt;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.GetLastAddrInfo(AAddrInfo:PAddrInfo):PAddrInfo;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.AddressEntryToHostEnt(AddressEntry:TAddressEntry; const AName:String; ACount:Integer):PHostEnt;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 257: Line 341:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.HostEntryToHostEnt(HostEntry:TIPHostEntry):PHostEnt;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.HostEntryToHostEnt(HostEntry:THostEntry):PHostEnt;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 269: Line 353:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.NetworkEntryToNetEnt(NetworkEntry:TIPNetworkEntry):PNetEnt;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.NetworkEntryToNetEnt(NetworkEntry:TNetworkEntry):PNetEnt;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 281: Line 365:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ServEntryToServEnt(ServEntry:TIPServEntry):PServEnt;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ServEntryToServEnt(ServEntry:TServEntry):PServEnt;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 293: Line 377:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ProtoEntryToProtoEnt(ProtoEntry:TIPProtoEntry):PProtoEnt;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ProtoEntryToProtoEnt(ProtoEntry:TProtoEntry):PProtoEnt;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 300: Line 384:
 
! Note
 
! Note
 
| Caller must hold Proto entry lock
 
| Caller must hold Proto entry lock
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.AddressEntryToAddrInfo(AddressEntry:TAddressEntry; AFlags,AFamily,AProtocol,ASocketType:LongInt; APort:Word; AFirst:Boolean):PAddrInfo;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Caller must hold Address entry lock
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.HostEntryToAddrInfo(HostEntry:THostEntry; AFlags,AFamily,AProtocol,ASocketType:LongInt; APort:Word; AFirst:Boolean):PAddrInfo;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Caller must hold Host entry lock
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ResolveLocalAddrInfo(AFlags,AFamily,AProtocol,ASocketType:LongInt; APort:Word):PAddrInfo;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ResolveLoopbackAddrInfo(AFlags,AFamily,AProtocol,ASocketType:LongInt; APort:Word):PAddrInfo;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ResolveHostByName(const AName:String; AFamily:Integer):THostEntry;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Performs a DNS_TYPE_A or DNS_TYPE_AAAA Query for the Address of the Domain name supplied</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Caller must check if name is blank or 'localhost' and get the appropriate local addresses
 +
Will lock the returned host entry for read access, caller must unlock when finished.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ResolveHostByAddress(AAddress:Pointer; ALength,AFamily:Integer):THostEntry;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Performs a DNS_TYPE_PTR Query for the Domain name of the Address supplied</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Address will be in network order where applicable
 +
Will lock the returned host entry for read access, caller must unlock when finished.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ResolveHostName:String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ResolveServByName(const AName,AProto:String):TServEntry;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Will lock the returned service entry for read access, caller must unlock when finished.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ResolveServByPort(APort:Integer; const AProto:String):TServEntry;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Port will be in network order
 +
Will lock the returned service entry for read access, caller must unlock when finished.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ResolveProtoByName(const AName:String):TProtoEntry;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Will lock the returned protocol entry for read access, caller must unlock when finished.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ResolveProtoByNumber(AProto:Integer):TProtoEntry;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Protocol will be in host order
 +
Will lock the returned protocol entry for read access, caller must unlock when finished.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ResolveNetworkByName(const AName:String; AFamily:Integer):TNetworkEntry;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Will lock the returned network entry for read access, caller must unlock when finished.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ResolveNetworkByAddress(AAddress:Pointer; ALength,AFamily:Integer):TNetworkEntry;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Address will be in network order where applicable
 +
Will lock the returned network entry for read access, caller must unlock when finished.
 
|-
 
|-
 
|}
 
|}
Line 473: Line 718:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.HandleDNSResponse(AMessage:PDNSMessage; AIdentifier:Word):Boolean;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.HandleDNSResponse(AMessage:PDNSMessage; AFamily,AIdentifier:Word):Boolean;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 485: Line 730:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.SendDNSQuery(ASocket:TProtocolSocket; const AServer:TInAddr; AData:Pointer; ALength,AType,AClass,AIdentifier:Word):Boolean;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.PerformDNSRequest(AData:Pointer; ALength,AFamily,AType,AClass:Word):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Caller must confirm that the data and length are valid
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.SendDNSQuery(ASocket:TProtocolSocket; AServer:PSockAddr; AServerLength:Integer; AData:Pointer; ALength,AFamily,AType,AClass,AIdentifier:Word):Boolean;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 497: Line 754:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.RecvDNSResponse(ASocket:TProtocolSocket; AType,AClass,AIdentifier:Word):Boolean;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.RecvDNSResponse(ASocket:TProtocolSocket; AFamily,AType,AClass,AIdentifier:Word):Boolean;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 554: Line 811:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.InsertDNSQuestion(AMessage:PDNSMessage; ACount:Word; AData:Pointer; ALength,AType,AClass:Word):Boolean;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.InsertDNSQuestion(AMessage:PDNSMessage; ACount:Word; AData:Pointer; ALength,AFamily,AType,AClass:Word):Boolean;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 566: Line 823:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ExtractDNSAnswer(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength,AType,AClass:Word; var ATtl:LongWord):Boolean;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ExtractDNSAnswer(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength:Word; AFamily:Word; var AType,AClass:Word; var ATtl:LongWord):Boolean;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 578: Line 835:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ExtractDNSAuthority(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength,AType,AClass:Word; var ATtl:LongWord):Boolean;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ExtractDNSAuthority(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength:Word; AFamily:Word; var AType,AClass:Word; var ATtl:LongWord):Boolean;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 590: Line 847:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ExtractDNSAdditional(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength,AType,AClass:Word; var ATtl:LongWord):Boolean;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.ExtractDNSAdditional(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength:Word; AFamily:Word; var AType,AClass:Word; var ATtl:LongWord):Boolean;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 614: Line 871:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.GetHostByName(AName:PChar):PHostEnt;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.GetHostByName(AName:PChar; AFamily:Integer):PHostEnt;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Performs a DNS_TYPE_A or DNS_TYPE_AAAA Query for the Address of the Domain name supplied</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Performs a DNS_TYPE_A or DNS_TYPE_AAAA Query for the Address of the Domain name supplied</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 687: Line 944:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.GetNetByAddr(AAddr:Pointer; ALength,AStruct:Integer):PNetEnt;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.GetNetByAddr(AAddr:Pointer; ALength,AFamily:Integer):PNetEnt;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
Line 699: Line 956:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.GetNetByName(AName:PChar):PNetEnt;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.GetNetByName(AName:PChar; AFamily:Integer):PNetEnt;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.GetAddrInfo(ANodeName,AServName:PChar; AHints:PAddrInfo; var AAddrInfo:PAddrInfo):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' RFC 3493 protocol-independent translation from a host name to an address</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.GetNameInfo(AAddr:PSockAddr; AAddrLength:Integer; AHost:PChar; AHostLength:Integer; AServ:PChar; AServLength:Integer; AFlags:LongWord):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' RFC 3493 protocol-independent name resolution from an address to a host name and a port number to a service name}</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TDNSClient.FreeAddrInfo(AAddrInfo:PAddrInfo);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Free address information that GetAddrInfo dynamically allocates in TAddrInfo structures</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"

Latest revision as of 02:32, 6 March 2025

Return to Unit DNS


Description


To be documented

Class definitions



[Expand]

TDNSClient = class(TNetworkClient)


Function declarations



[Expand]
constructor TDNSClient.Create(AProtocol:TNetworkProtocol);
Description: To be documented


[Expand]
destructor TDNSClient.Destroy;
Description: To be documented


[Expand]
function TDNSClient.GetClientData:PDNSClientData;
Description: Get the DNS client data for the current thread


[Expand]
function TDNSClient.CreateClientData:Boolean;
Description: Allocate the DNS client data for the current thread


[Expand]
function TDNSClient.GetLastAddrInfo(AAddrInfo:PAddrInfo):PAddrInfo;
Description: To be documented


[Expand]
function TDNSClient.AddressEntryToHostEnt(AddressEntry:TAddressEntry; const AName:String; ACount:Integer):PHostEnt;
Description: To be documented


[Expand]
function TDNSClient.HostEntryToHostEnt(HostEntry:THostEntry):PHostEnt;
Description: To be documented


[Expand]
function TDNSClient.NetworkEntryToNetEnt(NetworkEntry:TNetworkEntry):PNetEnt;
Description: To be documented


[Expand]
function TDNSClient.ServEntryToServEnt(ServEntry:TServEntry):PServEnt;
Description: To be documented


[Expand]
function TDNSClient.ProtoEntryToProtoEnt(ProtoEntry:TProtoEntry):PProtoEnt;
Description: To be documented


[Expand]
function TDNSClient.AddressEntryToAddrInfo(AddressEntry:TAddressEntry; AFlags,AFamily,AProtocol,ASocketType:LongInt; APort:Word; AFirst:Boolean):PAddrInfo;
Description: To be documented


[Expand]
function TDNSClient.HostEntryToAddrInfo(HostEntry:THostEntry; AFlags,AFamily,AProtocol,ASocketType:LongInt; APort:Word; AFirst:Boolean):PAddrInfo;
Description: To be documented


[Expand]
function TDNSClient.ResolveLocalAddrInfo(AFlags,AFamily,AProtocol,ASocketType:LongInt; APort:Word):PAddrInfo;
Description: To be documented


[Expand]
function TDNSClient.ResolveLoopbackAddrInfo(AFlags,AFamily,AProtocol,ASocketType:LongInt; APort:Word):PAddrInfo;
Description: To be documented


[Expand]
function TDNSClient.ResolveHostByName(const AName:String; AFamily:Integer):THostEntry;
Description: Performs a DNS_TYPE_A or DNS_TYPE_AAAA Query for the Address of the Domain name supplied


[Expand]
function TDNSClient.ResolveHostByAddress(AAddress:Pointer; ALength,AFamily:Integer):THostEntry;
Description: Performs a DNS_TYPE_PTR Query for the Domain name of the Address supplied


[Expand]
function TDNSClient.ResolveHostName:String;
Description: To be documented


[Expand]
function TDNSClient.ResolveServByName(const AName,AProto:String):TServEntry;
Description: To be documented


[Expand]
function TDNSClient.ResolveServByPort(APort:Integer; const AProto:String):TServEntry;
Description: To be documented


[Expand]
function TDNSClient.ResolveProtoByName(const AName:String):TProtoEntry;
Description: To be documented


[Expand]
function TDNSClient.ResolveProtoByNumber(AProto:Integer):TProtoEntry;
Description: To be documented


[Expand]
function TDNSClient.ResolveNetworkByName(const AName:String; AFamily:Integer):TNetworkEntry;
Description: To be documented


[Expand]
function TDNSClient.ResolveNetworkByAddress(AAddress:Pointer; ALength,AFamily:Integer):TNetworkEntry;
Description: To be documented


[Expand]
function TDNSClient.InAddrToName(const AAddress:TInAddr):String;
Description: Converts an Address to a Name in IN-ADDR.ARPA format


[Expand]
function TDNSClient.NameToInAddr(const AName:String):TInAddr;
Description: Converts a Name in IN-ADDR.ARPA format to an Address


[Expand]
function TDNSClient.In6AddrToName(const AAddress:TIn6Addr):String;
Description: Converts an Address to a Name in IP6.ARPA format


[Expand]
function TDNSClient.NameToIn6Addr(const AName:String):TIn6Addr;
Description: Converts a Name in IN-IP6.ARPA format to an Address


[Expand]
function TDNSClient.GetDNSMessageSize(AMessage:PDNSMessage):Integer;
Description: Return size of DNS Header plus Questions and Resource Records


[Expand]
function TDNSClient.GetDNSNameSize(AMessage:PDNSMessage; AOffset:Word):Word;
Description: Returns the actual size of the Name pointed to by Offset


[Expand]
function TDNSClient.GetDNSQuestionSize(AMessage:PDNSMessage; AOffset:Word):Word;
Description: Returns the actual size of the Question pointed to by Offset


[Expand]
function TDNSClient.GetDNSResourceSize(AMessage:PDNSMessage; AOffset:Word):Word;
Description: Returns the actual size of the Resource pointed to by Offset


[Expand]
function TDNSClient.GetDNSQuestionOffset(AMessage:PDNSMessage; ACount:Word):Word;
Description: Return the offset to the DNS Question number Count


[Expand]
function TDNSClient.GetDNSAnswerOffset(AMessage:PDNSMessage; ACount:Word):Word;
Description: Return the offset to the DNS Answer number Count


[Expand]
function TDNSClient.GetDNSAuthorityOffset(AMessage:PDNSMessage; ACount:Word):Word;
Description: Return the offset to the DNS Authority number Count


[Expand]
function TDNSClient.GetDNSAdditionalOffset(AMessage:PDNSMessage; ACount:Word):Word;
Description: Return the offset to the DNS Additional number Count


[Expand]
function TDNSClient.CreateDNSQuery(AMessage:PDNSMessage; AIdentifier:Word):Boolean;
Description: To be documented


[Expand]
function TDNSClient.CheckDNSResponse(AMessage:PDNSMessage; AIdentifier:Word):Boolean;
Description: To be documented


[Expand]
function TDNSClient.HandleDNSResponse(AMessage:PDNSMessage; AFamily,AIdentifier:Word):Boolean;
Description: To be documented


[Expand]
function TDNSClient.PerformDNSRequest(AData:Pointer; ALength,AFamily,AType,AClass:Word):Boolean;
Description: To be documented


[Expand]
function TDNSClient.SendDNSQuery(ASocket:TProtocolSocket; AServer:PSockAddr; AServerLength:Integer; AData:Pointer;  ALength,AFamily,AType,AClass,AIdentifier:Word):Boolean;
Description: To be documented


[Expand]
function TDNSClient.RecvDNSResponse(ASocket:TProtocolSocket; AFamily,AType,AClass,AIdentifier:Word):Boolean;
Description: To be documented


[Expand]
function TDNSClient.InsertDNSName(AMessage:PDNSMessage; AOffset:Word; AName:Pointer; ALength:Word):Boolean;
Description: Inserts the Name into the Message


[Expand]
function TDNSClient.ExtractDNSName(AMessage:PDNSMessage; AOffset:Word; AName:Pointer; var ALength:Word):Boolean;
Description: Extracts the Name from the Message


[Expand]
function TDNSClient.ExtractDNSRData(AMessage:PDNSMessage; AOffset:Word; AData:Pointer; var ALength:Word; AType,AClass:Word):Boolean;
Description: Extracts the Resource Data from the Message


[Expand]
function TDNSClient.InsertDNSQuestion(AMessage:PDNSMessage; ACount:Word; AData:Pointer; ALength,AFamily,AType,AClass:Word):Boolean;
Description: To be documented


[Expand]
function TDNSClient.ExtractDNSAnswer(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength:Word; AFamily:Word; var AType,AClass:Word; var ATtl:LongWord):Boolean;
Description: To be documented


[Expand]
function TDNSClient.ExtractDNSAuthority(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength:Word; AFamily:Word; var AType,AClass:Word; var ATtl:LongWord):Boolean;
Description: To be documented


[Expand]
function TDNSClient.ExtractDNSAdditional(AMessage:PDNSMessage; ACount:Word; AName,AData:Pointer; var ANameLength,ADataLength:Word; AFamily:Word; var AType,AClass:Word; var ATtl:LongWord):Boolean;
Description: To be documented


[Expand]
function TDNSClient.GetHostByAddr(AAddr:Pointer; ALength,AFamily:Integer):PHostEnt;
Description: Performs a DNS_TYPE_PTR Query for the Domain name of the Address supplied


[Expand]
function TDNSClient.GetHostByName(AName:PChar; AFamily:Integer):PHostEnt;
Description: Performs a DNS_TYPE_A or DNS_TYPE_AAAA Query for the Address of the Domain name supplied


[Expand]
function TDNSClient.GetHostName(AName:PChar; ALength:Integer):Integer;
Description: To be documented


[Expand]
function TDNSClient.GetServByPort(APort:Integer; AProto:PChar):PServEnt;
Description: To be documented


[Expand]
function TDNSClient.GetServByName(AName,AProto:PChar):PServEnt;
Description: To be documented


[Expand]
function TDNSClient.GetProtoByNumber(AProto:Integer):PProtoEnt;
Description: To be documented


[Expand]
function TDNSClient.GetProtoByName(AName:PChar):PProtoEnt;
Description: To be documented


[Expand]
function TDNSClient.GetNetByAddr(AAddr:Pointer; ALength,AFamily:Integer):PNetEnt;
Description: To be documented


[Expand]
function TDNSClient.GetNetByName(AName:PChar; AFamily:Integer):PNetEnt;
Description: To be documented


[Expand]
function TDNSClient.GetAddrInfo(ANodeName,AServName:PChar; AHints:PAddrInfo; var AAddrInfo:PAddrInfo):Integer;
Description: RFC 3493 protocol-independent translation from a host name to an address


[Expand]
function TDNSClient.GetNameInfo(AAddr:PSockAddr; AAddrLength:Integer; AHost:PChar; AHostLength:Integer; AServ:PChar; AServLength:Integer; AFlags:LongWord):Integer;
Description: RFC 3493 protocol-independent name resolution from an address to a host name and a port number to a service name}


[Expand]
function TDNSClient.FreeAddrInfo(AAddrInfo:PAddrInfo);
Description: Free address information that GetAddrInfo dynamically allocates in TAddrInfo structures


[Expand]
function TDNSClient.StartClient:Boolean;
Description: To be documented


[Expand]
function TDNSClient.StopClient:Boolean;
Description: To be documented


Return to Unit Reference