-- 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