dns
Safe HaskellNone
LanguageHaskell2010

Network.DNS.Types

Description

Data types for DNS Query and Response. For more information, see http://www.ietf.org/rfc/rfc1035.

Synopsis

Resource Records

data ResourceRecord #

Constructors

ResourceRecord 

Fields

Instances

Instances details
Show ResourceRecord # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> ResourceRecord -> ShowS

show :: ResourceRecord -> String

showList :: [ResourceRecord] -> ShowS

Eq ResourceRecord # 
Instance details

Defined in Network.DNS.Types.Internal

Types

type Domain = ByteString #

type CLASS = Word16 #

type TTL = Word32 #

Resource Record Types

data TYPE where #

Bundled Patterns

pattern A :: TYPE 
pattern NS :: TYPE 
pattern CNAME :: TYPE 
pattern SOA :: TYPE 
pattern NULL :: TYPE 
pattern PTR :: TYPE 
pattern MX :: TYPE 
pattern TXT :: TYPE 
pattern AAAA :: TYPE 
pattern SRV :: TYPE 
pattern DNAME :: TYPE 
pattern OPT :: TYPE 
pattern DS :: TYPE 
pattern RRSIG :: TYPE 
pattern NSEC :: TYPE 
pattern DNSKEY :: TYPE 
pattern NSEC3 :: TYPE 
pattern NSEC3PARAM :: TYPE 
pattern TLSA :: TYPE 
pattern CDS :: TYPE 
pattern CDNSKEY :: TYPE 
pattern CSYNC :: TYPE 
pattern AXFR :: TYPE 
pattern ANY :: TYPE 
pattern CAA :: TYPE 

Instances

Instances details
Show TYPE # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> TYPE -> ShowS

show :: TYPE -> String

showList :: [TYPE] -> ShowS

Eq TYPE # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: TYPE -> TYPE -> Bool

(/=) :: TYPE -> TYPE -> Bool

Ord TYPE # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

compare :: TYPE -> TYPE -> Ordering

(<) :: TYPE -> TYPE -> Bool

(<=) :: TYPE -> TYPE -> Bool

(>) :: TYPE -> TYPE -> Bool

(>=) :: TYPE -> TYPE -> Bool

max :: TYPE -> TYPE -> TYPE

min :: TYPE -> TYPE -> TYPE

fromTYPE :: TYPE -> Word16 #

toTYPE :: Word16 -> TYPE #

Resource Data

data RData #

Constructors

RD_A IPv4 
RD_NS Domain 
RD_CNAME Domain 
RD_SOA Domain Mailbox Word32 Word32 Word32 Word32 Word32 
RD_NULL ByteString 
RD_PTR Domain 
RD_MX Word16 Domain 
RD_TXT ByteString 
RD_RP Mailbox Domain 
RD_AAAA IPv6 
RD_SRV Word16 Word16 Word16 Domain 
RD_DNAME Domain 
RD_OPT [OData] 
RD_DS Word16 Word8 Word8 ByteString 
RD_RRSIG RD_RRSIG 
RD_NSEC Domain [TYPE] 
RD_DNSKEY Word16 Word8 Word8 ByteString 
RD_NSEC3 Word8 Word8 Word16 ByteString ByteString [TYPE] 
RD_NSEC3PARAM Word8 Word8 Word16 ByteString 
RD_TLSA Word8 Word8 Word8 ByteString 
RD_CDS Word16 Word8 Word8 ByteString 
RD_CDNSKEY Word16 Word8 Word8 ByteString 
RD_CAA Word8 (CI ByteString) ByteString 
UnknownRData ByteString 

Instances

Instances details
Show RData # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> RData -> ShowS

show :: RData -> String

showList :: [RData] -> ShowS

Eq RData # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: RData -> RData -> Bool

(/=) :: RData -> RData -> Bool

Ord RData # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

compare :: RData -> RData -> Ordering

(<) :: RData -> RData -> Bool

(<=) :: RData -> RData -> Bool

(>) :: RData -> RData -> Bool

(>=) :: RData -> RData -> Bool

max :: RData -> RData -> RData

min :: RData -> RData -> RData

data RD_RRSIG #

Constructors

RDREP_RRSIG 

Fields

Instances

Instances details
Show RD_RRSIG # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> RD_RRSIG -> ShowS

show :: RD_RRSIG -> String

showList :: [RD_RRSIG] -> ShowS

Eq RD_RRSIG # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: RD_RRSIG -> RD_RRSIG -> Bool

(/=) :: RD_RRSIG -> RD_RRSIG -> Bool

Ord RD_RRSIG # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

compare :: RD_RRSIG -> RD_RRSIG -> Ordering

(<) :: RD_RRSIG -> RD_RRSIG -> Bool

(<=) :: RD_RRSIG -> RD_RRSIG -> Bool

