32#ifndef __LWIP_INET_CHKSUM_H__ 
   33#define __LWIP_INET_CHKSUM_H__ 
   38#include "lwip/ip_addr.h" 
   41#ifndef SWAP_BYTES_IN_WORD 
   42#if LWIP_PLATFORM_BYTESWAP && (BYTE_ORDER == LITTLE_ENDIAN) 
   44#define SWAP_BYTES_IN_WORD(w) LWIP_PLATFORM_HTONS(w) 
   47#define SWAP_BYTES_IN_WORD(w) (((w) & 0xff) << 8) | (((w) & 0xff00) >> 8) 
   53#define FOLD_U32T(u)          (((u) >> 16) + ((u) & 0x0000ffffUL)) 
   56#if LWIP_CHECKSUM_ON_COPY 
   59#ifndef LWIP_CHKSUM_COPY 
   60#define LWIP_CHKSUM_COPY(dst, src, len) lwip_chksum_copy(dst, src, len) 
   61#ifndef LWIP_CHKSUM_COPY_ALGORITHM 
   62#define LWIP_CHKSUM_COPY_ALGORITHM 1 
   66#define LWIP_CHKSUM_COPY_ALGORITHM 0 
   81#if LWIP_CHKSUM_COPY_ALGORITHM 
   82u16_t lwip_chksum_copy(
void *dst, 
const void *src, 
u16_t len);
 
u16_t inet_chksum_pseudo(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest, u8_t proto, u16_t proto_len)
 
u16_t inet_chksum(void *dataptr, u16_t len)
 
u16_t inet_chksum_pseudo_partial(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest, u8_t proto, u16_t proto_len, u16_t chksum_len)
 
u16_t inet_chksum_pbuf(struct pbuf *p)
 
typedefPACK_STRUCT_END struct ip_addr ip_addr_t