network-ip-0.3.0.3: Internet Protocol data structures

Safe HaskellNone
LanguageHaskell2010

Network.IP.Addr

Contents

Description

Internet Protocol addressing.

Synopsis

Host address

IPv4 address

newtype IP4 Source #

IPv4 address.

Constructors

IP4 

Fields

Instances
Bounded IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

minBound :: IP4 #

maxBound :: IP4 #

Enum IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

succ :: IP4 -> IP4 #

pred :: IP4 -> IP4 #

toEnum :: Int -> IP4 #

fromEnum :: IP4 -> Int #

enumFrom :: IP4 -> [IP4] #

enumFromThen :: IP4 -> IP4 -> [IP4] #

enumFromTo :: IP4 -> IP4 -> [IP4] #

enumFromThenTo :: IP4 -> IP4 -> IP4 -> [IP4] #

Eq IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

(==) :: IP4 -> IP4 -> Bool #

(/=) :: IP4 -> IP4 -> Bool #

Data IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IP4 -> c IP4 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IP4 #

toConstr :: IP4 -> Constr #

dataTypeOf :: IP4 -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IP4) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IP4) #

gmapT :: (forall b. Data b => b -> b) -> IP4 -> IP4 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IP4 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IP4 -> r #

gmapQ :: (forall d. Data d => d -> u) -> IP4 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IP4 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IP4 -> m IP4 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IP4 -> m IP4 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IP4 -> m IP4 #

Num IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

(+) :: IP4 -> IP4 -> IP4 #

(-) :: IP4 -> IP4 -> IP4 #

(*) :: IP4 -> IP4 -> IP4 #

negate :: IP4 -> IP4 #

abs :: IP4 -> IP4 #

signum :: IP4 -> IP4 #

fromInteger :: Integer -> IP4 #

Ord IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

compare :: IP4 -> IP4 -> Ordering #

(<) :: IP4 -> IP4 -> Bool #

(<=) :: IP4 -> IP4 -> Bool #

(>) :: IP4 -> IP4 -> Bool #

(>=) :: IP4 -> IP4 -> Bool #

max :: IP4 -> IP4 -> IP4 #

min :: IP4 -> IP4 -> IP4 #

Read Net4Addr Source # 
Instance details

Defined in Network.IP.Addr

Read IP4 Source # 
Instance details

Defined in Network.IP.Addr

Show IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

showsPrec :: Int -> IP4 -> ShowS #

show :: IP4 -> String #

showList :: [IP4] -> ShowS #

Ix IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

range :: (IP4, IP4) -> [IP4] #

index :: (IP4, IP4) -> IP4 -> Int #

unsafeIndex :: (IP4, IP4) -> IP4 -> Int

inRange :: (IP4, IP4) -> IP4 -> Bool #

rangeSize :: (IP4, IP4) -> Int #

unsafeRangeSize :: (IP4, IP4) -> Int

Storable IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

sizeOf :: IP4 -> Int #

alignment :: IP4 -> Int #

peekElemOff :: Ptr IP4 -> Int -> IO IP4 #

pokeElemOff :: Ptr IP4 -> Int -> IP4 -> IO () #

peekByteOff :: Ptr b -> Int -> IO IP4 #

pokeByteOff :: Ptr b -> Int -> IP4 -> IO () #

peek :: Ptr IP4 -> IO IP4 #

poke :: Ptr IP4 -> IP4 -> IO () #

Bits IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

(.&.) :: IP4 -> IP4 -> IP4 #

(.|.) :: IP4 -> IP4 -> IP4 #

xor :: IP4 -> IP4 -> IP4 #

complement :: IP4 -> IP4 #

shift :: IP4 -> Int -> IP4 #

rotate :: IP4 -> Int -> IP4 #

zeroBits :: IP4 #

bit :: Int -> IP4 #

setBit :: IP4 -> Int -> IP4 #

