X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;ds=sidebyside;f=tests%2F60_ping.ml;h=7a274cbfe48954ae5e2a4d9fd0f25ed5cf04370f;hb=caffff12b3ece8197627c60105afa16a35822c32;hp=c3a380eae5c95286f00881dbd61a5be810eb19ed;hpb=0821f08e4234583f25f8a7fbaf6df3375c4991c9;p=ocaml-bitstring.git diff --git a/tests/60_ping.ml b/tests/60_ping.ml index c3a380e..7a274cb 100644 --- a/tests/60_ping.ml +++ b/tests/60_ping.ml @@ -1,21 +1,21 @@ (* Read in IPv4 and IPv6 ping packets and display them. - * $Id: 60_ping.ml,v 1.1 2008-04-01 10:58:53 rjones Exp $ + * $Id: 60_ping.ml,v 1.3 2008-04-25 11:08:43 rjones Exp $ *) open Printf let display pkt = bitmatch pkt with - | version : 4; hdrlen : 4; tos : 8; length : 16; - identification : 16; flags : 3; fragoffset : 13; - ttl : 8; protocol : 8; checksum : 16; - source : 32; - dest : 32; - options : (hdrlen-5)*32 : bitstring; - payload : -1 : bitstring - when version = 4 -> + (* IPv4 packet header *) + | { 4 : 4; hdrlen : 4; tos : 8; length : 16; + identification : 16; flags : 3; fragoffset : 13; + ttl : 8; protocol : 8; checksum : 16; + source : 32; + dest : 32; + options : (hdrlen-5)*32 : bitstring; + payload : -1 : bitstring } -> - printf "IPv%d:\n" version; (* IPv4 packet *) + printf "IPv4:\n"; printf " header length: %d * 32 bit words\n" hdrlen; printf " type of service: %d\n" tos; printf " packet length: %d bytes\n" length; @@ -31,14 +31,14 @@ let display pkt = printf " packet payload:\n"; Bitmatch.hexdump_bitstring stdout payload - | version : 4; tclass : 8; flow : 20; - length : 16; nexthdr : 8; ttl : 8; - source : 128 : bitstring; - dest : 128 : bitstring; - payload : -1 : bitstring - when version = 6 -> + (* IPv6 packet header *) + | { 6 : 4; tclass : 8; flow : 20; + length : 16; nexthdr : 8; ttl : 8; + source : 128 : bitstring; + dest : 128 : bitstring; + payload : -1 : bitstring } -> - printf "IPv%d:\n" version; (* IPv6 packet *) + printf "IPv6:\n"; printf " traffic class: %d\n" tclass; printf " flow label: %d\n" flow; printf " packet (payload) length: %d bytes\n" length; @@ -51,11 +51,11 @@ let display pkt = printf "packet payload:\n"; Bitmatch.hexdump_bitstring stdout payload - | version : 4 -> + | { version : 4 } -> eprintf "unknown IP version %d\n" version; exit 1 - | _ as pkt -> + | { _ } as pkt -> eprintf "data is smaller than one nibble:\n"; Bitmatch.hexdump_bitstring stderr pkt; exit 1