socket-0.6.0.1: An extensible socket library.

Copyright(c) Lars Petersen 2015
LicenseMIT
Maintainerinfo@lars-petersen.net
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

System.Socket.Family.Inet6

Contents

Description

 

Synopsis

Inet6

data Inet6 Source

Instances

Family Inet6 Source 
HasNameInfo Inet6 Source 
HasAddressInfo Inet6 Source 
Eq (SocketAddress Inet6) Source 
Show (SocketAddress Inet6) Source 
Storable (SocketAddress Inet6) Source 
data SocketAddress Inet6 = SocketAddressInet6 {} Source

An IPv6 socket address.

The socket address contains a port number that may be used by transport protocols like TCP.

SocketAddressInet6 inet6Loopback 8080 0 0

Inet6Address

data Inet6Address Source

To avoid errors with endianess it was decided to keep this type abstract.

Hint: Use the Storable instance if you really need to access. 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 "::1") Nothing aiNumericHost :: IO [AddressInfo SocketAddressInet6 Stream TCP]
[AddressInfo {
   addressInfoFlags = AddressInfoFlags 4,
   socketAddress    = SocketAddressInet6 {inet6Address = Inet6Address 0000:0000:0000:0000:0000:0000:0000:0001, inet6Port = Inet6Port 0, inet6FlowInfo = Inet6FlowInfo 0, inet6ScopeId = Inet6ScopeId 0},
   canonicalName    = Nothing }]

Inet6Port

Inet6FlowInfo

Inet6ScopeId

SocketAddress Inet6

data family SocketAddress f Source

The SocketAddress type is a data family. This allows to provide different data constructors depending on the socket family wihtout knowing all of them in advance or the need to patch this core library.

SocketAddressInet  inetLoopback  8080     :: SocketAddress Inet
SocketAddressInet6 inet6Loopback 8080 0 0 :: SocketAddress Inet6

Instances

Eq (SocketAddress Inet) 
Eq (SocketAddress Inet6) 
Show (SocketAddress Inet) 
Show (SocketAddress Inet6) 
Storable (SocketAddress Inet) 
Storable (SocketAddress Inet6) 
data SocketAddress Inet = SocketAddressInet {} Source

An IPv4 socket address.

The socket address contains a port number that may be used by transport protocols like TCP.

SocketAddressInet inetLoopback 8080
data SocketAddress Inet6 = SocketAddressInet6 {} Source

An IPv6 socket address.

The socket address contains a port number that may be used by transport protocols like TCP.

SocketAddressInet6 inet6Loopback 8080 0 0

Special Addresses

inet6Any

inet6Loopback

Socket Options

V6Only