-- | 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. -- EDNS0 and TCP fallback are not supported yet. -- module Network.DNS ( -- * High level module Network.DNS.Lookup -- | The "Network.DNS.Lookup" 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 -- | The "Network.DNS.Resolver" module is slightly more low-level -- than "Network.DNS.Lookup". If you need to do something unusual, -- you may need to use the 'lookup', 'lookupAuth', or 'lookupRaw' -- functions. , module Network.DNS.Utils -- | The "Network.DNS.Utils" module contains utility functions used -- for processing DNS data. , module Network.DNS.Types -- | All of the types that the other modules use. -- * Low level , module Network.DNS.Decode -- | Decoding a response. , module Network.DNS.Encode -- | Encoding a query. ) where import Network.DNS.Lookup import Network.DNS.Resolver import Network.DNS.Utils import Network.DNS.Types import Network.DNS.Decode import Network.DNS.Encode