Difference between revisions of "Unit DNS"
From Ultibo.org
(11 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
---- | ---- | ||
− | '''Ultibo DNS | + | '''Ultibo DNS Client unit''' |
Note: DNS Client is IPv4 based, for IPv6 see new Winsock2 functions | Note: DNS Client is IPv4 based, for IPv6 see new Winsock2 functions | ||
Line 20: | Line 20: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | | <code>DNS_TIMEOUT = | + | | <code>DNS_TIMEOUT = 2000;</code> |
− | | We wait for | + | | We wait for 2 seconds for a DNS reply |
|- | |- | ||
− | | <code>DNS_RETRIES = | + | | <code>DNS_RETRIES = 2;</code> |
− | | Try the request | + | | Try the request 2 times |
|- | |- | ||
|colspan="2"| | |colspan="2"| | ||
Line 54: | Line 54: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''DNS flag | + | <div style="font-size: 14px; padding-left: 12px;">'''DNS flag''' <code> DNS_FLAG_* </code></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;" | ||
Line 77: | Line 77: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''DNS field | + | <div style="font-size: 14px; padding-left: 12px;">'''DNS field mask''' <code> DNS_*_MASK </code></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;" | ||
Line 91: | Line 91: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''DNS | + | <div style="font-size: 14px; padding-left: 12px;">'''DNS opcode''' <code> DNS_OPCODE_* </code></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;" | ||
|- | |- | ||
− | | <code> | + | | <code>DNS_OPCODE_QUERY = 0;</code> |
| A standard query | | A standard query | ||
|- | |- | ||
− | | <code> | + | | <code>DNS_OPCODE_IQUERY = 1;</code> |
| An inverse query | | An inverse query | ||
|- | |- | ||
− | | <code> | + | | <code>DNS_OPCODE_SERVER_STATUS = 2;</code> |
− | | | + | | |
|- | |- | ||
− | | <code> | + | | <code>DNS_OPCODE_UNKNOWN = 3;</code> |
− | | | + | | |
+ | |- | ||
+ | | <code>DNS_OPCODE_NOTIFY = 4;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_OPCODE_UPDATE = 5;</code> | ||
+ | | | ||
|- | |- | ||
|} | |} | ||
Line 111: | Line 117: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''DNS response code | + | <div style="font-size: 14px; padding-left: 12px;">'''DNS response code''' <code> DNS_RESPONSE_* </code></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;" | ||
|- | |- | ||
− | | <code> | + | | <code>DNS_RESPONSE_NO_ERROR = 0;</code> |
| style="width: 50%;"| | | style="width: 50%;"| | ||
|- | |- | ||
− | | <code> | + | | <code>DNS_RESPONSE_FORMAT_ERROR = 1;</code> |
| | | | ||
|- | |- | ||
− | | <code> | + | | <code>DNS_RESPONSE_SERVER_FAILURE = 2;</code> |
| | | | ||
|- | |- | ||
− | | <code> | + | | <code>DNS_RESPONSE_NAME_ERROR = 3;</code> |
| | | | ||
|- | |- | ||
− | | <code> | + | | <code>DNS_RESPONSE_NOT_IMPLEMENTED = 4;</code> |
| | | | ||
|- | |- | ||
− | | <code> | + | | <code>DNS_RESPONSE_REFUSED = 5;</code> |
| | | | ||
|- | |- | ||
Line 137: | Line 143: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''DNS record type | + | <div style="font-size: 14px; padding-left: 12px;">'''DNS record type''' <code> DNS_TYPE_* </code></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;" | ||
|- | |- | ||
− | | <code>DNS_TYPE_A = | + | | <code>DNS_TYPE_A = $0001;</code> |
| Host address resource record (RR) | | Host address resource record (RR) | ||
|- | |- | ||
− | | <code>DNS_TYPE_NS = | + | | <code>DNS_TYPE_NS = $0002;</code> |
| | | | ||
|- | |- | ||
− | | <code>DNS_TYPE_MD = | + | | <code>DNS_TYPE_MD = $0003;</code> |
| | | | ||
|- | |- | ||
− | | <code>DNS_TYPE_MF = | + | | <code>DNS_TYPE_MF = $0004;</code> |
| | | | ||
|- | |- | ||
− | | <code>DNS_TYPE_CNAME = | + | | <code>DNS_TYPE_CNAME = $0005;</code> |
| | | | ||
|- | |- | ||
− | | <code>DNS_TYPE_SOA = | + | | <code>DNS_TYPE_SOA = $0006;</code> |
| | | | ||
|- | |- | ||
− | | <code>DNS_TYPE_MB = | + | | <code>DNS_TYPE_MB = $0007;</code> |
| | | | ||
|- | |- | ||
− | | <code>DNS_TYPE_MG = | + | | <code>DNS_TYPE_MG = $0008;</code> |
| | | | ||
|- | |- | ||
− | | <code>DNS_TYPE_MR = | + | | <code>DNS_TYPE_MR = $0009;</code> |
| | | | ||
|- | |- | ||
− | | <code> | + | | <code>DNS_TYPE_NULL = $000a;</code> |
| | | | ||
|- | |- | ||
− | | <code>DNS_TYPE_WKS = | + | | <code>DNS_TYPE_WKS = $000b;</code> |
| | | | ||
|- | |- | ||
− | | <code>DNS_TYPE_PTR = | + | | <code>DNS_TYPE_PTR = $000c;</code> |
| A domain name ptr | | A domain name ptr | ||
|- | |- | ||
− | | <code>DNS_TYPE_HINFO = | + | | <code>DNS_TYPE_HINFO = $000d;</code> |
| | | | ||
|- | |- | ||
− | | <code>DNS_TYPE_MINFO = | + | | <code>DNS_TYPE_MINFO = $000e;</code> |
| | | | ||
|- | |- | ||
− | | <code>DNS_TYPE_MX = | + | | <code>DNS_TYPE_MX = $000f;</code> |
| Mail exchange | | Mail exchange | ||
+ | |- | ||
+ | | <code>DNS_TYPE_TEXT = $0010;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_RP = $0011;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_AFSDB = $0012;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_X25 = $0013;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_ISDN = $0014;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_RT = $0015;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_NSAP = $0016;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_NSAPPTR = $0017;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_SIG = $0018;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_KEY = $0019;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_PX = $001a;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_GPOS = $001b;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_AAAA = $001c;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_LOC = $001d;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_NXT = $001e;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_EID = $001f;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_NIMLOC = $0020;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_SRV = $0021;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_ATMA = $0022;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_NAPTR = $0023;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_KX = $0024;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_CERT = $0025;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_A6 = $0026;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_DNAME = $0027;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_SINK = $0028;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_OPT = $0029;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_DS = $002B;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_RRSIG = $002E;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_NSEC = $002F;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_DNSKEY = $0030;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_DHCID = $0031;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_UINFO = $0064;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_UID = $0065;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_GID = $0066;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_UNSPEC = $0067;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_ADDRS = $00f8;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_TKEY = $00f9;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_TSIG = $00fa;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_IXFR = $00fb;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_AXFR = $00fc;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_MAILB = $00fd;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_MAILA = $00fe;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_ALL = $00ff;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_ANY = $00ff;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_WINS = $ff01;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_WINSR = $ff02;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_TYPE_NBSTAT = DNS_TYPE_WINSR;</code> | ||
+ | | | ||
|- | |- | ||
|} | |} | ||
Line 190: | Line 337: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''DNS address class | + | <div style="font-size: 14px; padding-left: 12px;">'''DNS address class''' <code> DNS_CLASS_* </code></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;" | ||
|- | |- | ||
− | | <code>DNS_CLASS_IN = | + | | <code>DNS_CLASS_INTERNET = $0001;</code> |
+ | | | ||
+ | |- | ||
+ | | <code>DNS_CLASS_CSNET = $0002;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_CLASS_CHAOS = $0003;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_CLASS_HESIOD = $0004;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_CLASS_NONE = $00fe;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_CLASS_ALL = $00ff;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_CLASS_ANY = $00ff;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>DNS_CLASS_IN = DNS_CLASS_INTERNET;</code> | ||
| ARPA internet class | | ARPA internet class | ||
|- | |- | ||
− | | <code>DNS_CLASS_CS = | + | | <code>DNS_CLASS_CS = DNS_CLASS_CSNET;</code> |
| | | | ||
|- | |- | ||
− | | <code>DNS_CLASS_WILD = | + | | <code>DNS_CLASS_WILD = DNS_CLASS_ANY;</code> |
| Wildcard for several of the classifications | | Wildcard for several of the classifications | ||
|- | |- | ||
|} | |} | ||
</div></div> | </div></div> | ||
− | <br /> | + | <br /> |
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''DNS message compression | + | <div style="font-size: 14px; padding-left: 12px;">'''DNS message compression''' <code> DNS_POINTER_* </code></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;" | ||
Line 272: | Line 440: | ||
</div></div> | </div></div> | ||
− | ''' | + | '''DNS name''' |
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
Line 282: | Line 450: | ||
|- | |- | ||
| | | | ||
− | | style="width: | + | | style="width: 50%;"| |
|- | |- | ||
|} | |} | ||
Line 340: | Line 508: | ||
|- | |- | ||
|} | |} | ||
− | </div></div> | + | </div></div> |
− | ''' | + | '''DNS client name''' |
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PDNSClientName = ^TDNSClientName;</code> | ||
+ | |||
+ | <code>TDNSClientName = array[0..MAX_NAME_SIZE - 1] of Char;</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''DNS client data''' | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
Line 358: | Line 541: | ||
| style="width: 50%;"| | | style="width: 50%;"| | ||
|- | |- | ||
− | | <code>HostEntName: | + | | <code>HostEntName:TDNSClientName;</code> |
| | | | ||
|- | |- | ||
− | | <code>HostAliasesPtr:PChar;</code> | + | | <code>HostAliasesPtr:array[0..MAX_NAME_ALIASES] of PChar;</code> |
− | | | + | | One extra for terminating null pointer |
|- | |- | ||
− | | <code>HostAliases:array[0.. | + | | <code>HostAliases:array[0..MAX_NAME_ALIASES - 1] of TDNSClientName;</code> |
| | | | ||
|- | |- | ||
− | | <code>HostAddrListPtr:PChar;</code> | + | | <code>HostAddrListPtr:array[0..MAX_HOST_ALIASES] of PChar;</code> |
− | | | + | | One extra for terminating null pointer |
|- | |- | ||
| <code>HostAddrList:array[0..MAX_HOST_ALIASES - 1] of TInAddr;</code> | | <code>HostAddrList:array[0..MAX_HOST_ALIASES - 1] of TInAddr;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>HostAddr6ListPtr:array[0..MAX_HOST_ALIASES] of PChar;</code> | ||
+ | | One extra for terminating null pointer | ||
+ | |- | ||
+ | | <code>HostAddr6List:array[0..MAX_HOST_ALIASES - 1] of TIn6Addr;</code> | ||
| | | | ||
|- | |- | ||
Line 378: | Line 567: | ||
| | | | ||
|- | |- | ||
− | | <code>NetEntName: | + | | <code>NetEntName:TDNSClientName;</code> |
| | | | ||
|- | |- | ||
− | | <code>NetAliasesPtr:PChar;</code> | + | | <code>NetAliasesPtr:array[0..MAX_NAME_ALIASES] of PChar;</code> |
− | | | + | | One extra for terminating null pointer |
|- | |- | ||
− | | <code>NetAliases:array[0.. | + | | <code>NetAliases:array[0..MAX_NAME_ALIASES - 1] of TDNSClientName;</code> |
| | | | ||
|- | |- | ||
Line 392: | Line 581: | ||
| | | | ||
|- | |- | ||
− | | <code>ServEntName: | + | | <code>ServEntName:TDNSClientName;</code> |
| | | | ||
|- | |- | ||
− | | <code>ServAliasesPtr:PChar;</code> | + | | <code>ServAliasesPtr:array[0..MAX_NAME_ALIASES] of PChar;</code> |
− | | | + | | One extra for terminating null pointer |
|- | |- | ||
− | | <code>ServAliases:array[0.. | + | | <code>ServAliases:array[0..MAX_NAME_ALIASES - 1] of TDNSClientName;</code> |
| | | | ||
|- | |- | ||
− | | <code>ServEntProto: | + | | <code>ServEntProto:TDNSClientName;</code> |
| | | | ||
|- | |- | ||
Line 409: | Line 598: | ||
| | | | ||
|- | |- | ||
− | | <code>ProtoEntName: | + | | <code>ProtoEntName:TDNSClientName;</code> |
| | | | ||
|- | |- | ||
− | | <code>ProtoAliasesPtr:PChar;</code> | + | | <code>ProtoAliasesPtr:array[0..MAX_NAME_ALIASES] of PChar;</code> |
− | | | + | | One extra for terminating null pointer |
|- | |- | ||
− | | <code>ProtoAliases:array[0.. | + | | <code>ProtoAliases:array[0..MAX_NAME_ALIASES - 1] of TDNSClientName;</code> |
| | | | ||
|- | |- | ||
Line 425: | Line 614: | ||
---- | ---- | ||
− | '' | + | |
+ | '''DNS specific classes''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | [[TDNSClient|<code>TDNSClient = class(TNetworkClient)</code>]] | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
=== Public variables === | === Public variables === | ||
Line 444: | Line 641: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 456: | Line 653: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 468: | Line 665: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- |
Latest revision as of 02:24, 6 March 2025
Return to Unit Reference
Contents
[hide]Description
Ultibo DNS Client unit
Note: DNS Client is IPv4 based, for IPv6 see new Winsock2 functions
See RFC 1035 Section 4 for details
Constants
[Expand]
DNS specific constants
DNS_*
[Expand]
DNS flag
DNS_FLAG_*
[Expand]
DNS field mask
DNS_*_MASK
[Expand]
DNS opcode
DNS_OPCODE_*
[Expand]
DNS response code
DNS_RESPONSE_*
[Expand]
DNS record type
DNS_TYPE_*
[Expand]
DNS address class
DNS_CLASS_*
[Expand]
DNS message compression
DNS_POINTER_*
Type definitions
DNS specific types
DNS message
DNS name
DNS question
DNS resource
DNS client name
DNS client data
Class definitions
DNS specific classes
TDNSClient = class(TNetworkClient)
|
Public variables
None defined
Function declarations
Initialization functions
Return to Unit Reference