1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#ifndef PACKETPP_DNS_LAYER_ENUMS
#define PACKETPP_DNS_LAYER_ENUMS
/// @file
/**
* \namespace pcpp
* \brief The main namespace for the PcapPlusPlus lib
*/
namespace pcpp
{
/**
* An enum for all possible DNS record types
*/
enum DnsType
{
/** IPv4 address record */
DNS_TYPE_A = 1,
/** Name Server record */
DNS_TYPE_NS,
/** Obsolete, replaced by MX */
DNS_TYPE_MD,
/** Obsolete, replaced by MX */
DNS_TYPE_MF,
/** Canonical name record */
DNS_TYPE_CNAME,
/** Start of Authority record */
DNS_TYPE_SOA,
/** mailbox domain name record */
DNS_TYPE_MB,
/** mail group member record */
DNS_TYPE_MG,
/** mail rename domain name record */
DNS_TYPE_MR,
/** NULL record */
DNS_TYPE_NULL_R,
/** well known service description record */
DNS_TYPE_WKS,
/** Pointer record */
DNS_TYPE_PTR,
/** Host information record */
DNS_TYPE_HINFO,
/** mailbox or mail list information record */
DNS_TYPE_MINFO,
/** Mail exchanger record */
DNS_TYPE_MX,
/** Text record */
DNS_TYPE_TXT,
/** Responsible person record */
DNS_TYPE_RP,
/** AFS database record */
DNS_TYPE_AFSDB,
/** DNS X25 resource record */
DNS_TYPE_X25,
/** Integrated Services Digital Network record */
DNS_TYPE_ISDN,
/** Route Through record */
DNS_TYPE_RT,
/** network service access point address record */
DNS_TYPE_NSAP,
/** network service access point address pointer record */
DNS_TYPE_NSAP_PTR,
/** Signature record */
DNS_TYPE_SIG,
/** Key record */
DNS_TYPE_KEY,
/** Mail Mapping Information record */
DNS_TYPE_PX,
/** DNS Geographical Position record */
DNS_TYPE_GPOS,
/** IPv6 address record */
DNS_TYPE_AAAA,
/** Location record */
DNS_TYPE_LOC,
/** Obsolete record */
DNS_TYPE_NXT,
/** DNS Endpoint Identifier record */
DNS_TYPE_EID,
/** DNS Nimrod Locator record */
DNS_TYPE_NIMLOC,
/** Service locator record */
DNS_TYPE_SRV,
/** Asynchronous Transfer Mode address record */
DNS_TYPE_ATMA,
/** Naming Authority Pointer record */
DNS_TYPE_NAPTR,
/** Key eXchanger record */
DNS_TYPE_KX,
/** Certificate record */
DNS_TYPE_CERT,
/** Obsolete, replaced by AAAA type */
DNS_TYPE_A6,
/** Delegation Name record */
DNS_TYPE_DNAM,
/** Kitchen sink record */
DNS_TYPE_SINK,
/** Option record */
DNS_TYPE_OPT,
/** Address Prefix List record */
DNS_TYPE_APL,
/** Delegation signer record */
DNS_TYPE_DS,
/** SSH Public Key Fingerprint record */
DNS_TYPE_SSHFP,
/** IPsec Key record */
DNS_TYPE_IPSECKEY,
/** DNSSEC signature record */
DNS_TYPE_RRSIG,
/** Next-Secure record */
DNS_TYPE_NSEC,
/** DNS Key record */
DNS_TYPE_DNSKEY,
/** DHCP identifier record */
DNS_TYPE_DHCID,
/** NSEC record version 3 */
DNS_TYPE_NSEC3,
/** NSEC3 parameters */
DNS_TYPE_NSEC3PARAM,
/** All cached records */
DNS_TYPE_ALL = 255
};
/**
* An enum for all possible DNS classes
*/
enum DnsClass
{
/** Internet class */
DNS_CLASS_IN = 1,
/** Internet class with QU flag set to True */
DNS_CLASS_IN_QU = 32769,
/** Chaos class */
DNS_CLASS_CH = 3,
/** Hesiod class */
DNS_CLASS_HS = 4,
/** ANY class */
DNS_CLASS_ANY = 255
};
/**
* An enum for representing the 4 types of possible DNS records
*/
enum DnsResourceType
{
/** DNS query record */
DnsQueryType = 0,
/** DNS answer record */
DnsAnswerType = 1,
/** DNS authority record */
DnsAuthorityType = 2,
/** DNS additional record */
DnsAdditionalType = 3
};
}
#endif // PACKETPP_DNS_LAYER_ENUMS