-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Obtain the host MAC address on *NIX and Windows.
--
-- Obtain the host MAC address on *NIX and Windows.
@package maccatcher
@version 2.1.2
-- | A MAC address datatype, representing the six bytes of a MAC address,
-- also - known as an OID, IAB or ...Vendor Address, Vendor ID, NIC
-- Address, - Ethernet Address and others.. - - -
-- http://standards.ieee.org/faqs/OUI.html#q4 - - - - - - - - - -
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
module Data.MAC
data MAC
MAC :: {-# UNPACK #-} !Word8 -> {-# UNPACK #-} !Word8 -> {-# UNPACK #-} !Word8 -> {-# UNPACK #-} !Word8 -> {-# UNPACK #-} !Word8 -> {-# UNPACK #-} !Word8 -> MAC
instance Eq MAC
instance Ord MAC
instance Bounded MAC
instance Storable MAC
instance Binary MAC
instance Read MAC
instance Show MAC
-- | System specific routines for determing the MAC address and macros to
-- help sort things out at compile time.
module System.Info.MAC.Fetch
-- | Obtain a list containing the name and MAC of all NICs.
fetchNICs :: IO [(String, MAC)]
-- | Run ifconfig or ipconfig, as appropriate, capturing
-- its output.
i_config :: IO String
-- | Parses the output of Linux or BSD ifconfig.
ifconfig :: Parser [(String, MAC)]
-- | Parses the output of Windows ipconfig.
ipconfig :: Parser [(String, MAC)]
parseNIC_ifconfig :: Parser (Maybe (String, MAC))
parseNIC_ipconfig :: Parser (Maybe (String, MAC))
parseNICs :: Parser (Maybe (String, MAC)) -> Parser [(String, MAC)]
parse' :: String -> Parser [t] -> String -> [t]
maybeMAC :: String -> Maybe MAC
manyAnyTill :: Parser Char -> Parser String
skipManyTill :: Parser a -> Parser b -> Parser b
skipManyAnyTill :: Parser a -> Parser a
-- | Obtain a MAC address for the host system, on *NIX and Windows.
module System.Info.MAC
-- | Fetch MAC address, using a cached value if it is available.
mac :: IO (Maybe MAC)
-- | Fetch MAC addresses, using a cached value if it is available.
macs :: IO [MAC]
-- | Fetch a name-MAC pair, using a cached value if it is available.
nic :: IO (Maybe (String, MAC))
-- | Fetch name-MAC pairs, using a cached value if it is available.
nics :: IO [(String, MAC)]
-- | Explicitly re-run the MAC reading operation.
refresh :: IO [(String, MAC)]