Safe Haskell | None |
---|---|
Language | Haskell2010 |
Network.DNS.Types
Description
Data types for DNS Query and Response. For more information, see http://www.ietf.org/rfc/rfc1035.
Synopsis
- data ResourceRecord = ResourceRecord {}
- type Answers = [ResourceRecord]
- type AuthorityRecords = [ResourceRecord]
- type AdditionalRecords = [ResourceRecord]
- type Domain = ByteString
- type CLASS = Word16
- classIN :: CLASS
- type TTL = Word32
- data TYPE where
- 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
- fromTYPE :: TYPE -> Word16
- toTYPE :: Word16 -> TYPE
- data RData
- = 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
- data RD_RRSIG = RDREP_RRSIG {
- rrsigType :: !TYPE
- rrsigKeyAlg :: !Word8
- rrsigNumLabels :: !Word8
- rrsigTTL :: !Word32
- rrsigExpiration :: !Int64
- rrsigInception :: !Int64
- rrsigKeyTag :: !Word16
- rrsigZone :: !Domain
- rrsigValue :: !ByteString
- dnsTime :: Word32 -> Int64 -> Int64
- data DNSMessage = DNSMessage {}
- makeQuery :: Identifier -> Question -> QueryControls -> DNSMessage
- makeEmptyQuery :: QueryControls -> DNSMessage
- defaultQuery :: DNSMessage
- data QueryControls
- rdFlag :: FlagOp -> QueryControls
- adFlag :: FlagOp -> QueryControls
- cdFlag :: FlagOp -> QueryControls
- doFlag :: FlagOp -> QueryControls
- ednsEnabled :: FlagOp -> QueryControls
- ednsSetVersion :: Maybe Word8 -> QueryControls
- ednsSetUdpSize :: Maybe Word16 -> QueryControls
- ednsSetOptions :: ODataOp -> QueryControls
- data FlagOp
- data ODataOp
- defaultResponse :: DNSMessage
- makeResponse :: Identifier -> Question -> Answers -> DNSMessage
- data DNSHeader = DNSHeader {
- identifier :: !Identifier
- flags :: !DNSFlags
- type Identifier = Word16
- data DNSFlags = DNSFlags {
- qOrR :: !QorR
- opcode :: !OPCODE
- authAnswer :: !Bool
- trunCation :: !Bool
- recDesired :: !Bool
- recAvailable :: !Bool
- rcode :: !RCODE
- authenData :: !Bool
- chkDisable :: !Bool
- data QorR
- defaultDNSFlags :: DNSFlags
- data OPCODE
- fromOPCODE :: OPCODE -> Word16
- toOPCODE :: Word16 -> Maybe OPCODE
- data RCODE where
- 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
- fromRCODE :: RCODE -> Word16
- toRCODE :: Word16 -> RCODE
- data EDNSheader
- ifEDNS :: EDNSheader -> a -> a -> a
- mapEDNS :: EDNSheader -> (EDNS -> a) -> a -> a
- data EDNS = EDNS {
- ednsVersion :: !Word8
- ednsUdpSize :: !Word16
- ednsDnssecOk :: !Bool
- ednsOptions :: ![OData]
- defaultEDNS :: EDNS
- maxUdpSize :: Word16
- minUdpSize :: Word16
- data OData
- data OptCode where
- fromOptCode :: OptCode -> Word16
- toOptCode :: Word16 -> OptCode
- data Question = Question {}
- data DNSError
- type Mailbox = ByteString
Resource Records
data ResourceRecord #
Constructors
ResourceRecord | |
Instances
Show ResourceRecord # | |
Defined in Network.DNS.Types.Internal Methods showsPrec :: Int -> ResourceRecord -> ShowS # show :: ResourceRecord -> String # showList :: [ResourceRecord] -> ShowS # | |
Eq ResourceRecord # | |
Defined in Network.DNS.Types.Internal Methods (==) :: ResourceRecord -> ResourceRecord -> Bool # (/=) :: ResourceRecord -> ResourceRecord -> Bool # |
type Answers = [ResourceRecord] #
type AuthorityRecords = [ResourceRecord] #
type AdditionalRecords = [ResourceRecord] #
Types
type Domain = ByteString #
Resource Record Types
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 |
Resource Data
Constructors
Constructors
RDREP_RRSIG | |
Fields
|
DNS Message
data DNSMessage #
Constructors
DNSMessage | |
Fields
|
Instances
Show DNSMessage # | |
Defined in Network.DNS.Types.Internal Methods showsPrec :: Int -> DNSMessage -> ShowS # show :: DNSMessage -> String # showList :: [DNSMessage] -> ShowS # | |
Eq DNSMessage # | |
Defined in Network.DNS.Types.Internal |
Query
makeQuery :: Identifier -> Question -> QueryControls -> DNSMessage #
Query Controls
data QueryControls #
Instances
Monoid QueryControls # | |
Defined in Network.DNS.Types.Internal Methods mempty :: QueryControls # mappend :: QueryControls -> QueryControls -> QueryControls # mconcat :: [QueryControls] -> QueryControls # | |
Semigroup QueryControls # | |
Defined in Network.DNS.Types.Internal Methods (<>) :: QueryControls -> QueryControls -> QueryControls # sconcat :: NonEmpty QueryControls -> QueryControls # stimes :: Integral b => b -> QueryControls -> QueryControls # | |
Show QueryControls # | |
Defined in Network.DNS.Types.Internal Methods showsPrec :: Int -> QueryControls -> ShowS # show :: QueryControls -> String # showList :: [QueryControls] -> ShowS # | |
Eq QueryControls # | |
Defined in Network.DNS.Types.Internal Methods (==) :: QueryControls -> QueryControls -> Bool # (/=) :: QueryControls -> QueryControls -> Bool # |
rdFlag :: FlagOp -> QueryControls #
adFlag :: FlagOp -> QueryControls #
cdFlag :: FlagOp -> QueryControls #
doFlag :: FlagOp -> QueryControls #
ednsEnabled :: FlagOp -> QueryControls #
ednsSetVersion :: Maybe Word8 -> QueryControls #
ednsSetUdpSize :: Maybe Word16 -> QueryControls #
ednsSetOptions :: ODataOp -> QueryControls #
Flag and OData control operations
Response
makeResponse :: Identifier -> Question -> Answers -> DNSMessage #
DNS Header
Constructors
DNSHeader | |
Fields
|
type Identifier = Word16 #
DNS flags
Constructors
DNSFlags | |
Fields
|
Instances
OPCODE and RCODE
fromOPCODE :: OPCODE -> Word16 #
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 |
EDNS Pseudo-Header
data EDNSheader #
Constructors
EDNSheader EDNS | |
NoEDNS | |
InvalidEDNS |
Instances
Show EDNSheader # | |
Defined in Network.DNS.Types.Internal Methods showsPrec :: Int -> EDNSheader -> ShowS # show :: EDNSheader -> String # showList :: [EDNSheader] -> ShowS # | |
Eq EDNSheader # | |
Defined in Network.DNS.Types.Internal |
ifEDNS :: EDNSheader -> a -> a -> a #
mapEDNS :: EDNSheader -> (EDNS -> a) -> a -> a #
EDNS record
Constructors
EDNS | |
Fields
|
defaultEDNS :: EDNS #
maxUdpSize :: Word16 #
minUdpSize :: Word16 #
EDNS options
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 |
Bundled Patterns
pattern ClientSubnet :: OptCode | |
pattern DAU :: OptCode | |
pattern DHU :: OptCode | |
pattern N3U :: OptCode | |
pattern NSID :: OptCode |
fromOptCode :: OptCode -> Word16 #
DNS Body
Instances
DNS Error
Constructors
Instances
Exception DNSError # | |
Defined in Network.DNS.Types.Internal Methods toException :: DNSError -> SomeException # fromException :: SomeException -> Maybe DNSError # displayException :: DNSError -> String # backtraceDesired :: DNSError -> Bool # | |
Show DNSError # | |
Eq DNSError # | |
Other types
type Mailbox = ByteString #