iproute-1.7.12: IP Routing Table
Safe Haskell None
Language Haskell2010

Data.IP.Internal

Synopsis

Documentation

newtype IPv4 Source #

The abstract data type to express an IPv4 address. To create this, use toIPv4 . Or use read "192.0.2.1" :: IPv4 , for example. Also, "192.0.2.1" can be used as literal with OverloadedStrings.

>>> read "192.0.2.1" :: IPv4
192.0.2.1

Constructors

IP4 IPv4Addr

Instances

Instances details
Bounded IPv4 Source #
Instance details

Defined in Data.IP.Addr

Enum IPv4 Source #
Instance details

Defined in Data.IP.Addr

Eq IPv4 Source #
Instance details

Defined in Data.IP.Addr

Data IPv4 Source #
Instance details

Defined in Data.IP.Addr

Methods

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

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

toConstr :: IPv4 -> Constr Source #

dataTypeOf :: IPv4 -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Ord IPv4 Source #
Instance details

Defined in Data.IP.Addr

Read IPv4 Source #
Instance details

Defined in Data.IP.Addr

Show IPv4 Source #
Instance details

Defined in Data.IP.Addr

IsString IPv4 Source #
Instance details

Defined in Data.IP.Addr

Generic IPv4 Source #
Instance details

Defined in Data.IP.Addr

Associated Types

type Rep IPv4 :: Type -> Type Source #

Addr IPv4 Source #
Instance details

Defined in Data.IP.Op

Routable IPv4 Source #
Instance details

Defined in Data.IP.RouteTable.Internal

Read ( AddrRange IPv4 ) Source #
Instance details

Defined in Data.IP.Range

IsString ( AddrRange IPv4 ) Source #
Instance details

Defined in Data.IP.Range

type Rep IPv4 Source #
Instance details

Defined in Data.IP.Addr

newtype IPv6 Source #

The abstract data type to express an IPv6 address. To create this, use toIPv6 . Or use read "2001:DB8::1" :: IPv6 , for example. Also, "2001:DB8::1" can be used as literal with OverloadedStrings.

>>> read "2001:db8:00:00:00:00:00:01" :: IPv6
2001:db8::1
>>> read "2001:db8:11e:c00::101" :: IPv6
2001:db8:11e:c00::101
>>> read "2001:db8:11e:c00:aa:bb:192.0.2.1" :: IPv6
2001:db8:11e:c00:aa:bb:c000:201
>>> read "2001:db8::192.0.2.1" :: IPv6
2001:db8::c000:201
>>> read "0::ffff:192.0.2.1" :: IPv6
::ffff:192.0.2.1
>>> read "0::0:c000:201" :: IPv6
::192.0.2.1
>>> read "::0.0.0.1" :: IPv6
::1

Constructors

IP6 IPv6Addr

Instances

Instances details
Bounded IPv6 Source #
Instance details

Defined in Data.IP.Addr

Enum IPv6 Source #
Instance details

Defined in Data.IP.Addr

Eq IPv6 Source #
Instance details

Defined in Data.IP.Addr

Data IPv6 Source #
Instance details

Defined in Data.IP.Addr

Methods

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

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

toConstr :: IPv6 -> Constr Source #

dataTypeOf :: IPv6 -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Ord IPv6 Source #
Instance details

Defined in Data.IP.Addr

Read IPv6 Source #
Instance details

Defined in Data.IP.Addr

Show IPv6 Source #
Instance details

Defined in Data.IP.Addr

IsString IPv6 Source #
Instance details

Defined in Data.IP.Addr

Generic IPv6 Source #
Instance details

Defined in Data.IP.Addr

Associated Types

type Rep IPv6 :: Type -> Type Source #

Addr IPv6 Source #
Instance details

Defined in Data.IP.Op

Routable IPv6 Source #
Instance details

Defined in Data.IP.RouteTable.Internal

Read ( AddrRange IPv6 ) Source #
Instance details

Defined in Data.IP.Range

IsString ( AddrRange IPv6 ) Source #
Instance details

Defined in Data.IP.Range

type Rep IPv6 Source #
Instance details

Defined in Data.IP.Addr

data AddrRange a Source #

The Addr range consists of an address, a contiguous mask, and mask length. The contiguous mask and the mask length are essentially same information but contained for pre calculation.

To create this, use makeAddrRange or read "192.0.2.0/24" :: AddrRange IPv4 . Also, "192.0.2.0/24" can be used as literal with OverloadedStrings.

>>> read "192.0.2.1/24" :: AddrRange IPv4
192.0.2.0/24
>>> read "2001:db8:00:00:00:00:00:01/48" :: AddrRange IPv6
2001:db8::/48

Constructors

AddrRange

Fields

Instances

Instances details
Eq a => Eq ( AddrRange a) Source #
Instance details

Defined in Data.IP.Range

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

Defined in Data.IP.Range

Methods

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

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

toConstr :: AddrRange a -> Constr Source #

dataTypeOf :: AddrRange a -> DataType Source #

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

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

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

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

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

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

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

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

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

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

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

Defined in Data.IP.Range

Read ( AddrRange IPv6 ) Source #
Instance details

Defined in Data.IP.Range

Read ( AddrRange IPv4 ) Source #
Instance details

Defined in Data.IP.Range

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

Defined in Data.IP.Range

IsString ( AddrRange IPv6 ) Source #
Instance details

Defined in Data.IP.Range

IsString ( AddrRange IPv4 ) Source #
Instance details

Defined in Data.IP.Range

Generic ( AddrRange a) Source #
Instance details

Defined in Data.IP.Range

Associated Types

type Rep ( AddrRange a) :: Type -> Type Source #

type Rep ( AddrRange a) Source #
Instance details

Defined in Data.IP.Range