// Header of the DNS RR
typedef struct _DnsRRHeader
{
std::string sName; // Variable
unsigned short usType; // Too many fields
unsigned short usClass;
unsigned long ulTTL;
unsigned short usRdlLength;
std::string sData; // Variable
//Default initializing ctor
_DnsRRHeader() : usType(0),
usClass(0),
ulTTL(0),
usRdlLength(0)
{
}
} DnsRRHeader;
typedef DnsRRHeader FAR * LPDnsRRHeader;
//SOA record
typedef struct _DNSSOARecord
{
std::string sPrimaryNameServer;
std::string sAuthorativeMailbox;
unsigned long ulVersionNumber;
unsigned long ulRefreshInterval;
unsigned long ulRetryInterval;
unsigned long ulExpirationLimit;
unsigned long ulMinimumTTL;
//Default initializing ctor
_DNSSOARecord() : ulVersionNumber(0),
ulRefreshInterval(0),
ulRetryInterval(0),
ulExpirationLimit(0),
ulMinimumTTL(0)
{
}
} DNSSOARecord;
#define DNSSOARecordCopySize (sizeof(unsigned long)*5)