network-2.2.0.0: Networking-related facilities
Source code
Contents
Index
Network.BSD
Portability
non-portable
Stability
experimental
Maintainer
libraries@haskell.org
Contents
Host names
Low level functionality
Service names
Low level functionality
Protocol names
Low level functionality
Port numbers
Network names
Low level functionality
Description
The
Network.BSD
module defines Haskell bindings to network programming functionality provided by BSD Unix derivatives.
Synopsis
type
HostName
=
String
getHostName
::
IO
HostName
data
HostEntry
=
HostEntry
{
hostName
::
HostName
hostAliases
:: [
HostName
]
hostFamily
::
Family
hostAddresses
:: [
HostAddress
]
}
getHostByName
::
HostName
->
IO
HostEntry
getHostByAddr
::
Family
->
HostAddress
->
IO
HostEntry
hostAddress
::
HostEntry
->
HostAddress
getHostEntries
::
Bool
->
IO
[
HostEntry
]
setHostEntry
::
Bool
->
IO
()
getHostEntry
::
IO
HostEntry
endHostEntry
::
IO
()
data
ServiceEntry
=
ServiceEntry
{
serviceName
::
ServiceName
serviceAliases
:: [
ServiceName
]
servicePort
::
PortNumber
serviceProtocol
::
ProtocolName
}
type
ServiceName
=
String
getServiceByName
::
ServiceName
->
ProtocolName
->
IO
ServiceEntry
getServiceByPort
::
PortNumber
->
ProtocolName
->
IO
ServiceEntry
getServicePortNumber
::
ServiceName
->
IO
PortNumber
getServiceEntries
::
Bool
->
IO
[
ServiceEntry
]
getServiceEntry
::
IO
ServiceEntry
setServiceEntry
::
Bool
->
IO
()
endServiceEntry
::
IO
()
type
ProtocolName
=
String
type
ProtocolNumber
=
CInt
data
ProtocolEntry
=
ProtocolEntry
{
protoName
::
ProtocolName
protoAliases
:: [
ProtocolName
]
protoNumber
::
ProtocolNumber
}
getProtocolByName
::
ProtocolName
->
IO
ProtocolEntry
getProtocolByNumber
::
ProtocolNumber
->
IO
ProtocolEntry
getProtocolNumber
::
ProtocolName
->
IO
ProtocolNumber
defaultProtocol
::
ProtocolNumber
getProtocolEntries
::
Bool
->
IO
[
ProtocolEntry
]
setProtocolEntry
::
Bool
->
IO
()
getProtocolEntry
::
IO
ProtocolEntry
endProtocolEntry
::
IO
()
data
PortNumber
type
NetworkName
=
String
type
NetworkAddr
=
CULong
data
NetworkEntry
=
NetworkEntry
{
networkName
::
NetworkName
networkAliases
:: [
NetworkName
]
networkFamily
::
Family
networkAddress
::
NetworkAddr
}
getNetworkByName
::
NetworkName
->
IO
NetworkEntry
getNetworkByAddr
::
NetworkAddr
->
Family
->
IO
NetworkEntry
getNetworkEntries
::
Bool
->
IO
[
NetworkEntry
]
setNetworkEntry
::
Bool
->
IO
()
getNetworkEntry
::
IO
NetworkEntry
endNetworkEntry
::
IO
()
Host names
type
HostName
=
String
Source
getHostName
::
IO
HostName
Source
Calling getHostName returns the standard host name for the current processor, as set at boot time.
data
HostEntry
Source
Constructors
HostEntry
hostName
::
HostName
hostAliases
:: [
HostName
]
hostFamily
::
Family
hostAddresses
:: [
HostAddress
]
Instances
Read
HostEntry
Show
HostEntry
Storable
HostEntry
Typeable
HostEntry
getHostByName
::
HostName
->
IO
HostEntry
Source
Resolve a
HostName
to IPv4 address.
getHostByAddr
::
Family
->
HostAddress
->
IO
HostEntry
Source
Get a
HostEntry
corresponding to the given address and family. Note that only IPv4 is currently supported.
hostAddress
::
HostEntry
->
HostAddress
Source
getHostEntries
::
Bool
->
IO
[
HostEntry
]
Source
Low level functionality
setHostEntry
::
Bool
->
IO
()
Source
getHostEntry
::
IO
HostEntry
Source
endHostEntry
::
IO
()
Source
Service names
data
ServiceEntry
Source
Constructors
ServiceEntry
serviceName
::
ServiceName
serviceAliases
:: [
ServiceName
]
servicePort
::
PortNumber
serviceProtocol
::
ProtocolName
Instances
Show
ServiceEntry
Storable
ServiceEntry
Typeable
ServiceEntry
type
ServiceName
=
String
Source
getServiceByName
::
ServiceName
->
ProtocolName
->
IO
ServiceEntry
Source
Get service by name.
getServiceByPort
::
PortNumber
->
ProtocolName
->
IO
ServiceEntry
Source
Get the service given a
PortNumber
and
ProtocolName
.
getServicePortNumber
::
ServiceName
->
IO
PortNumber
Source
Get the
PortNumber
corresponding to the
ServiceName
.
getServiceEntries
::
Bool
->
IO
[
ServiceEntry
]
Source
Low level functionality
getServiceEntry
::
IO
ServiceEntry
Source
setServiceEntry
::
Bool
->
IO
()
Source
endServiceEntry
::
IO
()
Source
Protocol names
type
ProtocolName
=
String
Source
type
ProtocolNumber
=
CInt
Source
data
ProtocolEntry
Source
Constructors
ProtocolEntry
protoName
::
ProtocolName
protoAliases
:: [
ProtocolName
]
protoNumber
::
ProtocolNumber
Instances
Read
ProtocolEntry
Show
ProtocolEntry
Storable
ProtocolEntry
Typeable
ProtocolEntry
getProtocolByName
::
ProtocolName
->
IO
ProtocolEntry
Source
getProtocolByNumber
::
ProtocolNumber
->
IO
ProtocolEntry
Source
getProtocolNumber
::
ProtocolName
->
IO
ProtocolNumber
Source
defaultProtocol
::
ProtocolNumber
Source
This is the default protocol for a given service.
getProtocolEntries
::
Bool
->
IO
[
ProtocolEntry
]
Source
Low level functionality
setProtocolEntry
::
Bool
->
IO
()
Source
getProtocolEntry
::
IO
ProtocolEntry
Source
endProtocolEntry
::
IO
()
Source
Port numbers
data
PortNumber
Source
Instances
Enum
PortNumber
Eq
PortNumber
Integral
PortNumber
Num
PortNumber
Ord
PortNumber
Real
PortNumber
Show
PortNumber
Storable
PortNumber
Typeable
PortNumber
Network names
type
NetworkName
=
String
Source
type
NetworkAddr
=
CULong
Source
data
NetworkEntry
Source
Constructors
NetworkEntry
networkName
::
NetworkName
networkAliases
:: [
NetworkName
]
networkFamily
::
Family
networkAddress
::
NetworkAddr
Instances
Read
NetworkEntry
Show
NetworkEntry
Storable
NetworkEntry
Typeable
NetworkEntry
getNetworkByName
::
NetworkName
->
IO
NetworkEntry
Source
getNetworkByAddr
::
NetworkAddr
->
Family
->
IO
NetworkEntry
Source
getNetworkEntries
::
Bool
->
IO
[
NetworkEntry
]
Source
Get the list of network entries.
Low level functionality
setNetworkEntry
::
Bool
->
IO
()
Source
Open the network name database. The parameter specifies whether a connection is maintained open between various networkEntry calls
getNetworkEntry
::
IO
NetworkEntry
Source
endNetworkEntry
::
IO
()
Source
Close the connection to the network name database.
Produced by
Haddock
version 0.9