1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
-- | A thread-safe DNS library for both clients and servers written
-- in pure Haskell.
-- The Network.DNS module re-exports all other exposed modules for
-- convenience.
-- Applications will most likely use the high-level interface, while
-- library/daemon authors may need to use the lower-level one.
-- EDNS and TCP fallback are supported.
--
-- Examples:
--
-- >>> :set -XOverloadedStrings
-- >>> rs <- makeResolvSeed defaultResolvConf
-- >>> withResolver rs $ \resolver -> lookupA resolver "192.0.2.1.nip.io"
-- Right [192.0.2.1]
module Network.DNS (
-- * High level
module Network.DNS.Lookup
-- | This module contains simple functions to
-- perform various DNS lookups. If you simply want to resolve a
-- hostname ('lookupA'), or find a domain's MX record
-- ('lookupMX'), this is the easiest way to do it.
, module Network.DNS.Resolver
-- | Resolver related data types.
, module Network.DNS.Types
-- | All of the types that the other modules use.
, module Network.DNS.Utils
-- | This module contains utility functions used
-- for processing DNS data.
-- * Middle level
, module Network.DNS.LookupRaw
-- | This provides the 'lookup', 'lookupAuth', 'lookupRaw' and
-- 'lookupRawCtl' functions for any resource records.
-- * Low level
, module Network.DNS.Encode
-- | Encoding a query or response.
, module Network.DNS.Decode
-- | Decoding a qurey or response.
, module Network.DNS.IO
-- | Sending and receiving.
) where
import Network.DNS.Decode
import Network.DNS.Encode
import Network.DNS.IO
import Network.DNS.Lookup
import Network.DNS.LookupRaw
import Network.DNS.Resolver
import Network.DNS.Types
import Network.DNS.Utils
|