clearBit :: IP4 -> Int -> IP4 #

complementBit :: IP4 -> Int -> IP4 #

testBit :: IP4 -> Int -> Bool #

bitSizeMaybe :: IP4 -> Maybe Int #

bitSize :: IP4 -> Int #

isSigned :: IP4 -> Bool #

shiftL :: IP4 -> Int -> IP4 #

unsafeShiftL :: IP4 -> Int -> IP4 #

shiftR :: IP4 -> Int -> IP4 #

unsafeShiftR :: IP4 -> Int -> IP4 #

rotateL :: IP4 -> Int -> IP4 #

rotateR :: IP4 -> Int -> IP4 #

popCount :: IP4 -> Int #

Default IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

def :: IP4 #

Hashable IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

hashWithSalt :: Int -> IP4 -> Int #

hash :: IP4 -> Int #

Serializable IP Source # 
Instance details

Defined in Network.IP.Addr

Methods

put :: Serializer s => IP -> s #

Serializable IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

put :: Serializer s => IP4 -> s #

SizedSerializable IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

size :: Proxy IP4 -> Int #

Deserializable Net4Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ Net4Addr #

Deserializable IP Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ IP #

Deserializable IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ IP4 #

Printable Inet4Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => Inet4Addr -> p #

Printable IP Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => IP -> p #

Printable IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => IP4 -> p #

Textual Inet4Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ Inet4Addr #

Textual Net4Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ Net4Addr #

Textual IP Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ IP #

Textual IP4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ IP4 #

IsNetAddr Net4Addr Source # 
Instance details

Defined in Network.IP.Addr

Associated Types

type NetHost Net4Addr :: Type Source #

