1 /* 2 * This file is part of libtrace 3 * 4 * Copyright (c) 2007,2008,2009,2010 The University of Waikato, Hamilton, 5 * New Zealand. 6 * 7 * Authors: Daniel Lawson 8 * Perry Lorier 9 * Shane Alcock 10 * 11 * All rights reserved. 12 * 13 * This code has been developed by the University of Waikato WAND 14 * research group. For further information please see http://www.wand.net.nz/ 15 * 16 * libtrace is free software; you can redistribute it and/or modify 17 * it under the terms of the GNU General Public License as published by 18 * the Free Software Foundation; either version 2 of the License, or 19 * (at your option) any later version. 20 * 21 * libtrace is distributed in the hope that it will be useful, 22 * but WITHOUT ANY WARRANTY; without even the implied warranty of 23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 24 * GNU General Public License for more details. 25 * 26 * You should have received a copy of the GNU General Public License 27 * along with libtrace; if not, write to the Free Software 28 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 29 * 30 * $Id: checksum.h 1799 2013-03-06 00:28:51Z salcock $ 31 * 32 */ 33 34 #ifndef LIBTRACE_CHECKSUM_H_ 35 #define LIBTRACE_CHECKSUM_H_ 36 37 #include <inttypes.h> 38 #include "libtrace.h" 39 40 uint32_t add_checksum(void *buffer, uint16_t length); 41 uint16_t finish_checksum(uint32_t total_sum); 42 uint16_t checksum_buffer(void *buffer, uint16_t length); 43 uint32_t ipv4_pseudo_checksum(libtrace_ip_t *ip); 44 uint32_t ipv6_pseudo_checksum(libtrace_ip6_t *ip); 45 46 #endif 47