network-house-0.1.0.2: data and parsers for Ethernet, TCP, UDP, IPv4, IPv6, ICMP, DHCP, TFTP

Safe HaskellSafe
LanguageHaskell98

Net.PacketParsing

Synopsis

Documentation

data InPacket #

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

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

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

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

Apply a pure function to the result of a monadic computation

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

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

class Parse a where #

Minimal complete definition

parse

Methods

parse :: PacketParser a #

Instances

Parse Bool # 
Parse Char # 
Parse Word8 # 
Parse Word16 # 
Parse Word32 # 
Parse InPacket # 
Parse PacketType # 
Parse Addr # 
Parse MessageType # 
Parse EchoMsg # 
Parse Packet # 
Parse Protocol # 
Parse Flags # 
Parse TypeOfService # 
Parse Precedence # 
Parse Addr # 
Parse Operation # 
Parse Packet # 
Parse Word20 # 
Parse Word4 # 
Parse Addr # 
Parse Port # 
Parse MessageType # 
Parse Option # 
Parse Options # 
Parse Flags # 
Parse Operation # 
Parse Packet # 
Parse ControlBits # 
Parse ECN # 
Parse ErrorCode # 
Parse Packet # 
Parse a => Parse [a] # 

Methods

parse :: PacketParser [a] #

Parse content => Parse (Packet content) # 

Methods

parse :: PacketParser (Packet content) #

Parse contents => Parse (Packet contents) # 

Methods

parse :: PacketParser (Packet contents) #

Parse content => Parse (Packet content) # 

Methods

parse :: PacketParser (Packet content) #

Parse content => Parse (Packet content) # 

Methods

parse :: PacketParser (Packet content) #

Parse a => Parse (Packet a) # 

Methods

parse :: PacketParser (Packet a) #

(Parse a, Parse b) => Parse (a, b) # 

Methods

parse :: PacketParser (a, b) #

Parse (UArray Int Word8) # 
(Parse a, Parse b, Parse c) => Parse (a, b, c) # 

Methods

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

(Parse a, Parse b, Parse c, Parse d) => Parse (a, b, c, d) # 

Methods

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

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

bits :: (Integral a, Bits a) => Int -> PacketParser a #

check :: Monad m => Bool -> m () #

lift :: Monad m => Maybe a -> m a #

class Unparse a where #

Minimal complete definition

unparse

Methods

unparse :: a -> UnparseS #

Instances

Unparse Char # 

Methods

unparse :: Char -> UnparseS #

Unparse Word8 # 

Methods

unparse :: Word8 -> UnparseS #

Unparse Word16 # 

Methods

unparse :: Word16 -> UnparseS #

Unparse Word32 # 

Methods

unparse :: Word32 -> UnparseS #

Unparse () # 

Methods

unparse :: () -> UnparseS #

Unparse Chunk # 

Methods

unparse :: Chunk -> UnparseS #

Unparse OutPacket # 

Methods

unparse :: OutPacket -> UnparseS #

Unparse InPacket # 

Methods

unparse :: InPacket -> UnparseS #

Unparse Addr # 

Methods

unparse :: Addr -> UnparseS #

Unparse Packet # 

Methods

unparse :: Packet -> UnparseS #

Unparse Protocol # 

Methods

unparse :: Protocol -> UnparseS #

Unparse Addr # 

Methods

unparse :: Addr -> UnparseS #

Unparse Operation # 

Methods

unparse :: Operation -> UnparseS #

Unparse Packet # 

Methods

unparse :: Packet -> UnparseS #

Unparse Addr # 

Methods

unparse :: Addr -> UnparseS #

Unparse Port # 

Methods

unparse :: Port -> UnparseS #

Unparse MessageType # 

Methods

unparse :: MessageType -> UnparseS #

Unparse Option # 

Methods

unparse :: Option -> UnparseS #

Unparse Options # 

Methods

unparse :: Options -> UnparseS #

Unparse Flags # 

Methods

unparse :: Flags -> UnparseS #

Unparse Operation # 

Methods

unparse :: Operation -> UnparseS #

Unparse Packet # 

Methods

unparse :: Packet -> UnparseS #

Unparse ErrorCode # 

Methods

unparse :: ErrorCode -> UnparseS #

Unparse Packet # 

Methods

unparse :: Packet -> UnparseS #

Unparse a => Unparse [a] # 

Methods

unparse :: [a] -> UnparseS #

Unparse a => Unparse (Packet a) # 

Methods

unparse :: Packet a -> UnparseS #

Unparse content => Unparse (Packet content) # 

Methods

unparse :: Packet content -> UnparseS #

Unparse content => Unparse (Packet content) # 

Methods

unparse :: Packet content -> UnparseS #

Unparse a => Unparse (Packet a) # 

Methods

unparse :: Packet a -> UnparseS #

(Unparse a, Unparse b) => Unparse (a, b) # 

Methods

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

(Unparse a, Unparse b, Unparse c) => Unparse (a, b, c) # 

Methods

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

(Unparse a, Unparse b, Unparse c, Unparse d) => Unparse (a, b, c, d) # 

Methods

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

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

Methods

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

data OutPacket #

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