(*pskb)->nfcache |= NFC_ALTERED;
target(struct sk_buff **pskb,       const struct net_device *in,       const struct net_device *out,       unsigned int hooknum,       const void *targinfo,       void *userinfo){	const struct ipt_tos_target_info *tosinfo = targinfo;	if (((*pskb)->nh.iph->tos & IPTOS_TOS_MASK) != tosinfo->tos) {		u_int16_t diffs[2];		if (!skb_ip_make_writable(pskb, sizeof(struct iphdr)))			return NF_DROP;		diffs[0] = htons((*pskb)->nh.iph->tos) ^ 0xFFFF;		(*pskb)->nh.iph->tos			= ((*pskb)->nh.iph->tos & IPTOS_PREC_MASK)			| tosinfo->tos;		diffs[1] = htons((*pskb)->nh.iph->tos);		(*pskb)->nh.iph->check			= csum_fold(csum_partial((char *)diffs,						 sizeof(diffs),						 (*pskb)->nh.iph->check						 ^0xFFFF));		(*pskb)->nfcache |= NFC_ALTERED;	}	return IPT_CONTINUE;}