1 #ifndef _DNS_RELATED_ 2 #define _DNS_RELATED_ 3 4 #include "common.h" 5 6 typedef enum _DNSRecordType{ 7 DNS_TYPE_UNKNOWN = 0, 8 DNS_TYPE_A = 1, 9 DNS_TYPE_AAAA = 28, 10 DNS_TYPE_APL = 42, 11 DNS_TYPE_CERT = 37, 12 DNS_TYPE_CNAME = 5, 13 DNS_TYPE_DHCID = 49, 14 DNS_TYPE_DLV = 32769, 15 DNS_TYPE_DNAME = 39, 16 DNS_TYPE_DNSKEY = 48, 17 DNS_TYPE_DS = 43, 18 DNS_TYPE_HIP = 55, 19 DNS_TYPE_IPSECKEY = 45, 20 DNS_TYPE_KEY = 25, 21 DNS_TYPE_KX = 36, 22 DNS_TYPE_LOC = 29, 23 DNS_TYPE_MX = 15, 24 DNS_TYPE_NAPTR = 35, 25 DNS_TYPE_NS = 2, 26 DNS_TYPE_NSEC = 47, 27 DNS_TYPE_NSEC3 = 50, 28 DNS_TYPE_NSEC3PARAM = 51, 29 DNS_TYPE_PTR = 12, 30 DNS_TYPE_RRSIG = 46, 31 DNS_TYPE_RP = 17, 32 DNS_TYPE_SIG = 24, 33 DNS_TYPE_SOA = 6, 34 DNS_TYPE_SPF = 99, 35 DNS_TYPE_SRV = 33, 36 DNS_TYPE_SSHFP = 44, 37 DNS_TYPE_TA = 32768, 38 DNS_TYPE_TKEY = 249, 39 DNS_TYPE_TSIG = 250, 40 DNS_TYPE_TXT = 16, 41 DNS_TYPE_ANY = 255, 42 DNS_TYPE_AXFR = 252, 43 DNS_TYPE_IXFR = 251, 44 DNS_TYPE_HINFO = 13, 45 DNS_TYPE_OPT = 41, 46 }DNSRecordType; 47 48 typedef enum _DNSRecordClass{ 49 DNS_CLASS_UNKNOWN = 0, 50 DNS_CLASS_IN = 1, 51 DNS_CLASS_CH = 3, 52 DNS_CLASS_ANY = 255, 53 }DNSRecordClass; 54 55 typedef struct _DNSTypeName{ 56 DNSRecordType Num; 57 const char *Name; 58 }DNSTypeAndName; 59 60 typedef struct _DNSSECAlgorithm { 61 int Num; 62 const char *Name; 63 } DNSSECAlgorithm; 64 65 extern const DNSTypeAndName DNSTypeList[]; 66 67 extern const DNSSECAlgorithm DNSSECAlgorithmList[]; 68 69 const char *DNSGetTypeName(uint16_t Num); 70 71 const char *DNSSECGetAlgorithmName(int Num); 72 73 #endif /* _DNS_RELATED_ */ 74