Copyright | (c) The University of Glasgow 2001 |
---|---|
License | BSD-style (see the file libraries/network/LICENSE) |
Maintainer | libraries@haskell.org |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
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 {}
- 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 {}
- 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 ()
- ifNameToIndex :: String -> IO (Maybe Int)
Host names
getHostName :: IO HostName Source #
Calling getHostName returns the standard host name for the current processor, as set at boot time.
HostEntry | |
|
Instances
Read HostEntry Source # | |
Show HostEntry Source # | |
Storable HostEntry Source # | |
Defined in Network.BSD |
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 #
Low level functionality
setHostEntry :: Bool -> IO () Source #
endHostEntry :: IO () Source #
Service names
data ServiceEntry Source #
Instances
Show ServiceEntry Source # | |
Defined in Network.BSD showsPrec :: Int -> ServiceEntry -> ShowS # show :: ServiceEntry -> String # showList :: [ServiceEntry] -> ShowS # | |
Storable ServiceEntry Source # | |
Defined in Network.BSD sizeOf :: ServiceEntry -> Int # alignment :: ServiceEntry -> Int # peekElemOff :: Ptr ServiceEntry -> Int -> IO ServiceEntry # pokeElemOff :: Ptr ServiceEntry -> Int -> ServiceEntry -> IO () # peekByteOff :: Ptr b -> Int -> IO ServiceEntry # pokeByteOff :: Ptr b -> Int -> ServiceEntry -> IO () # peek :: Ptr ServiceEntry -> IO ServiceEntry # poke :: Ptr ServiceEntry -> ServiceEntry -> IO () # |
type ServiceName = String #
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
setServiceEntry :: Bool -> IO () Source #
endServiceEntry :: IO () Source #
Protocol names
type ProtocolName = String Source #
type ProtocolNumber = CInt #
data ProtocolEntry Source #
Instances
Read ProtocolEntry Source # | |
Defined in Network.BSD readsPrec :: Int -> ReadS ProtocolEntry # readList :: ReadS [ProtocolEntry] # | |
Show ProtocolEntry Source # | |
Defined in Network.BSD showsPrec :: Int -> ProtocolEntry -> ShowS # show :: ProtocolEntry -> String # showList :: [ProtocolEntry] -> ShowS # | |
Storable ProtocolEntry Source # | |
Defined in Network.BSD sizeOf :: ProtocolEntry -> Int # alignment :: ProtocolEntry -> Int # peekElemOff :: Ptr ProtocolEntry -> Int -> IO ProtocolEntry # pokeElemOff :: Ptr ProtocolEntry -> Int -> ProtocolEntry -> IO () # peekByteOff :: Ptr b -> Int -> IO ProtocolEntry # pokeByteOff :: Ptr b -> Int -> ProtocolEntry -> IO () # peek :: Ptr ProtocolEntry -> IO ProtocolEntry # poke :: Ptr ProtocolEntry -> ProtocolEntry -> IO () # |
getProtocolEntries :: Bool -> IO [ProtocolEntry] Source #
Low level functionality
setProtocolEntry :: Bool -> IO () Source #
endProtocolEntry :: IO () Source #
Port numbers
data PortNumber #
Instances
Network names
type NetworkName = String Source #
type NetworkAddr = CULong Source #
data NetworkEntry Source #
NetworkEntry | |
|
Instances
Read NetworkEntry Source # | |
Defined in Network.BSD readsPrec :: Int -> ReadS NetworkEntry # readList :: ReadS [NetworkEntry] # | |
Show NetworkEntry Source # | |
Defined in Network.BSD showsPrec :: Int -> NetworkEntry -> ShowS # show :: NetworkEntry -> String # showList :: [NetworkEntry] -> ShowS # | |
Storable NetworkEntry Source # | |
Defined in Network.BSD sizeOf :: NetworkEntry -> Int # alignment :: NetworkEntry -> Int # peekElemOff :: Ptr NetworkEntry -> Int -> IO NetworkEntry # pokeElemOff :: Ptr NetworkEntry -> Int -> NetworkEntry -> IO () # peekByteOff :: Ptr b -> Int -> IO NetworkEntry # pokeByteOff :: Ptr b -> Int -> NetworkEntry -> IO () # peek :: Ptr NetworkEntry -> IO NetworkEntry # poke :: Ptr NetworkEntry -> NetworkEntry -> IO () # |
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
endNetworkEntry :: IO () Source #
Close the connection to the network name database.