dns-3.0.4: DNS library in Haskell

Safe Haskell | None
Language | Haskell2010

Network.DNS

Contents

- High level
- Middle level
- Low level

Description

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 supported.

Examples:

    >>> rs <- makeResolvSeed defaultResolvConf
    >>> withResolver rs $ \resolver -> lookupA resolver "www.mew.org"
    Right [210.130.207.72]

Synopsis

- module Network.DNS.Lookup
- module Network.DNS.Resolver
- module Network.DNS.Types
- module Network.DNS.Utils
- module Network.DNS.LookupRaw
- module Network.DNS.Encode
- module Network.DNS.Decode
- module Network.DNS.IO

# 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 `lookup`, `lookupAuth`, or `lookupRaw` 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.