1{-|
2  Data structures to express IPv4, IPv6 and IP range.
3-}
4module Data.IP (
5  -- * IP data
6    IP (..)
7  -- ** IPv4
8  , IPv4
9  , toIPv4, toIPv4w
10  , fromIPv4, fromIPv4w
11  , fromHostAddress, toHostAddress
12  -- ** IPv6
13  , IPv6
14  , toIPv6, toIPv6b, toIPv6w
15  , fromIPv6, fromIPv6b, fromIPv6w
16  , fromHostAddress6, toHostAddress6
17  -- ** Converters
18  , ipv4ToIPv6
19  , fromSockAddr
20  , toSockAddr
21  -- * IP range data
22  , IPRange (..)
23  , AddrRange (addr, mask, mlen)
24  -- * Address class
25  , Addr (..)
26  , makeAddrRange, (>:>), isMatchedTo, addrRangePair
27  , ipv4RangeToIPv6
28  ) where
29
30import Data.IP.Addr
31import Data.IP.Op
32import Data.IP.Range
33