Copyright | (c) Lars Petersen 2015 |
---|---|
License | MIT |
Maintainer | info@lars-petersen.net |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
- data Inet
- data InetAddress
- data InetPort
- inetAddressFromTuple :: (Word8, Word8, Word8, Word8) -> InetAddress
- inetAddressToTuple :: InetAddress -> (Word8, Word8, Word8, Word8)
- inetAllHostsGroup :: InetAddress
- inetAny :: InetAddress
- inetBroadcast :: InetAddress
- inetLoopback :: InetAddress
- inetMaxLocalGroup :: InetAddress
- inetNone :: InetAddress
- inetUnspecificGroup :: InetAddress
Inet
InetAddress
data InetAddress Source #
To avoid errors with endianess it was decided to keep this type abstract.
Use inetAddressFromTuple
and inetAddressToTuple
for constructing and
deconstructing custom addresses.
Hint: Use the Storable
instance.
It exposes it exactly as found within an IP packet (big endian if you insist
on interpreting it as a number).
Another hint: Use getAddressInfo
for parsing and suppress
nameserver lookups:
> getAddressInfo (Just "127.0.0.1") Nothing aiNumericHost :: IO [AddressInfo Inet Stream TCP] [AddressInfo {addressInfoFlags = AddressInfoFlags 4, socketAddress = SocketAddressInet {inetAddress = InetAddress 127.0.0.1, inetPort = InetPort 0}, canonicalName = Nothing}]
InetPort
SocketAddress Inet
Custom addresses
inetAddressFromTuple
inetAddressFromTuple :: (Word8, Word8, Word8, Word8) -> InetAddress Source #
Constructs a custom InetAddress
.
inetAddressFromTuple (127,0,0,1) == inetLoopback
inetAddressToTuple
inetAddressToTuple :: InetAddress -> (Word8, Word8, Word8, Word8) Source #
Deconstructs an InetAddress
.
Special addresses
inetAllHostsGroup
inetAllHostsGroup :: InetAddress Source #
224.0.0.1
inetAny
inetAny :: InetAddress Source #
0.0.0.0
inetBroadcast
inetBroadcast :: InetAddress Source #
255.255.255.255
inetLoopback
inetLoopback :: InetAddress Source #
127.0.0.1
inetMaxLocalGroup
inetMaxLocalGroup :: InetAddress Source #
224.0.0.255
inetNone
inetNone :: InetAddress Source #
255.255.255.255
inetUnspecificGroup
inetUnspecificGroup :: InetAddress Source #
224.0.0.0