extern uint16_t in_cksum(const struct cksum_vec *, int);
extern uint16_t in_cksum_shouldbe(uint16_t, uint16_t);
-extern int nextproto4_cksum(netdissect_options *, const struct ip *, const uint8_t *, u_int, u_int, u_int);
+extern uint16_t nextproto4_cksum(netdissect_options *, const struct ip *, const uint8_t *, u_int, u_int, u_int);
/* in print-ip6.c */
-extern int nextproto6_cksum(netdissect_options *, const struct ip6_hdr *, const uint8_t *, u_int, u_int, u_int);
+extern uint16_t nextproto6_cksum(netdissect_options *, const struct ip6_hdr *, const uint8_t *, u_int, u_int, u_int);
/* Utilities */
extern void nd_print_trunc(netdissect_options *);
return (cov > len)? len : cov;
}
-static int dccp_cksum(netdissect_options *ndo, const struct ip *ip,
+static uint16_t dccp_cksum(netdissect_options *ndo, const struct ip *ip,
const struct dccp_hdr *dh, u_int len)
{
return nextproto4_cksum(ndo, ip, (const uint8_t *)(const void *)dh, len,
dccp_csum_coverage(dh, len), IPPROTO_DCCP);
}
-static int dccp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6,
+static uint16_t dccp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6,
const struct dccp_hdr *dh, u_int len)
{
return nextproto6_cksum(ndo, ip6, (const uint8_t *)(const void *)dh, len,
}
}
-static int icmp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6,
+static uint16_t icmp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6,
const struct icmp6_hdr *icp, u_int len)
{
return nextproto6_cksum(ndo, ip6, (const uint8_t *)(const void *)icp, len, len,
/*
* Compute a V4-style checksum by building a pseudoheader.
*/
-int
+uint16_t
nextproto4_cksum(netdissect_options *ndo,
const struct ip *ip, const uint8_t *data,
u_int len, u_int covlen, u_int next_proto)
/*
* Compute a V6-style checksum by building a pseudoheader.
*/
-int
+uint16_t
nextproto6_cksum(netdissect_options *ndo,
const struct ip6_hdr *ip6, const uint8_t *data,
u_int len, u_int covlen, u_int next_proto)
{ 0, NULL }
};
-static int
+static uint16_t
tcp_cksum(netdissect_options *ndo,
const struct ip *ip,
const struct tcphdr *tp,
IPPROTO_TCP);
}
-static int
+static uint16_t
tcp6_cksum(netdissect_options *ndo,
const struct ip6_hdr *ip6,
const struct tcphdr *tp,
return ep;
}
-static int udp_cksum(netdissect_options *ndo, const struct ip *ip,
+static uint16_t udp_cksum(netdissect_options *ndo, const struct ip *ip,
const struct udphdr *up,
u_int len)
{
IPPROTO_UDP);
}
-static int udp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6,
+static uint16_t udp6_cksum(netdissect_options *ndo, const struct ip6_hdr *ip6,
const struct udphdr *up, u_int len)
{
return nextproto6_cksum(ndo, ip6, (const uint8_t *)(const void *)up, len, len,