Safe Haskell | None |
---|
DNS Resolver and lookup functions.
Sample code:
import qualified Network.DNS as DNS (lookup) import Network.DNS hiding (lookup) main :: IO () main = do rs <- makeResolvSeed defaultResolvConf withResolver rs $ \resolver -> do DNS.lookup resolver "www.example.com" A >>= print
- data FileOrNumericHost
- data ResolvConf = ResolvConf {}
- defaultResolvConf :: ResolvConf
- data ResolvSeed
- makeResolvSeed :: ResolvConf -> IO ResolvSeed
- data Resolver = Resolver {
- genId :: IO Int
- dnsSock :: Socket
- dnsTimeout :: Int
- dnsBufsize :: Integer
- withResolver :: ResolvSeed -> (Resolver -> IO a) -> IO a
- lookup :: Resolver -> Domain -> TYPE -> IO (Maybe [RDATA])
- lookupRaw :: Resolver -> Domain -> TYPE -> IO (Maybe DNSFormat)
Documentation
Configuration for resolver
data FileOrNumericHost Source
data ResolvConf Source
Type for resolver configuration
ResolvConf | |
|
defaultResolvConf :: ResolvConfSource
Default ResolvConf
.
resolvInfo
is RCFilePath
"/etc/resolv.conf".
resolvTimeout
is 3,000,000 micro seconds.
resolvBufsize
is 512. (obsoleted)
Intermediate data type for resolver
data ResolvSeed Source
Abstract data type of DNS Resolver seed
makeResolvSeed :: ResolvConf -> IO ResolvSeedSource
Making ResolvSeed
from an IP address of a DNS cache server.
Type and function for resolver
Abstract data type of DNS Resolver
Resolver | |
|
withResolver :: ResolvSeed -> (Resolver -> IO a) -> IO aSource
Giving a thread-safe Resolver
to the function of the second
argument. withResolver
should be passed to forkIO
.