(>) :: RD_RRSIG -> RD_RRSIG -> Bool

(>=) :: RD_RRSIG -> RD_RRSIG -> Bool

max :: RD_RRSIG -> RD_RRSIG -> RD_RRSIG

min :: RD_RRSIG -> RD_RRSIG -> RD_RRSIG

dnsTime :: Word32 -> Int64 -> Int64 #

DNS Message

data DNSMessage #

Instances

Instances details
Show DNSMessage # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> DNSMessage -> ShowS

show :: DNSMessage -> String

showList :: [DNSMessage] -> ShowS

Eq DNSMessage # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: DNSMessage -> DNSMessage -> Bool

(/=) :: DNSMessage -> DNSMessage -> Bool

Query

Query Controls

data QueryControls #

Instances

Instances details
Monoid QueryControls # 
Instance details

Defined in Network.DNS.Types.Internal

Semigroup QueryControls # 
Instance details

Defined in Network.DNS.Types.Internal

Show QueryControls # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> QueryControls -> ShowS

show :: QueryControls -> String

showList :: [QueryControls] -> ShowS

Eq QueryControls # 
Instance details

Defined in Network.DNS.Types.Internal

ednsSetVersion :: Maybe Word8 -> QueryControls #

ednsSetUdpSize :: Maybe Word16 -> QueryControls #

Flag and OData control operations

data FlagOp #

Instances

Instances details
Monoid FlagOp # 
Instance details

Defined in Network.DNS.Types.Internal

Semigroup FlagOp # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(<>) :: FlagOp -> FlagOp -> FlagOp

sconcat :: NonEmpty FlagOp -> FlagOp

stimes :: Integral b => b -> FlagOp -> FlagOp

Show FlagOp # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> FlagOp -> ShowS

show :: FlagOp -> String

showList :: [FlagOp] -> ShowS

Eq FlagOp # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: FlagOp -> FlagOp -> Bool

(/=) :: FlagOp -> FlagOp -> Bool

data ODataOp #

Constructors

ODataAdd [OData] 
ODataSet [OData] 

Instances

Instances details
Monoid ODataOp # 
Instance details

Defined in Network.DNS.Types.Internal

Semigroup ODataOp # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(<>) :: ODataOp -> ODataOp -> ODataOp

sconcat :: NonEmpty ODataOp -> ODataOp

stimes :: Integral b => b -> ODataOp -> ODataOp

Eq ODataOp # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: ODataOp -> ODataOp -> Bool

(/=) :: ODataOp -> ODataOp -> Bool

Response

DNS Header

data DNSHeader #

Constructors

DNSHeader 

Instances

Instances details
Show DNSHeader # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> DNSHeader -> ShowS

show :: DNSHeader -> String

showList :: [DNSHeader] -> ShowS

Eq DNSHeader # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: DNSHeader -> DNSHeader -> Bool

(/=) :: DNSHeader -> DNSHeader -> Bool

type Identifier = Word16 #

DNS flags

data DNSFlags #

Constructors

DNSFlags 

Fields

Instances

Instances details
Show DNSFlags # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> DNSFlags -> ShowS

show :: DNSFlags -> String

showList :: [DNSFlags] -> ShowS

Eq DNSFlags # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: DNSFlags -> DNSFlags -> Bool

(/=) :: DNSFlags -> DNSFlags -> Bool

data QorR #

Constructors

QR_Query 
QR_Response 

Instances

Instances details
Bounded QorR # 
Instance details

Defined in Network.DNS.Types.Internal

Enum QorR # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

succ :: QorR -> QorR

pred :: QorR -> QorR

toEnum :: Int -> QorR

fromEnum :: QorR -> Int

enumFrom :: QorR -> [QorR]

enumFromThen :: QorR -> QorR -> [QorR]

enumFromTo :: QorR -> QorR -> [QorR]

enumFromThenTo :: QorR -> QorR -> QorR -> [QorR]

Show QorR # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> QorR -> ShowS

show :: QorR -> String

showList :: [QorR] -> ShowS

Eq QorR # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: QorR -> QorR -> Bool

(/=) :: QorR -> QorR -> Bool

OPCODE and RCODE

data OPCODE #

Instances

Instances details
Bounded OPCODE # 
Instance details

Defined in Network.DNS.Types.Internal

Enum OPCODE # 
Instance details

Defined in Network.DNS.Types.Internal

Show OPCODE # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> OPCODE -> ShowS

show :: OPCODE -> String

showList :: [OPCODE] -> ShowS

Eq OPCODE # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: OPCODE -> OPCODE -> Bool

(/=) :: OPCODE -> OPCODE -> Bool

fromOPCODE :: OPCODE -> Word16 #

toOPCODE :: Word16 -> Maybe OPCODE #

data RCODE where #

Bundled Patterns

