network-2.2.1: Networking-related facilitiesSource codeContentsIndex
Network.BSD
Portabilitynon-portable
Stabilityexperimental
Maintainerlibraries@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 = StringSource
getHostName :: IO HostNameSource
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]
show/hide Instances
getHostByName :: HostName -> IO HostEntrySource
Resolve a HostName to IPv4 address.
getHostByAddr :: Family -> HostAddress -> IO HostEntrySource
Get a HostEntry corresponding to the given address and family. Note that only IPv4 is currently supported.
hostAddress :: HostEntry -> HostAddressSource
getHostEntries :: Bool -> IO [HostEntry]Source
Low level functionality
setHostEntry :: Bool -> IO ()Source
getHostEntry :: IO HostEntrySource
endHostEntry :: IO ()Source
Service names
data ServiceEntry Source
Constructors
ServiceEntry
serviceName :: ServiceName
serviceAliases :: [ServiceName]
servicePort :: PortNumber
serviceProtocol :: ProtocolName
show/hide Instances
type ServiceName = StringSource
getServiceByName :: ServiceName -> ProtocolName -> IO ServiceEntrySource
Get service by name.
getServiceByPort :: PortNumber -> ProtocolName -> IO ServiceEntrySource
Get the service given a PortNumber and ProtocolName.
getServicePortNumber :: ServiceName -> IO PortNumberSource
Get the PortNumber corresponding to the ServiceName.
getServiceEntries :: Bool -> IO [ServiceEntry]Source
Low level functionality
getServiceEntry :: IO ServiceEntrySource
setServiceEntry :: Bool -> IO ()Source
endServiceEntry :: IO ()Source
Protocol names
type ProtocolName = StringSource
type ProtocolNumber = CIntSource
data ProtocolEntry Source
Constructors
ProtocolEntry
protoName :: ProtocolName
protoAliases :: [ProtocolName]
protoNumber :: ProtocolNumber
show/hide Instances
getProtocolByName :: ProtocolName -> IO ProtocolEntrySource
getProtocolByNumber :: ProtocolNumber -> IO ProtocolEntrySource
getProtocolNumber :: ProtocolName -> IO ProtocolNumberSource
defaultProtocol :: ProtocolNumberSource
This is the default protocol for a given service.
getProtocolEntries :: Bool -> IO [ProtocolEntry]Source
Low level functionality
setProtocolEntry :: Bool -> IO ()Source
getProtocolEntry :: IO ProtocolEntrySource
endProtocolEntry :: IO ()Source
Port numbers
data PortNumber Source
show/hide Instances
Network names
type NetworkName = StringSource
type NetworkAddr = CULongSource
data NetworkEntry Source
Constructors
NetworkEntry
networkName :: NetworkName
networkAliases :: [NetworkName]
networkFamily :: Family
networkAddress :: NetworkAddr
show/hide Instances
getNetworkByName :: NetworkName -> IO NetworkEntrySource
getNetworkByAddr :: NetworkAddr -> Family -> IO NetworkEntrySource
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 NetworkEntrySource
endNetworkEntry :: IO ()Source
Close the connection to the network name database.
Produced by Haddock version 2.4.2