160 lines
3.5 KiB
C++
160 lines
3.5 KiB
C++
#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
|