@hackage network-packet-linux0.1.0.0

Types for working with Linux packet sockets

network-packet-linux makes it possible to use the network package with Linux packet sockets. Packet sockets are described in packet (7).

Usage

Combine functions from Network.Socket.Address with types from Network.Socket.Linux in order to work with packet sockets.

See the Network.Socket.Linux module documentation or examples/ListenToInterface.hs for an example.

About the package

As of version 3.0.0, the network package provides a socket API that is implemented in terms of the SocketAddress typeclass. network-packet-linux provides SockAddrLl, a SocketAddress instance that corresponds to the sockaddr_ll struct from <linux/if_packet.h>.

Additionally, network-packet-linux provides some convenience types: ProtocolId (an enumeration of the Ethernet protocol IDs defined in <linux/if_ether.h>) and PacketType (enumerating the packet types defined in <linux/if_packet.h>).

Hackage note: The false dependency on `vendored-network` is an annoying side effect of the way we pull in network files. Ideally the dependency on network files should be an internal cabal library, but internal libraries aren't supported for the build style we need.