博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言实现IP数据校验:icmp校验和的计算
阅读量:2029 次
发布时间:2019-04-28

本文共 590 字,大约阅读时间需要 1 分钟。

#include "crtl/easy/attribute.h"#include "crtl/tcp-ip/crtl_tcp_ip_checksum.h"/* get checksum value */inline unsigned short crtl_tcp_ip_chksum1(void *pkg, int size){    int             nleft   = size;    int             sum     = 0;    unsigned short  *w      = pkg;    unsigned short  answer  = 0;    while (nleft > 1)    {        sum += *w++;        nleft -= 2;    }    if (nleft == 1)    {        * (unsigned char *) (&answer) = *(unsigned char *)w;        sum += answer;    }    sum     = (sum >> 16) + (sum & 0xffff);    sum     += (sum >> 16);    answer  = ~sum;        return answer;}

 

转载地址:http://qbpaf.baihongyu.com/

你可能感兴趣的文章
时间和日期相关函数
查看>>
Go错误处理机制及自定义错误
查看>>
内置函数
查看>>
数组和切片4
查看>>
数组和切片1
查看>>
Scala隐式转换
查看>>
Scala函数高级操作
查看>>
Scala操作外部数据
查看>>
索引及explain
查看>>
硬盘测试
查看>>
排序和查找2
查看>>
排序和查找1
查看>>
Map1
查看>>
排序和查找3
查看>>
Map3
查看>>
Map2
查看>>
面向对象之结构体2
查看>>
面向对象之结构体1
查看>>
面向对象之方法2
查看>>
面向对象之方法1
查看>>