hans: IPv4 Network Stack
HaNS is a lightweight, pure Haskell network stack that can be used for Haskell networking in the context of the HaLVM, or with a Linux tap device. Currently, HaNS supports 802.3, IPv4, ARP, DHCP (partially), ICMP, UDP, and TCP.
Modules
- Data
- Data.PrefixTree
- Hans
- Hans.Address
- Hans.Address.IP4
- Hans.Address.Mac
- Hans.Channel
- Device
- Hans.Device.Ivc
- Hans.Device.Tap
- Hans.Device.Xen
- Hans.DhcpClient
- Hans.Layer
- Hans.Layer.Arp
- Hans.Layer.Arp.Table
- Hans.Layer.Ethernet
- Hans.Layer.IP4
- Hans.Layer.IP4.Fragmentation
- Hans.Layer.IP4.Routing
- Hans.Layer.Icmp4
- Hans.Layer.Tcp
- Hans.Layer.Tcp.Handlers
- Hans.Layer.Tcp.Monad
- Hans.Layer.Tcp.Socket
- Hans.Layer.Timer
- Hans.Layer.Udp
- Hans.Layer.Arp
- Message
- Hans.Message.Arp
- Hans.Message.Dhcp4
- Hans.Message.Dhcp4Codec
- Hans.Message.Dhcp4Options
- Hans.Message.EthernetFrame
- Hans.Message.Icmp4
- Hans.Message.Ip4
- Hans.Message.Tcp
- Hans.Message.Types
- Hans.Message.Udp
- Hans.Ports
- Hans.Setup
- Hans.Simple
- Hans.Utils
- Hans.Utils.Checksum
- Hans.Address
- Network
- TCP
- Aux
- Network.TCP.Aux.Misc
- Network.TCP.Aux.Output
- Network.TCP.Aux.Param
- Network.TCP.Aux.SockMonad
- LTS
- Network.TCP.LTS.In
- Network.TCP.LTS.InActive
- Network.TCP.LTS.InData
- Network.TCP.LTS.InMisc
- Network.TCP.LTS.InPassive
- Network.TCP.LTS.Out
- Network.TCP.LTS.User
- Type
- Network.TCP.Type.Base
- Network.TCP.Type.Datagram
- Network.TCP.Type.Socket
- Network.TCP.Type.Syscall
- Network.TCP.Type.Timer
- Aux
- TCP
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
bounded-channels | Use bounded channels for message passing | Disabled |
example | Build the example program | Disabled |
halvm | Build for the HaLVM | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- hans-2.1.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 2.1.0.0, 2.4.0.0, 2.4.0.1, 2.5.0.0, 2.6.0.0, 3.0.0.1, 3.0.1, 3.0.2 |
---|---|
Dependencies | base (>=4 && <5), BoundedChan, bytestring (>=0.9.1 && <0.9.2), cereal (>=0.3.0 && <0.3.1), communication, containers (>=0.4.0.0 && <0.5.0.0), fingertree (>=0.0.1 && <0.0.2), HALVMCore (==1.0.0), hans, monadLib (>=3.6 && <3.7), old-locale (>=1.0.0 && <1.0.1), random (>=1.0.0 && <1.0.1), RendezvousLib (==1.0.0), time (>=1.2.0.0 && <1.3.0.0), unix, XenDevice [details] |
License | BSD-3-Clause |
Author | Galois Inc., Peng Li, Stephan Zdancewic |
Maintainer | halvm-devel@community.galois.com |
Category | Networking |
Source repo | head: git clone git://src.galois.com/srv/git/HaNS.git |
Uploaded | by TrevorElliott at 2011-05-24T18:39:59Z |
Distributions | |
Reverse Dependencies | 6 direct, 1982 indirect [details] |
Executables | test |
Downloads | 6595 total (1 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs not available [build log] All reported builds failed as of 2016-12-28 [all 7 reports] |