Defined in file: hzDNS.h

hzDNS - DnsQuery class. Facilitates DNS lookup

Constructors/Detructors

hzDNS*hzDNS(void)
void~hzDNS(void)

Public Methods:

uint32_tNoAdditional(void)
uint32_tNoAnswers(void)
uint32_tNoAuth(void)
hzEcodeQuery(const char* dom)DnsType eType, Do the actual DNS query.
hzEcodeQueryA(const char* dom)
hzEcodeQueryMX(const char* dom)
hzEcodeQueryPTR(const char* dom)
hzEcodeQuerySPF(const char* dom)
hzEcodeQueryTXT(const char* dom)
hzEcodeSelectMX(hzList<hzResServer>& ServersMX)const char* dom, Select mail servers for a domain
voidShow(hzChain& Result)Output search results to the supplied hzChain Returns: None
void_clear(void)Resets the hzDNS instance back to an unpopulated state. Note this does not delete the operating buffer. This is only deleted by the destructor. Arguments: None Returns: None
hzString_procraw(unsigned char** cpPtr)Obtain a null terminated server name from the DNS response buffer The supplied argument is a pointer to the pointer into the DNS response buffer. The string extraction process is as follows:- We assume we are one a byte which either describes a lenght or a location. A byte of 0xC0 or greater states that the next byte specifies a location (within the first 240 bytes of the buffer) where the string can be found. A byte lower than this indicates the length of the string which can be found directly after this byte. Note that a string can be comprised of a mix of earlier strings (0xC0) and new strings.

Member Variables:

uint16_tm_DNAExactly
hzChainm_ErrorFor error reporting
uint32_tm_ResvReserved
hzList<DnsRec>m_arAddAdditional section
hzList<DnsRec>m_arAnsAnswer section
hzList<DnsRec>m_arAutAuthorative section
hzList<DnsRec>m_arQusQuestion section
unsigned char*m_cpDnsBuffer for DNS output
uint16_tm_qIDSo we can check this against ID of query