Read (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Deserializable (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ (NetAddr IP) #

Printable (InetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => InetAddr IP -> p #

Textual (InetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ (InetAddr IP) #

Textual (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ (NetAddr IP) #

IsNetAddr (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Associated Types

type NetHost (NetAddr IP) :: Type Source #

type NetHost Net4Addr Source # 
Instance details

Defined in Network.IP.Addr

type NetHost (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

type NetHost (NetAddr IP) = IP

anIP4 :: Proxy IP4 Source #

IP4 proxy value.

ip4ToOctets :: IP4 -> (Word8, Word8, Word8, Word8) Source #

The octets of an IPv4 address.

ip4ToOctetList :: IP4 -> [Word8] Source #

List the octets of an IPv4 address.

ip4FromOctets :: Word8 -> Word8 -> Word8 -> Word8 -> IP4 Source #

Assemble IPv4 address from the octets.

ip4FromOctetList :: [Word8] -> Maybe IP4 Source #

Assemble IPv4 address from the octet list.

anyIP4 :: IP4 Source #

IPv4 address 0.0.0.0.

loopbackIP4 :: IP4 Source #

IPv4 address 127.0.0.1.

broadcastIP4 :: IP4 Source #

IPv4 address 255.255.255.255.

data Range4 Source #

IPv4 address range classification (per RFC6890).

Constructors

GeneralIP4

General IPv4 address.

ThisHostIP4

This host on this network.

PrivateUseIP4

Private-Use networks.

SharedSpaceIP4

Shared address space.

LoopbackIP4

Loopback address.

LinkLocalIP4

Link local address.

ReservedIP4

Reserved address.

DSLiteIP4

Dual-Stack Lite.

DocumentationIP4

Reserved for documentation.

IP6To4IP4

6to4.

BenchmarkingIP4

Benchmark testing.

MulticastIP4

Multicast address.

FutureUseIP4

Future use.

BroadcastIP4

Limited broadcast.

Instances
Enum Range4 Source # 
Instance details

Defined in Network.IP.Addr

Eq Range4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

(==) :: Range4 -> Range4 -> Bool #

(/=) :: Range4 -> Range4 -> Bool #

Data Range4 Source # 
Instance details

Defined in Network.IP.Addr

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Range4 -> c Range4 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Range4 #

toConstr :: Range4 -> Constr #

dataTypeOf :: Range4 -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Range4) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Range4) #

gmapT :: (forall b. Data b => b -> b) -> Range4 -> Range4 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Range4 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Range4 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Range4 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Range4 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Range4 -> m Range4 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Range4 -> m Range4 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Range4 -> m Range4 #

Ord Range4 Source # 
Instance details

Defined in Network.IP.Addr

Read Range4 Source # 
Instance details

Defined in Network.IP.Addr

Show Range4 Source # 
Instance details

Defined in Network.IP.Addr

ip4Range :: IP4 -> Range4 Source #

Determine the address range type.

IPv6 address

newtype IP6 Source #

IPv6 address.

Constructors

IP6 

Fields

Instances
Bounded IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

minBound :: IP6 #

maxBound :: IP6 #

Enum IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

succ :: IP6 -> IP6 #

pred :: IP6 -> IP6 #

toEnum :: Int -> IP6 #

fromEnum :: IP6 -> Int #

enumFrom :: IP6 -> [IP6] #

enumFromThen :: IP6 -> IP6 -> [IP6] #

enumFromTo :: IP6 -> IP6 -> [IP6] #

enumFromThenTo :: IP6 -> IP6 -> IP6 -> [IP6] #

Eq IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

(==) :: IP6 -> IP6 -> Bool #

(/=) :: IP6 -> IP6 -> Bool #

Data IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IP6 -> c IP6 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IP6 #

toConstr :: IP6 -> Constr #

dataTypeOf :: IP6 -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IP6) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IP6) #

gmapT :: (forall b. Data b => b -> b) -> IP6 -> IP6 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IP6 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IP6 -> r #

gmapQ :: (forall d. Data d => d -> u) -> IP6 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IP6 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IP6 -> m IP6 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IP6 -> m IP6 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IP6 -> m IP6 #

Num IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

(+) :: IP6 -> IP6 -> IP6 #

(-) :: IP6 -> IP6 -> IP6 #

(*) :: IP6 -> IP6 -> IP6 #

negate :: IP6 -> IP6 #

abs :: IP6 -> IP6 #

signum :: IP6 -> IP6 #

fromInteger :: Integer -> IP6 #

Ord IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

compare :: IP6 -> IP6 -> Ordering #

(<) :: IP6 -> IP6 -> Bool #

(<=) :: IP6 -> IP6 -> Bool #

(>) :: IP6 -> IP6 -> Bool #

(>=) :: IP6 -> IP6 -> Bool #

max :: IP6 -> IP6 -> IP6 #

min :: IP6 -> IP6 -> IP6 #

Read Net6Addr Source # 
Instance details

Defined in Network.IP.Addr

Read IP6 Source # 
Instance details

Defined in Network.IP.Addr

Show IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

showsPrec :: Int -> IP6 -> ShowS #

show :: IP6 -> String #

showList :: [IP6] -> ShowS #

Ix IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

range :: (IP6, IP6) -> [IP6] #

index :: (IP6, IP6) -> IP6 -> Int #

unsafeIndex :: (IP6, IP6) -> IP6 -> Int

inRange :: (IP6, IP6) -> IP6 -> Bool #

rangeSize :: (IP6, IP6) -> Int #

unsafeRangeSize :: (IP6, IP6) -> Int

Storable IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

sizeOf :: IP6 -> Int #

alignment :: IP6 -> Int #

peekElemOff :: Ptr IP6 -> Int -> IO IP6 #

pokeElemOff :: Ptr IP6 -> Int -> IP6 -> IO () #

peekByteOff :: Ptr b -> Int -> IO IP6 #

pokeByteOff :: Ptr b -> Int -> IP6 -> IO () #

peek :: Ptr IP6 -> IO IP6 #

poke :: Ptr IP6 -> IP6 -> IO () #

Bits IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

(.&.) :: IP6 -> IP6 -> IP6 #

(.|.) :: IP6 -> IP6 -> IP6 #

xor :: IP6 -> IP6 -> IP6 #

complement :: IP6 -> IP6 #

shift :: IP6 -> Int -> IP6 #

rotate :: IP6 -> Int -> IP6 #

zeroBits :: IP6 #

bit :: Int -> IP6 #

setBit :: IP6 -> Int -> IP6 #

clearBit :: IP6 -> Int -> IP6 #

complementBit :: IP6 -> Int -> IP6 #

testBit :: IP6 -> Int -> Bool #

bitSizeMaybe :: IP6 -> Maybe Int #

bitSize :: IP6 -> Int #

isSigned :: IP6 -> Bool #

shiftL :: IP6 -> Int -> IP6 #

unsafeShiftL :: IP6 -> Int -> IP6 #

shiftR :: IP6 -> Int -> IP6 #

unsafeShiftR :: IP6 -> Int -> IP6 #

rotateL :: IP6 -> Int -> IP6 #

rotateR :: IP6 -> Int -> IP6 #

popCount :: IP6 -> Int #

Default IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

def :: IP6 #

Hashable IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

hashWithSalt :: Int -> IP6 -> Int #

hash :: IP6 -> Int #

Serializable IP Source # 
Instance details

Defined in Network.IP.Addr

Methods

put :: Serializer s => IP -> s #

Serializable IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

put :: Serializer s => IP6 -> s #

SizedSerializable IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

size :: Proxy IP6 -> Int #

Deserializable Net6Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ Net6Addr #

Deserializable IP Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ IP #

Deserializable IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ IP6 #

Printable Inet6Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => Inet6Addr -> p #

Printable IP Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => IP -> p #

Printable IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => IP6 -> p #

Textual Inet6Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ Inet6Addr #

Textual Net6Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ Net6Addr #

Textual IP Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ IP #

Textual IP6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ IP6 #

IsNetAddr Net6Addr Source # 
Instance details

Defined in Network.IP.Addr

Associated Types

type NetHost Net6Addr :: Type Source #

Read (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Deserializable (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ (NetAddr IP) #

Printable (InetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => InetAddr IP -> p #

Textual (InetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ (InetAddr IP) #

Textual (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ (NetAddr IP) #

IsNetAddr (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Associated Types

type NetHost (NetAddr IP) :: Type Source #

type NetHost Net6Addr Source # 
Instance details

Defined in Network.IP.Addr

type NetHost (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

type NetHost (NetAddr IP) = IP

anIP6 :: Proxy IP6 Source #

IP6 proxy value.

ip6ToWords :: IP6 -> (Word16, Word16, Word16, Word16, Word16, Word16, Word16, Word16) Source #

The 16-bit pieces of an IPv6 address.

ip6ToWordList :: IP6 -> [Word16] Source #

List the 16-bit pieces of an IPv6 address.

ip6FromWords :: Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> IP6 Source #

Assemble IPv6 address from the 16-bit pieces.

ip6FromWordList :: [Word16] -> Maybe IP6 Source #

Assemble IPv6 address from the list of 16-bit pieces.

anyIP6 :: IP6 Source #

IPv6 address ::.

loopbackIP6 :: IP6 Source #

IPv6 address ::1.

data Range6 Source #

IPv6 address range classification (per RFC6890).

Constructors

GeneralIP6

General IPv6 address.

AnyIP6

Unspecified address.

LoopbackIP6

Loopback address.

IP4MappedIP6

Mapped IPv4 address.

IP4EmbeddedIP6

Embedded IPv4 address.

DiscardIP6

Discard address.

ReservedIP6

Reserved address.

TeredoIP6

Teredo address.

BenchmarkingIP6

Benchmark testing.

DocumentationIP6

Reserved for documentation.

OrchidIP6

ORCHID address.

IP6To4IP6

6to4.

UniqueLocalIP6

Unique local address.

LinkLocalIP6

Link local address.

MulticastIP6

Multicast address.

Instances
Enum Range6 Source # 
Instance details

Defined in Network.IP.Addr

Eq Range6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

(==) :: Range6 -> Range6 -> Bool #

(/=) :: Range6 -> Range6 -> Bool #

Data Range6 Source # 
Instance details

Defined in Network.IP.Addr

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Range6 -> c Range6 #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Range6 #

toConstr :: Range6 -> Constr #

dataTypeOf :: Range6 -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Range6) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Range6) #

gmapT :: (forall b. Data b => b -> b) -> Range6 -> Range6 #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Range6 -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Range6 -> r #

gmapQ :: (forall d. Data d => d -> u) -> Range6 -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Range6 -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Range6 -> m Range6 #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Range6 -> m Range6 #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Range6 -> m Range6 #

Ord Range6 Source # 
Instance details

Defined in Network.IP.Addr

Read Range6 Source # 
Instance details

Defined in Network.IP.Addr

Show Range6 Source # 
Instance details

Defined in Network.IP.Addr

ip6Range :: IP6 -> Range6 Source #

Determine the address range type.

IP address

data IP46 t₄ t₆ Source #

IPv4- or IPv6-specific data.

Constructors

IPv4 t₄ 
IPv6 t₆ 
Instances
Serializable IP Source # 
Instance details

Defined in Network.IP.Addr

Methods

put :: Serializer s => IP -> s #

Deserializable IP Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ IP #

Printable IP Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => IP -> p #

Textual IP Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ IP #

Read (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Deserializable (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ (NetAddr IP) #

Printable (InetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => InetAddr IP -> p #

Textual (InetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ (InetAddr IP) #

Textual (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ (NetAddr IP) #

IsNetAddr (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Associated Types

type NetHost (NetAddr IP) :: Type Source #

(Eq t₄, Eq t₆) => Eq (IP46 t₄ t₆) Source # 
Instance details

Defined in Network.IP.Addr

Methods

(==) :: IP46 t₄ t₆ -> IP46 t₄ t₆ -> Bool #

(/=) :: IP46 t₄ t₆ -> IP46 t₄ t₆ -> Bool #

(Data t₄, Data t₆) => Data (IP46 t₄ t₆) Source # 
Instance details

Defined in Network.IP.Addr

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IP46 t₄ t₆ -> c (IP46 t₄ t₆) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (IP46 t₄ t₆) #

toConstr :: IP46 t₄ t₆ -> Constr #

dataTypeOf :: IP46 t₄ t₆ -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (IP46 t₄ t₆)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (IP46 t₄ t₆)) #

gmapT :: (forall b. Data b => b -> b) -> IP46 t₄ t₆ -> IP46 t₄ t₆ #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IP46 t₄ t₆ -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IP46 t₄ t₆ -> r #

gmapQ :: (forall d. Data d => d -> u) -> IP46 t₄ t₆ -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IP46 t₄ t₆ -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IP46 t₄ t₆ -> m (IP46 t₄ t₆) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IP46 t₄ t₆ -> m (IP46 t₄ t₆) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IP46 t₄ t₆ -> m (IP46 t₄ t₆) #

(Ord t₄, Ord t₆) => Ord (IP46 t₄ t₆) Source # 
Instance details

Defined in Network.IP.Addr

Methods

compare :: IP46 t₄ t₆ -> IP46 t₄ t₆ -> Ordering #

(<) :: IP46 t₄ t₆ -> IP46 t₄ t₆ -> Bool #

(<=) :: IP46 t₄ t₆ -> IP46 t₄ t₆ -> Bool #

(>) :: IP46 t₄ t₆ -> IP46 t₄ t₆ -> Bool #

(>=) :: IP46 t₄ t₆ -> IP46 t₄ t₆ -> Bool #

max :: IP46 t₄ t₆ -> IP46 t₄ t₆ -> IP46 t₄ t₆ #

min :: IP46 t₄ t₆ -> IP46 t₄ t₆ -> IP46 t₄ t₆ #

(Read t₄, Read t₆) => Read (IP46 t₄ t₆) Source # 
Instance details

Defined in Network.IP.Addr

Methods

readsPrec :: Int -> ReadS (IP46 t₄ t₆) #

readList :: ReadS [IP46 t₄ t₆] #

readPrec :: ReadPrec (IP46 t₄ t₆) #

readListPrec :: ReadPrec [IP46 t₄ t₆] #

(Show t₄, Show t₆) => Show (IP46 t₄ t₆) Source # 
Instance details

Defined in Network.IP.Addr

Methods

showsPrec :: Int -> IP46 t₄ t₆ -> ShowS #

show :: IP46 t₄ t₆ -> String #

showList :: [IP46 t₄ t₆] -> ShowS #

type NetHost (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

type NetHost (NetAddr IP) = IP

anIP46 :: Proxy IP46 Source #

IP46 proxy value.

anIP46Of :: Proxy t₄ -> Proxy t₆ -> Proxy (IP46 t₄ t₆) Source #

IP46 t₄ t₆ proxy value.

type IP = IP46 IP4 IP6 Source #

IP address.

anIP :: Proxy IP Source #

IP proxy value.

Network address

class IsNetAddr n where Source #

Network address.

Associated Types

type NetHost n Source #

The address type.

Methods

netHost :: n -> NetHost n Source #

Host address.

netHostIx :: n -> NetHost n Source #

Host index.

netPrefix :: n -> NetHost n Source #

Network prefix.

netMask :: n -> NetHost n Source #

Network mask.

netLength :: n -> Word8 Source #

Network prefix length.

netAddr Source #

Arguments

:: NetHost n

Host address

-> Word8

Network prefix length

-> n 

Make a network address.

inNetwork Source #

Arguments

:: NetHost n

Host address

-> n

Network address

-> Bool 

Test if the address is in the network.

Instances
IsNetAddr Net6Addr Source # 
Instance details

Defined in Network.IP.Addr

Associated Types

type NetHost Net6Addr :: Type Source #

IsNetAddr Net4Addr Source # 
Instance details

Defined in Network.IP.Addr

Associated Types

type NetHost Net4Addr :: Type Source #

IsNetAddr (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Associated Types

type NetHost (NetAddr IP) :: Type Source #

type Net4Addr = NetAddr IP4 Source #

IPv4 network address.

type Net6Addr = NetAddr IP6 Source #

IPv6 network address.

data NetAddr a Source #

Network address: host address + network prefix length.

Instances
Read Net6Addr Source # 
Instance details

Defined in Network.IP.Addr

Read Net4Addr Source # 
Instance details

Defined in Network.IP.Addr

Deserializable Net6Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ Net6Addr #

Deserializable Net4Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ Net4Addr #

Textual Net6Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ Net6Addr #

Textual Net4Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ Net4Addr #

IsNetAddr Net6Addr Source # 
Instance details

Defined in Network.IP.Addr

Associated Types

type NetHost Net6Addr :: Type Source #

IsNetAddr Net4Addr Source # 
Instance details

Defined in Network.IP.Addr

Associated Types

type NetHost Net4Addr :: Type Source #

Eq a => Eq (NetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

(==) :: NetAddr a -> NetAddr a -> Bool #

(/=) :: NetAddr a -> NetAddr a -> Bool #

Data a => Data (NetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NetAddr a -> c (NetAddr a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (NetAddr a) #

toConstr :: NetAddr a -> Constr #

dataTypeOf :: NetAddr a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (NetAddr a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (NetAddr a)) #

gmapT :: (forall b. Data b => b -> b) -> NetAddr a -> NetAddr a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NetAddr a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NetAddr a -> r #

gmapQ :: (forall d. Data d => d -> u) -> NetAddr a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> NetAddr a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NetAddr a -> m (NetAddr a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NetAddr a -> m (NetAddr a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NetAddr a -> m (NetAddr a) #

Read (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Show a => Show (NetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

showsPrec :: Int -> NetAddr a -> ShowS #

show :: NetAddr a -> String #

showList :: [NetAddr a] -> ShowS #

Serializable a => Serializable (NetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

put :: Serializer s => NetAddr a -> s #

SizedSerializable a => SizedSerializable (NetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

size :: Proxy (NetAddr a) -> Int #

Deserializable (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ (NetAddr IP) #

Printable a => Printable (NetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => NetAddr a -> p #

Textual (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ (NetAddr IP) #

IsNetAddr (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Associated Types

type NetHost (NetAddr IP) :: Type Source #

type NetHost Net6Addr Source # 
Instance details

Defined in Network.IP.Addr

type NetHost Net4Addr Source # 
Instance details

Defined in Network.IP.Addr

type NetHost (NetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

type NetHost (NetAddr IP) = IP

aNetAddrOf :: Proxy a -> Proxy (NetAddr a) Source #

NetAddr a proxy value.

net4Addr :: IP4 -> Word8 -> Net4Addr Source #

An alias for netAddr.

net6Addr :: IP6 -> Word8 -> Net6Addr Source #

An alias for netAddr.

printNetAddr :: (IsNetAddr n, Printable (NetHost n), Printer p) => n -> p Source #

Print network address (CIDR notation).

net4Parser :: (CharParsing μ, Monad μ, IsNetAddr n, NetHost n ~ IP4) => μ n Source #

IPv4 network address parser (CIDR notation).

net6Parser :: (CharParsing μ, Monad μ, IsNetAddr n, NetHost n ~ IP6) => μ n Source #

IPv6 network address parser (CIDR notation).

netParser :: (IsNetAddr n, NetHost n ~ IP, CharParsing μ, Monad μ) => μ n Source #

IP network address parser (CIDR notation).

putNetAddr :: (IsNetAddr n, Serializable (NetHost n), Serializer s) => n -> s Source #

Serialize a network address (host address followed by 8-bit prefix length).

getNetAddr :: (IsNetAddr n, Deserializable (NetHost n), Deserializer μ) => μ n Source #

Deserialize a network address (host address followed by 8-bit prefix length).

Port number

newtype InetPort Source #

Port number.

Constructors

InetPort 

Fields

Instances
Bounded InetPort Source # 
Instance details

Defined in Network.IP.Addr

Enum InetPort Source # 
Instance details

Defined in Network.IP.Addr

Eq InetPort Source # 
Instance details

Defined in Network.IP.Addr

Integral InetPort Source # 
Instance details

Defined in Network.IP.Addr

Data InetPort Source # 
Instance details

Defined in Network.IP.Addr

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InetPort -> c InetPort #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InetPort #

toConstr :: InetPort -> Constr #

dataTypeOf :: InetPort -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InetPort) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InetPort) #

gmapT :: (forall b. Data b => b -> b) -> InetPort -> InetPort #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InetPort -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InetPort -> r #

gmapQ :: (forall d. Data d => d -> u) -> InetPort -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> InetPort -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InetPort -> m InetPort #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InetPort -> m InetPort #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InetPort -> m InetPort #

Num InetPort Source # 
Instance details

Defined in Network.IP.Addr

Ord InetPort Source # 
Instance details

Defined in Network.IP.Addr

Read InetPort Source # 
Instance details

Defined in Network.IP.Addr

Real InetPort Source # 
Instance details

Defined in Network.IP.Addr

Show InetPort Source # 
Instance details

Defined in Network.IP.Addr

Ix InetPort Source # 
Instance details

Defined in Network.IP.Addr

Storable InetPort Source # 
Instance details

Defined in Network.IP.Addr

Bits InetPort Source # 
Instance details

Defined in Network.IP.Addr

Hashable InetPort Source # 
Instance details

Defined in Network.IP.Addr

Methods

hashWithSalt :: Int -> InetPort -> Int #

hash :: InetPort -> Int #

Serializable InetPort Source # 
Instance details

Defined in Network.IP.Addr

Methods

put :: Serializer s => InetPort -> s #

SizedSerializable InetPort Source # 
Instance details

Defined in Network.IP.Addr

Methods

size :: Proxy InetPort -> Int #

Deserializable InetPort Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ InetPort #

Printable InetPort Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => InetPort -> p #

Textual InetPort Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ InetPort #

Socket address

data InetAddr a Source #

Socket address: host address + port number.

Constructors

InetAddr 

Fields

Instances
Functor InetAddr Source # 
Instance details

Defined in Network.IP.Addr

Methods

fmap :: (a -> b) -> InetAddr a -> InetAddr b #

(<$) :: a -> InetAddr b -> InetAddr a #

Printable Inet6Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => Inet6Addr -> p #

Printable Inet4Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => Inet4Addr -> p #

Textual Inet6Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ Inet6Addr #

Textual Inet4Addr Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ Inet4Addr #

Eq a => Eq (InetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

(==) :: InetAddr a -> InetAddr a -> Bool #

(/=) :: InetAddr a -> InetAddr a -> Bool #

Data a => Data (InetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InetAddr a -> c (InetAddr a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (InetAddr a) #

toConstr :: InetAddr a -> Constr #

dataTypeOf :: InetAddr a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (InetAddr a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (InetAddr a)) #

gmapT :: (forall b. Data b => b -> b) -> InetAddr a -> InetAddr a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InetAddr a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InetAddr a -> r #

gmapQ :: (forall d. Data d => d -> u) -> InetAddr a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> InetAddr a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InetAddr a -> m (InetAddr a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InetAddr a -> m (InetAddr a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InetAddr a -> m (InetAddr a) #

Ord a => Ord (InetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

compare :: InetAddr a -> InetAddr a -> Ordering #

(<) :: InetAddr a -> InetAddr a -> Bool #

(<=) :: InetAddr a -> InetAddr a -> Bool #

(>) :: InetAddr a -> InetAddr a -> Bool #

(>=) :: InetAddr a -> InetAddr a -> Bool #

max :: InetAddr a -> InetAddr a -> InetAddr a #

min :: InetAddr a -> InetAddr a -> InetAddr a #

Read a => Read (InetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Show a => Show (InetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

showsPrec :: Int -> InetAddr a -> ShowS #

show :: InetAddr a -> String #

showList :: [InetAddr a] -> ShowS #

Hashable a => Hashable (InetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

hashWithSalt :: Int -> InetAddr a -> Int #

hash :: InetAddr a -> Int #

Serializable a => Serializable (InetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

put :: Serializer s => InetAddr a -> s #

SizedSerializable a => SizedSerializable (InetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

size :: Proxy (InetAddr a) -> Int #

Deserializable a => Deserializable (InetAddr a) Source # 
Instance details

Defined in Network.IP.Addr

Methods

get :: Deserializer μ => μ (InetAddr a) #

Printable (InetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

print :: Printer p => InetAddr IP -> p #

Textual (InetAddr IP) Source # 
Instance details

Defined in Network.IP.Addr

Methods

textual :: (Monad μ, CharParsing μ) => μ (InetAddr IP) #

type Inet4Addr = InetAddr IP4 Source #

IPv4 socket address.

type Inet6Addr = InetAddr IP6 Source #

IPv6 socket address.

anInetAddrOf :: Proxy a -> Proxy (InetAddr a) Source #

InetAddr a proxy value.