conv.xfrLabel(d_mxname, true);
)
+boilerplate_conv(KX, ns_t_mx,
+ conv.xfr16BitInt(d_preference);
+ conv.xfrLabel(d_exchanger, false);
+ )
+
+boilerplate_conv(IPSECKEY, 45, /* ns_t_ipsec */
+ conv.xfr8BitInt(d_preference);
+ conv.xfr8BitInt(d_gatewaytype);
+ conv.xfr8BitInt(d_algorithm);
+ conv.xfrLabel(d_gateway, false);
+ conv.xfrBlob(d_publickey);
+ )
+
+boilerplate_conv(DHCID, 49,
+ conv.xfrBlob(d_content);
+ )
+
+
boilerplate_conv(AFSDB, ns_t_afsdb,
conv.xfr16BitInt(d_subtype);
conv.xfrLabel(d_hostname);
string d_mxname;
};
+class KXRecordContent : public DNSRecordContent
+{
+public:
+ KXRecordContent(uint16_t preference, const string& exchanger);
+
+ includeboilerplate(KX)
+
+private:
+ uint16_t d_preference;
+ string d_exchanger;
+};
+
+class IPSECKEYRecordContent : public DNSRecordContent
+{
+public:
+ IPSECKEYRecordContent(uint16_t preference, uint8_t gatewaytype, uint8_t algo, const std::string& gateway, const std::string &publickey);
+
+ includeboilerplate(IPSECKEY)
+
+private:
+ uint8_t d_preference, d_gatewaytype, d_algorithm;
+ string d_gateway, d_publickey;
+};
+
+class DHCIDRecordContent : public DNSRecordContent
+{
+public:
+ includeboilerplate(DHCID)
+
+private:
+ string d_content;
+};
+
+
class SRVRecordContent : public DNSRecordContent
{
public: