-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Library for IP and MAC addresses
--
-- Please see README.md
@package ip
@version 0.5
module Net.Internal
attoparsecParseJSON :: Parser a -> Value -> Parser a
rightToMaybe :: Either a b -> Maybe b
-- | An IPv4 data type
--
-- This module provides the IPv4 data type and functions for working with
-- it. There are also encoding and decoding functions provided in this
-- module, but they should be imported from Net.IPv4.Text and
-- Net.IPv4.ByteString.Char8 instead. They are defined here so
-- that the FromJSON and ToJSON instances can use them.
--
-- At some point, a highly efficient IPv4-to-ByteString function needs to
-- be added to this module to take advantage of aeson's new
-- toEncoding method.
module Net.IPv4
newtype IPv4
IPv4 :: Word32 -> IPv4
[getIPv4] :: IPv4 -> Word32
data IPv4Range
IPv4Range :: {-# UNPACK #-} !IPv4 -> {-# UNPACK #-} !Int8 -> IPv4Range
[ipv4RangeBase] :: IPv4Range -> {-# UNPACK #-} !IPv4
[ipv4RangeLength] :: IPv4Range -> {-# UNPACK #-} !Int8
fromOctets :: Word8 -> Word8 -> Word8 -> Word8 -> IPv4
-- | This is sort of a misnomer. It takes Word32 to make dotDecimalParser
-- probably perform better.
fromOctets' :: Word32 -> Word32 -> Word32 -> Word32 -> IPv4
toOctets :: IPv4 -> (Word8, Word8, Word8, Word8)
fromDotDecimalText :: Text -> Maybe IPv4
fromDotDecimalText' :: Text -> Either String IPv4
rangeFromDotDecimalText' :: Text -> Either String IPv4Range
dotDecimalRangeParser :: Parser IPv4Range
-- | This does not do an endOfInput check because it is reused in the range
-- parser implementation.
dotDecimalParser :: Parser IPv4
toDotDecimalText :: IPv4 -> Text
toDotDecimalBuilder :: IPv4 -> Builder
rangeToDotDecimalText :: IPv4Range -> Text
rangeToDotDecimalBuilder :: IPv4Range -> Builder
instance GHC.Generics.Selector Net.IPv4.S1_0_1IPv4Range
instance GHC.Generics.Selector Net.IPv4.S1_0_0IPv4Range
instance GHC.Generics.Constructor Net.IPv4.C1_0IPv4Range
instance GHC.Generics.Datatype Net.IPv4.D1IPv4Range
instance GHC.Generics.Selector Net.IPv4.S1_0_0IPv4
instance GHC.Generics.Constructor Net.IPv4.C1_0IPv4
instance GHC.Generics.Datatype Net.IPv4.D1IPv4
instance GHC.Generics.Generic Net.IPv4.IPv4Range
instance GHC.Read.Read Net.IPv4.IPv4Range
instance GHC.Show.Show Net.IPv4.IPv4Range
instance GHC.Classes.Ord Net.IPv4.IPv4Range
instance GHC.Classes.Eq Net.IPv4.IPv4Range
instance GHC.Generics.Generic Net.IPv4.IPv4
instance Data.Hashable.Class.Hashable Net.IPv4.IPv4
instance GHC.Enum.Bounded Net.IPv4.IPv4
instance GHC.Enum.Enum Net.IPv4.IPv4
instance GHC.Read.Read Net.IPv4.IPv4
instance GHC.Show.Show Net.IPv4.IPv4
instance GHC.Classes.Ord Net.IPv4.IPv4
instance GHC.Classes.Eq Net.IPv4.IPv4
instance Data.Hashable.Class.Hashable Net.IPv4.IPv4Range
instance Data.Aeson.Types.Class.ToJSON Net.IPv4.IPv4
instance Data.Aeson.Types.Class.FromJSON Net.IPv4.IPv4
instance Data.Aeson.Types.Class.ToJSON Net.IPv4.IPv4Range
instance Data.Aeson.Types.Class.FromJSON Net.IPv4.IPv4Range
module Net.IPv4.Text
encode :: IPv4 -> Text
decode :: Text -> Maybe IPv4
decodeEither :: Text -> Either String IPv4
builder :: IPv4 -> Builder
parser :: Parser IPv4
module Net.IPv4.ByteString.Char8
-- | This should be rewritten to not create Text as an
-- intermediate step.
encode :: IPv4 -> ByteString
-- | This should also be rewritten
decode :: ByteString -> Maybe IPv4
builder :: IPv4 -> Builder
parser :: Parser IPv4
module Net.Mac
data Mac
Mac :: {-# UNPACK #-} !Word16 -> {-# UNPACK #-} !Word32 -> Mac
[macA] :: Mac -> {-# UNPACK #-} !Word16
[macB] :: Mac -> {-# UNPACK #-} !Word32
toText :: Mac -> Text
fromText :: Text -> Maybe Mac
fromText' :: Text -> Either String Mac
toTextBuilder :: Mac -> Builder
-- | This does not do an endOfInput check
textParser :: Parser Mac
bytestringParser :: Parser Mac
fromOctets :: Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Mac
fromOctets' :: Word16 -> Word16 -> Word32 -> Word32 -> Word32 -> Word32 -> Mac
instance GHC.Generics.Selector Net.Mac.S1_0_1Mac
instance GHC.Generics.Selector Net.Mac.S1_0_0Mac
instance GHC.Generics.Constructor Net.Mac.C1_0Mac
instance GHC.Generics.Datatype Net.Mac.D1Mac
instance GHC.Generics.Generic Net.Mac.Mac
instance GHC.Read.Read Net.Mac.Mac
instance GHC.Show.Show Net.Mac.Mac
instance GHC.Classes.Ord Net.Mac.Mac
instance GHC.Classes.Eq Net.Mac.Mac
instance Data.Hashable.Class.Hashable Net.Mac.Mac
instance Data.Aeson.Types.Class.ToJSON Net.Mac.Mac
instance Data.Aeson.Types.Class.FromJSON Net.Mac.Mac
module Net.Mac.Text
encode :: Mac -> Text
decode :: Text -> Maybe Mac
decodeEither :: Text -> Either String Mac
builder :: Mac -> Builder
parser :: Parser Mac
module Net.Mac.ByteString.Char8
-- | This is a bad implementation that should be rewritten
encode :: Mac -> ByteString
-- | This is a bad implementation that should be rewritten
decode :: ByteString -> Maybe Mac
builder :: Mac -> Builder
parser :: Parser Mac