network-house-0.1.0.3: data and parsers for Ethernet, TCP, UDP, IPv4, IPv6, ICMP, DHCP, TFTP
Safe HaskellSafe-Inferred
LanguageHaskell2010

Net.PacketParsing

Synopsis

Documentation

data PacketParser a Source #

Instances

Instances details
MonadFail PacketParser Source # 
Instance details

Defined in Net.PacketParsing

Methods

fail :: String -> PacketParser a #

Alternative PacketParser Source # 
Instance details

Defined in Net.PacketParsing

Applicative PacketParser Source # 
Instance details

Defined in Net.PacketParsing

Functor PacketParser Source # 
Instance details

Defined in Net.PacketParsing

Methods

fmap :: (a -> b) -> PacketParser a -> PacketParser b #

(<$) :: a -> PacketParser b -> PacketParser a #

Monad PacketParser Source # 
Instance details

Defined in Net.PacketParsing

MonadPlus PacketParser Source # 
Instance details

Defined in Net.PacketParsing

data InPacket Source #

The buffers used to represent packet, when they are received over the network.

Instances

Instances details
Show InPacket Source # 
Instance details

Defined in Net.Packet

Parse InPacket Source # 
Instance details

Defined in Net.PacketParsing

Unparse InPacket Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: InPacket -> UnparseS Source #

