network-info-0.2.1: Access the local computer's basic network configuration
Safe HaskellSafe-Inferred
LanguageHaskell2010

Network.Info

Synopsis

Documentation

getNetworkInterfaces :: IO [NetworkInterface] Source #

Gets the address information for each of the network interfaces on the local computer.

data NetworkInterface Source #

Describes the basic configuration of a network interface. This definition is currently limited to just one address per family.

Constructors

NetworkInterface 

Fields

data IPv4 Source #

Represents an IPv4 address (e.g. 172.23.21.1, 127.0.0.1)

Constructors

IPv4 !Word32 

Instances

Instances details
Bounded IPv4 Source # 
Instance details

Defined in Network.Info

Eq IPv4 Source # 
Instance details

Defined in Network.Info

Methods

(==) :: IPv4 -> IPv4 -> Bool #

(/=) :: IPv4 -> IPv4 -> Bool #

Ord IPv4 Source # 
Instance details

Defined in Network.Info

Methods

compare :: IPv4 -> IPv4 -> Ordering #

(<) :: IPv4 -> IPv4 -> Bool #

(<=) :: IPv4 -> IPv4 -> Bool #

(>) :: IPv4 -> IPv4 -> Bool #

(>=) :: IPv4 -> IPv4 -> Bool #

max :: IPv4 -> IPv4 -> IPv4 #

min :: IPv4 -> IPv4 -> IPv4 #

Show IPv4 Source # 
Instance details

Defined in Network.Info

Methods

showsPrec :: Int -> IPv4 -> ShowS #

show :: IPv4 -> String #

showList :: [IPv4] -> ShowS #

Storable IPv4 Source # 
Instance details

Defined in Network.Info

Methods

sizeOf :: IPv4 -> Int #

alignment :: IPv4 -> Int #

peekElemOff :: Ptr IPv4 -> Int -> IO IPv4 #

pokeElemOff :: Ptr IPv4 -> Int -> IPv4 -> IO () #

peekByteOff :: Ptr b -> Int -> IO IPv4 #

pokeByteOff :: Ptr b -> Int -> IPv4 -> IO () #

peek :: Ptr IPv4 -> IO IPv4 #

poke :: Ptr IPv4 -> IPv4 -> IO () #

data IPv6 Source #

Represents an IPv6 address (e.g. 2001:db8:85a3::8a2e:370:7334, ::1)

Constructors

IPv6 !Word32 !Word32 !Word32 !Word32 

Instances

Instances details
Bounded IPv6 Source # 
Instance details

Defined in Network.Info

Eq IPv6 Source # 
Instance details

Defined in Network.Info

Methods

(==) :: IPv6 -> IPv6 -> Bool #

(/=) :: IPv6 -> IPv6 -> Bool #

Ord IPv6 Source # 
Instance details

Defined in Network.Info

Methods

compare :: IPv6 -> IPv6 -> Ordering #

(<) :: IPv6 -> IPv6 -> Bool #

(<=) :: IPv6 -> IPv6 -> Bool #

(>) :: IPv6 -> IPv6 -> Bool #

(>=) :: IPv6 -> IPv6 -> Bool #

max :: IPv6 -> IPv6 -> IPv6 #

min :: IPv6 -> IPv6 -> IPv6 #

Show IPv6 Source #

Not yet capable of collapsing groups of zeros, will still generate valid addresses however.

Instance details

Defined in Network.Info

Methods

showsPrec :: Int -> IPv6 -> ShowS #

show :: IPv6 -> String #

showList :: [IPv6] -> ShowS #

Storable IPv6 Source # 
Instance details

Defined in Network.Info

Methods

sizeOf :: IPv6 -> Int #

alignment :: IPv6 -> Int #

peekElemOff :: Ptr IPv6 -> Int -> IO IPv6 #

pokeElemOff :: Ptr IPv6 -> Int -> IPv6 -> IO () #

peekByteOff :: Ptr b -> Int -> IO IPv6 #

pokeByteOff :: Ptr b -> Int -> IPv6 -> IO () #

peek :: Ptr IPv6 -> IO IPv6 #

poke :: Ptr IPv6 -> IPv6 -> IO () #

data MAC Source #

Represents a MAC address (e.g. 01:23:45:67:89:ab)

Constructors

MAC !Word8 !Word8 !Word8 !Word8 !Word8 !Word8 

Instances

Instances details
Bounded MAC Source # 
Instance details

Defined in Network.Info

Methods

minBound :: MAC #

maxBound :: MAC #

Eq MAC Source # 
Instance details

Defined in Network.Info

Methods

(==) :: MAC -> MAC -> Bool #

(/=) :: MAC -> MAC -> Bool #

Ord MAC Source # 
Instance details

Defined in Network.Info

Methods

compare :: MAC -> MAC -> Ordering #

(<) :: MAC -> MAC -> Bool #

(<=) :: MAC -> MAC -> Bool #

(>) :: MAC -> MAC -> Bool #

(>=) :: MAC -> MAC -> Bool #

max :: MAC -> MAC -> MAC #

min :: MAC -> MAC -> MAC #

Show MAC Source # 
Instance details

Defined in Network.Info

Methods

showsPrec :: Int -> MAC -> ShowS #

show :: MAC -> String #

showList :: [MAC] -> ShowS #

Storable MAC Source # 
Instance details

Defined in Network.Info

Methods

sizeOf :: MAC -> Int #

alignment :: MAC -> Int #

peekElemOff :: Ptr MAC -> Int -> IO MAC #

pokeElemOff :: Ptr MAC -> Int -> MAC -> IO () #

peekByteOff :: Ptr b -> Int -> IO MAC #

pokeByteOff :: Ptr b -> Int -> MAC -> IO () #

peek :: Ptr MAC -> IO MAC #

poke :: Ptr MAC -> MAC -> IO () #