module Pdu: sig
.. end
(Un)Packing an IP packet.
val id_seq : int Batteries.ref
val next_id : unit -> int
type
t = {
|
tos : int ; |
|
tot_len : int ; |
|
id : int ; |
|
dont_frag : bool ; |
|
more_frags : bool ; |
|
frag_offset : int ; |
|
ttl : int ; |
|
proto : Ip.Proto.t ; |
|
src : Ip.Addr.t ; |
|
dst : Ip.Addr.t ; |
|
options : Bitstring.bitstring ; |
|
payload : Tools.Payload.t ; |
}
val make : ?tos:int ->
?tot_len:int ->
?id:int ->
?dont_frag:bool ->
?more_frags:bool ->
?frag_offset:int ->
?ttl:int ->
?options:Bitstring.bitstring ->
Ip.Proto.t -> Ip.Addr.t -> Ip.Addr.t -> Bitstring.bitstring -> t
val random : unit -> t
: t -> unit -> Bitstring.bitstring
val patch_checksum : ?fixit:(int -> int) ->
int -> (unit -> Bitstring.bitstring) -> Tools.Payload.t -> Tools.Payload.t
val pack : t -> Bitstring.bitstring
val unpack : string * int * int -> t option
val unpack_with_ports : string * int * int -> (t * int * int) option
Unpack an ip packets and return the ip PDU, source port and dest port.