BSD-3-Clause licensed
Maintained by Kazu Yamamoto, Herbert Valerio Riedel
This version can be pinned in stack with:network-bsd-,3742

Module documentation for

This package provides Haskell bindings to the the POSIX network database (netdb.h) API.

Relationship to the network package

The network package version 2.* series provides Network.BSD but it is removed starting with network version 3.0.

This package provides the Network.BSD module split off from the network package.

If in addition to the network's modules also Network.BSD is necessary, add network-bsd to your dependencies like so:

    build-depends: network     >= 2.7 && < 3.1
                 , network-bsd >= 2.7 && < 2.9

I.e. you can control the version of the network package independently.

NOTE: Starting with network-bsd- the APIs of network and network-bsd evolve differently, and consequently the versioning doesn't match up anymore! Moreover, also starting with version network-bsd- this package requires network >= 3 in order to avoid module name clashes with network < 3's Network.BSD module.

However, network-bsd- and network-bsd- passes thru the Network.BSD module from network-2.7.* and network-2.8.* respectively in a non-clashing way via Cabal's reexported-modules feature while ensuring a well-defined API versioning of the observable API of network-bsd. This is why the example above supporting a wide range of network versions works by including version in the required version range of network-bsd.


  • First version to support network-
  • Fix dead-lock in getProtocolEntries and make the high-level composite get*Entries operations atomic
  • Reexport HostAddress and Family (from network)
  • Provide ifNameToIndex unconditionally
  • Add NFData instances for ServiceEntry, ProtocolEntry, HostEntry, and NetworkEntry