(#!) :: Monad m => m b -> m a -> m b infixl 1 Source #

Perform two monadic computation and return the result from the second one

(#) :: Functor f => (a -> b) -> f a -> f b infixl 1 Source #

Apply a pure function to the result of a monadic computation

(<#) :: Monad m => m (a -> b) -> m a -> m b infixl 1 Source #

Apply a function returned by a monadic computation to an argument returned by a monadic computation

class Parse a where Source #

Instances

Instances details
Parse Word16 Source # 
Instance details

Defined in Net.PacketParsing

Parse Word32 Source # 
Instance details

Defined in Net.PacketParsing

Parse Word8 Source # 
Instance details

Defined in Net.PacketParsing

Parse Operation Source # 
Instance details

Defined in Net.ARP

Parse Packet Source # 
Instance details

Defined in Net.ARP

Parse Flags Source # 
Instance details

Defined in Net.DHCP

Parse MessageType Source # 
Instance details

Defined in Net.DHCP

Parse Operation Source # 
Instance details

Defined in Net.DHCP

Parse Option Source # 
Instance details

Defined in Net.DHCP

Parse Options Source # 
Instance details

Defined in Net.DHCP

Parse Packet Source # 
Instance details

Defined in Net.DHCP

Parse Addr Source # 
Instance details

Defined in Net.Ethernet

Parse PacketType Source # 
Instance details

Defined in Net.Ethernet

Parse EchoMsg Source # 
Instance details

Defined in Net.ICMP

Parse MessageType Source # 
Instance details

Defined in Net.ICMP

Parse Packet Source # 
Instance details

Defined in Net.ICMP

Parse Addr Source # 
Instance details

Defined in Net.IPv4

Parse Flags Source # 
Instance details

Defined in Net.IPv4

Parse Precedence Source # 
Instance details

Defined in Net.IPv4

Parse Protocol Source # 
Instance details

Defined in Net.IPv4

Parse TypeOfService Source # 
Instance details

Defined in Net.IPv4

Parse Addr Source # 
Instance details

Defined in Net.IPv6

Parse Word20 Source # 
Instance details

Defined in Net.IPv6

Parse Word4 Source # 
Instance details

Defined in Net.IPv6

Parse InPacket Source # 
Instance details

Defined in Net.PacketParsing

Parse Port Source # 
Instance details

Defined in Net.PortNumber

Parse ControlBits Source # 
Instance details

Defined in Net.TCP

Parse ECN Source # 
Instance details

Defined in Net.TCP

Parse ErrorCode Source # 
Instance details

Defined in Net.TFTP

Parse Packet Source # 
Instance details

Defined in Net.TFTP

Parse Bool Source # 
Instance details

Defined in Net.PacketParsing

Parse Char Source # 
Instance details

Defined in Net.PacketParsing

Parse content => Parse (Packet content) Source # 
Instance details

Defined in Net.Ethernet

Methods

parse :: PacketParser (Packet content) Source #

Parse contents => Parse (Packet contents) Source # 
Instance details

Defined in Net.IPv4

Methods

parse :: PacketParser (Packet contents) Source #

Parse content => Parse (Packet content) Source # 
Instance details

Defined in Net.IPv6

Methods

parse :: PacketParser (Packet content) Source #

Parse content => Parse (Packet content) Source # 
Instance details

Defined in Net.TCP

Methods

parse :: PacketParser (Packet content) Source #

Parse a => Parse (Packet a) Source # 
Instance details

Defined in Net.UDP

Parse a => Parse [a] Source # 
Instance details

Defined in Net.PacketParsing

Methods

parse :: PacketParser [a] Source #

Parse (UArray Int Word8) Source # 
Instance details

Defined in Net.PacketParsing

(Parse a, Parse b) => Parse (a, b) Source # 
Instance details

Defined in Net.PacketParsing

Methods

parse :: PacketParser (a, b) Source #

(Parse a, Parse b, Parse c) => Parse (a, b, c) Source # 
Instance details

Defined in Net.PacketParsing

Methods

parse :: PacketParser (a, b, c) Source #

(Parse a, Parse b, Parse c, Parse d) => Parse (a, b, c, d) Source # 
Instance details

Defined in Net.PacketParsing

Methods

parse :: PacketParser (a, b, c, d) Source #

bytes :: (Eq t, Num t) => t -> PacketParser [Word8] Source #

check :: MonadFail m => Bool -> m () Source #

lift :: MonadFail m => Maybe a -> m a Source #

class Unparse a where Source #

Methods

unparse :: a -> UnparseS Source #

Instances

Instances details
Unparse Word16 Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: Word16 -> UnparseS Source #

Unparse Word32 Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: Word32 -> UnparseS Source #

Unparse Word8 Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: Word8 -> UnparseS Source #

Unparse Operation Source # 
Instance details

Defined in Net.ARP

Methods

unparse :: Operation -> UnparseS Source #

Unparse Packet Source # 
Instance details

Defined in Net.ARP

Methods

unparse :: Packet -> UnparseS Source #

Unparse Flags Source # 
Instance details

Defined in Net.DHCP

Methods

unparse :: Flags -> UnparseS Source #

Unparse MessageType Source # 
Instance details

Defined in Net.DHCP

Methods

unparse :: MessageType -> UnparseS Source #

Unparse Operation Source # 
Instance details

Defined in Net.DHCP

Methods

unparse :: Operation -> UnparseS Source #

Unparse Option Source # 
Instance details

Defined in Net.DHCP

Methods

unparse :: Option -> UnparseS Source #

Unparse Options Source # 
Instance details

Defined in Net.DHCP

Methods

unparse :: Options -> UnparseS Source #

Unparse Packet Source # 
Instance details

Defined in Net.DHCP

Methods

unparse :: Packet -> UnparseS Source #

Unparse Addr Source # 
Instance details

Defined in Net.Ethernet

Methods

unparse :: Addr -> UnparseS Source #

Unparse Packet Source # 
Instance details

Defined in Net.ICMP

Methods

unparse :: Packet -> UnparseS Source #

Unparse Addr Source # 
Instance details

Defined in Net.IPv4

Methods

unparse :: Addr -> UnparseS Source #

Unparse Protocol Source # 
Instance details

Defined in Net.IPv4

Methods

unparse :: Protocol -> UnparseS Source #

Unparse Addr Source # 
Instance details

Defined in Net.IPv6

Methods

unparse :: Addr -> UnparseS Source #

Unparse Chunk Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: Chunk -> UnparseS Source #

Unparse InPacket Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: InPacket -> UnparseS Source #

Unparse OutPacket Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: OutPacket -> UnparseS Source #

Unparse Port Source # 
Instance details

Defined in Net.PortNumber

Methods

unparse :: Port -> UnparseS Source #

Unparse ErrorCode Source # 
Instance details

Defined in Net.TFTP

Methods

unparse :: ErrorCode -> UnparseS Source #

Unparse Packet Source # 
Instance details

Defined in Net.TFTP

Methods

unparse :: Packet -> UnparseS Source #

Unparse () Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: () -> UnparseS Source #

Unparse Char Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: Char -> UnparseS Source #

Unparse a => Unparse (Packet a) Source # 
Instance details

Defined in Net.IPv4

Methods

unparse :: Packet a -> UnparseS Source #

Unparse content => Unparse (Packet content) Source # 
Instance details

Defined in Net.IPv6

Methods

unparse :: Packet content -> UnparseS Source #

Unparse content => Unparse (Packet content) Source # 
Instance details

Defined in Net.TCP

Methods

unparse :: Packet content -> UnparseS Source #

Unparse a => Unparse (Packet a) Source # 
Instance details

Defined in Net.UDP

Methods

unparse :: Packet a -> UnparseS Source #

Unparse a => Unparse [a] Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: [a] -> UnparseS Source #

(Unparse a, Unparse b) => Unparse (a, b) Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: (a, b) -> UnparseS Source #

(Unparse a, Unparse b, Unparse c) => Unparse (a, b, c) Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: (a, b, c) -> UnparseS Source #

(Unparse a, Unparse b, Unparse c, Unparse d) => Unparse (a, b, c, d) Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: (a, b, c, d) -> UnparseS Source #

(Unparse a, Unparse b, Unparse c, Unparse d, Unparse e) => Unparse (a, b, c, d, e) Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: (a, b, c, d, e) -> UnparseS Source #

data OutPacket Source #

The buffers for packets, that are to be sent over the network. Each array contains a header of a layer in the network protocol stack.

Instances

Instances details
Show OutPacket Source # 
Instance details

Defined in Net.Packet

Unparse OutPacket Source # 
Instance details

Defined in Net.PacketParsing

Methods

unparse :: OutPacket -> UnparseS Source #