pattern NoErr :: RCODE 
pattern FormatErr :: RCODE 
pattern ServFail :: RCODE 
pattern NameErr :: RCODE 
pattern NotImpl :: RCODE 
pattern Refused :: RCODE 
pattern YXDomain :: RCODE 
pattern YXRRSet :: RCODE 
pattern NXRRSet :: RCODE 
pattern NotAuth :: RCODE 
pattern NotZone :: RCODE 
pattern BadVers :: RCODE 
pattern BadKey :: RCODE 
pattern BadTime :: RCODE 
pattern BadMode :: RCODE 
pattern BadName :: RCODE 
pattern BadAlg :: RCODE 
pattern BadTrunc :: RCODE 
pattern BadCookie :: RCODE 
pattern BadRCODE :: RCODE 

Instances

Instances details
Enum RCODE # 
Instance details

Defined in Network.DNS.Types.Internal

Show RCODE # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> RCODE -> ShowS

show :: RCODE -> String

showList :: [RCODE] -> ShowS

Eq RCODE # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: RCODE -> RCODE -> Bool

(/=) :: RCODE -> RCODE -> Bool

fromRCODE :: RCODE -> Word16 #

toRCODE :: Word16 -> RCODE #

EDNS Pseudo-Header

data EDNSheader #

Instances

Instances details
Show EDNSheader # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> EDNSheader -> ShowS

show :: EDNSheader -> String

showList :: [EDNSheader] -> ShowS

Eq EDNSheader # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: EDNSheader -> EDNSheader -> Bool

(/=) :: EDNSheader -> EDNSheader -> Bool

ifEDNS :: EDNSheader -> a -> a -> a #

mapEDNS :: EDNSheader -> (EDNS -> a) -> a -> a #

EDNS record

data EDNS #

Constructors

EDNS 

Fields

Instances

Instances details
Show EDNS # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> EDNS -> ShowS

show :: EDNS -> String

showList :: [EDNS] -> ShowS

Eq EDNS # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: EDNS -> EDNS -> Bool

(/=) :: EDNS -> EDNS -> Bool

maxUdpSize :: Word16 #

minUdpSize :: Word16 #

EDNS options

data OData #

Constructors

OD_NSID ByteString 
OD_DAU [Word8] 
OD_DHU [Word8] 
OD_N3U [Word8] 
OD_ClientSubnet Word8 Word8 IP 
OD_ECSgeneric Word16 Word8 Word8 ByteString 
UnknownOData Word16 ByteString 

Instances

Instances details
Show OData # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> OData -> ShowS

show :: OData -> String

showList :: [OData] -> ShowS

Eq OData # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: OData -> OData -> Bool

(/=) :: OData -> OData -> Bool

Ord OData # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

compare :: OData -> OData -> Ordering

(<) :: OData -> OData -> Bool

(<=) :: OData -> OData -> Bool

(>) :: OData -> OData -> Bool

(>=) :: OData -> OData -> Bool

max :: OData -> OData -> OData

min :: OData -> OData -> OData

data OptCode where #

Bundled Patterns

pattern ClientSubnet :: OptCode 
pattern DAU :: OptCode 
pattern DHU :: OptCode 
pattern N3U :: OptCode 
pattern NSID :: OptCode 

Instances

Instances details
Show OptCode # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> OptCode -> ShowS

show :: OptCode -> String

showList :: [OptCode] -> ShowS

Eq OptCode # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: OptCode -> OptCode -> Bool

(/=) :: OptCode -> OptCode -> Bool

Ord OptCode # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

compare :: OptCode -> OptCode -> Ordering

(<) :: OptCode -> OptCode -> Bool

(<=) :: OptCode -> OptCode -> Bool

(>) :: OptCode -> OptCode -> Bool

(>=) :: OptCode -> OptCode -> Bool

max :: OptCode -> OptCode -> OptCode

min :: OptCode -> OptCode -> OptCode

fromOptCode :: OptCode -> Word16 #

toOptCode :: Word16 -> OptCode #

DNS Body

data Question #

Constructors

Question 

Fields

Instances

Instances details
Show Question # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> Question -> ShowS

show :: Question -> String

showList :: [Question] -> ShowS

Eq Question # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: Question -> Question -> Bool

(/=) :: Question -> Question -> Bool

DNS Error

data DNSError #

Instances

Instances details
Exception DNSError # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

toException :: DNSError -> SomeException

fromException :: SomeException -> Maybe DNSError

displayException :: DNSError -> String

backtraceDesired :: DNSError -> Bool

Show DNSError # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

showsPrec :: Int -> DNSError -> ShowS

show :: DNSError -> String

showList :: [DNSError] -> ShowS

Eq DNSError # 
Instance details

Defined in Network.DNS.Types.Internal

Methods

(==) :: DNSError -> DNSError -> Bool

(/=) :: DNSError -> DNSError -> Bool

Other types

type Mailbox = ByteString #