libraries/pcappp/include/pcapplusplus/DnsLayerEnums.h

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