aboutsummaryrefslogtreecommitdiffstats
path: root/in_cksum.h
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2000-12-13 02:24:23 +0000
committerGuy Harris <guy@alum.mit.edu>2000-12-13 02:24:23 +0000
commit677a1c6dc236c75344f3410ac740ef3b49ff8663 (patch)
tree08581cec2fec47739698a8b41d485ce576572b9a /in_cksum.h
parent10022aee67c0992d1e9bcf8df80036e3fe958eef (diff)
downloadwireshark-677a1c6dc236c75344f3410ac740ef3b49ff8663.tar.gz
wireshark-677a1c6dc236c75344f3410ac740ef3b49ff8663.tar.bz2
wireshark-677a1c6dc236c75344f3410ac740ef3b49ff8663.zip
Add code to check the checksums of TCP segments and UDP datagrams;
replace the existing checksummer with a modified version of the BSD checksumming code. Add a flag to the "packet_info" structure to indicate that a packet is the first fragment of a fragmented datagram, so that the checksummers won't try to checksum those. (It doesn't seem to add a lot of CPU overhead, so we don't introduce a flag to disable it, yet. Further checks may be necessary to see whether the overhead is just swamped by other overheads when scanning through a capture dissecting all frames, or if it truly is negligible.) Make the Boolean preference option controlling whether to make the top-level protocol tree item for TCP display a packet summary static to the TCP dissector (it doesn't need to be accessible outside the TCP dissector). svn path=/trunk/; revision=2751
Diffstat (limited to 'in_cksum.h')
-rw-r--r--in_cksum.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/in_cksum.h b/in_cksum.h
new file mode 100644
index 0000000000..66cbcc4a91
--- /dev/null
+++ b/in_cksum.h
@@ -0,0 +1,14 @@
+/* in_cksum.h
+ * Declaration of Internet checksum routine.
+ *
+ * $Id: in_cksum.h,v 1.1 2000/12/13 02:24:22 guy Exp $
+ */
+
+typedef struct {
+ const guint8 *ptr;
+ int len;
+} vec_t;
+
+extern int in_cksum(const vec_t *vec, int veclen);
+
+extern guint16 in_cksum_shouldbe(guint16 sum, guint16 computed_sum);