| 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
- = 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
- 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
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
| 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 |
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 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 | |
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
| |
Instances
type Identifier = Word16 #
DNS flags
Constructors
| DNSFlags | |
Fields
| |
Constructors
| QR_Query | |
| QR_Response |
OPCODE and RCODE
Instances
| Bounded OPCODE # | |
Defined in Network.DNS.Types.Internal | |
| Enum OPCODE # | |
Defined in Network.DNS.Types.Internal | |
| Show OPCODE # | |
| Eq OPCODE # | |
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
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 # | |