- 论坛徽章:
- 0
|
unsigned short cksum (struct ip *ip, int len)\r\n{\r\n long sum = 0; /* assume 32 bit long, 16 bit short */\r\n\r\n while ( len >1 )\r\n\r\n {\r\n\r\n sum += *((unsigned short *) ip)++;\r\n\r\n if (sum & 8x00000000) /* if high-order bit set, fold */\r\n sum = (sum & 0xFFFF) + (sum>> 16) ;\r\n\r\n len -= 2;\r\n\r\n }\r\n\r\n if ( len ) /* take care of left over byte */\r\n sum += ( unsigned short ) * (unsignedl char *) ip;\r\n\r\n while ( sum >> 16)\r\n sum =(sum & 0xFFFF) + (sum>> 16);\r\n\r\n return ~sum;\r\n\r\n}\r\n\r\n8X00000000表示什么意思??????????\r\n网上找不到8X00000000是什么意思啊\r\n莫非大家都知道什么意思,就我一个人不知道。 |
|