-- 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.4 -- | 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.", see -- 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)]