Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data IPv6 = IPv6 {}
- ipv6 :: Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> IPv6
- fromOctets :: Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> IPv6
- fromWord16s :: Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> IPv6
- fromWord32s :: Word32 -> Word32 -> Word32 -> Word32 -> IPv6
- fromTupleWord16s :: (Word16, Word16, Word16, Word16, Word16, Word16, Word16, Word16) -> IPv6
- fromTupleWord32s :: (Word32, Word32, Word32, Word32) -> IPv6
- toWord16s :: IPv6 -> (Word16, Word16, Word16, Word16, Word16, Word16, Word16, Word16)
- toWord32s :: IPv6 -> (Word32, Word32, Word32, Word32)
- any :: IPv6
- loopback :: IPv6
- encode :: IPv6 -> Text
- decode :: Text -> Maybe IPv6
- parser :: Parser IPv6
- print :: IPv6 -> IO ()
Types
A 128-bit Internet Protocol version 6 address.
Convert
ipv6 :: Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> IPv6 Source #
Create an IPv6
address from the eight 16-bit fragments that make
it up. This closely resembles the standard IPv6 notation, so
is used for the Show
instance. Note that this lacks the formatting
feature for suppress zeroes in an IPv6
address, but it should be
readable enough for hacking in GHCi.
>>>
let addr = ipv6 0x3124 0x0 0x0 0xDEAD 0xCAFE 0xFF 0xFE00 0x1
>>>
addr
ipv6 0x3124 0x0000 0x0000 0xdead 0xcafe 0x00ff 0xfe00 0x0001>>>
T.putStrLn (encode addr)
3124::dead:cafe:ff:fe00:1
fromOctets :: Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> IPv6 Source #
fromWord16s :: Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> IPv6 Source #
An alias for the ipv6
smart constructor.
fromWord32s :: Word32 -> Word32 -> Word32 -> Word32 -> IPv6 Source #
Build an IPv6
from four 32-bit words. The leftmost argument
is the high word and the rightword is the low word.
fromTupleWord16s :: (Word16, Word16, Word16, Word16, Word16, Word16, Word16, Word16) -> IPv6 Source #
Uncurried variant of fromWord16s
.
fromTupleWord32s :: (Word32, Word32, Word32, Word32) -> IPv6 Source #
Uncurried variant of fromWord32s
.
toWord16s :: IPv6 -> (Word16, Word16, Word16, Word16, Word16, Word16, Word16, Word16) Source #
Convert an IPv6
to eight 16-bit words.
Special IP Addresses
Textual Conversion
Text
encode :: IPv6 -> Text Source #
Encodes the IP, using zero-compression on the leftmost-longest string of zeroes in the address.