content: -- | Data types for DNS Query and Response.
  --   For more information, see <http://www.ietf.org/rfc/rfc1035>.
  
  module Network.DNS.Types (
    -- * Resource Records
      ResourceRecord (..)
    , Answers
    , AuthorityRecords
    , AdditionalRecords
    -- ** Types
    , Domain
    , CLASS
    , classIN
    , TTL
    -- ** Resource Record Types
    , TYPE (
      A
    , NS
    , CNAME
    , SOA
    , NULL
    , PTR
    , MX
    , TXT
    , AAAA
    , SRV
    , DNAME
    , OPT
    , DS
    , RRSIG
    , NSEC
    , DNSKEY
    , NSEC3
    , NSEC3PARAM
    , TLSA
    , CDS
    , CDNSKEY
    , CSYNC
    , AXFR
    , ANY
    , CAA
    )
    , fromTYPE
    , toTYPE
    -- ** Resource Data
    , RData (..)
    , RD_RRSIG(..)
    , dnsTime
    -- * DNS Message
    , DNSMessage (..)
    -- ** Query
    , makeQuery
    , makeEmptyQuery
    , defaultQuery
    -- ** Query Controls
    , QueryControls
    , rdFlag
    , adFlag
    , cdFlag
    , doFlag
    , ednsEnabled
    , ednsSetVersion
    , ednsSetUdpSize
    , ednsSetOptions
    -- *** Flag and OData control operations
    , FlagOp(..)
    , ODataOp(..)
    -- ** Response
    , defaultResponse
    , makeResponse
    -- ** DNS Header
    , DNSHeader (..)
    , Identifier
    -- *** DNS flags
    , DNSFlags (..)
    , QorR (..)
    , defaultDNSFlags
    -- *** OPCODE and RCODE
    , OPCODE (..)
    , fromOPCODE
    , toOPCODE
    , RCODE (
      NoErr
    , FormatErr
    , ServFail
    , NameErr
    , NotImpl
    , Refused
    , YXDomain
    , YXRRSet
    , NXRRSet
    , NotAuth
    , NotZone
    , BadVers
    , BadKey
    , BadTime
    , BadMode
    , BadName
    , BadAlg
    , BadTrunc
    , BadCookie
    , BadRCODE
    )
    , fromRCODE
    , toRCODE
    -- ** EDNS Pseudo-Header
    , EDNSheader(..)
    , ifEDNS
    , mapEDNS
    -- *** EDNS record
    , EDNS(..)
    , defaultEDNS
    , maxUdpSize
    , minUdpSize
    -- *** EDNS options
    , OData (..)
    , OptCode (
      ClientSubnet
    , DAU
    , DHU
    , N3U
    , NSID
    )
    , fromOptCode
    , toOptCode
    -- ** DNS Body
    , Question (..)
    -- * DNS Error
    , DNSError (..)
    -- * Other types
    , Mailbox
      ) where
  
  import Network.DNS.Types.Internal
  