{-| Data structures to express IPv4, IPv6 and IP range. -} module Data.IP ( -- * IP data IP (..) -- ** IPv4 , IPv4 , toIPv4, toIPv4w , fromIPv4, fromIPv4w , fromHostAddress, toHostAddress -- ** IPv6 , IPv6 , toIPv6, toIPv6b, toIPv6w , fromIPv6, fromIPv6b, fromIPv6w , fromHostAddress6, toHostAddress6 -- ** Converters , ipv4ToIPv6 , fromSockAddr , toSockAddr -- * IP range data , IPRange (..) , AddrRange (addr, mask, mlen) -- * Address class , Addr (..) , makeAddrRange, (>:>), isMatchedTo, addrRangePair , ipv4RangeToIPv6 ) where import Data.IP.Addr import Data.IP.Op import Data.IP.Range