亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sbccksum.c

?? VxWorks BSP 下s3C44b0的源代碼
?? C
字號(hào):
/* sbcCksum.c - internet checksum routines */

/* Copyright 1984-1996 Wind River Systems, Inc. */
#include "copyright_wrs.h"
/*
 * Copyright (c) 1988, 1992, 1993
 *	The Regents of the University of California.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgment:
 *	This product includes software developed by the University of
 *	California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 *	@(#)in_cksum.c	8.1 (Berkeley) 6/10/93
 */

/*
modification history
--------------------
01b,27sep01,m_h  printf compile warning
01a,05jun01,m_h  created from in_cksum.c 01a
*/

/*
DESCRIPTION
This module provides the checksum function in_cksum as a workaround to
avoid a hardware bug on the KS32C50100.  The ARMARCH4 version of this function
is implemented using LDR rx, [ry] where the value of ry is not on a word boundary.
According to documentation, this should be legal but, on the Samsung CPU,
it generates a data abort.
*/

#include "vxWorks.h"
#include "net/systm.h"
#include "net/mbuf.h"
#include "logLib.h"
#include "stdio.h"

/*
 * Checksum routine for Internet Protocol family headers (Portable Version).
 *
 * This routine is very heavily used in the network
 * code and should be modified for each CPU to be as fast as possible.
 */

#define ADDCARRY(x)  (x > 65535 ? x -= 65535 : x)
#define REDUCE {l_util.l = sum; sum = l_util.s[0] + l_util.s[1]; ADDCARRY(sum);}

int
in_cksum(m, len)
	register struct mbuf *m;
	register int len;
{
	register u_short *w;
	register int sum = 0;
	register int mlen = 0;
	int byte_swapped = 0;

	union {
		char	c[2];
		u_short	s;
	} s_util;
	union {
		u_short s[2];
		long	l;
	} l_util;

	for (;m && len; m = m->m_next) {
		if (m->m_len == 0)
			continue;
		w = mtod(m, u_short *);
		if (mlen == -1) {
			/*
			 * The first byte of this mbuf is the continuation
			 * of a word spanning between this mbuf and the
			 * last mbuf.
			 *
			 * s_util.c[0] is already saved when scanning previous 
			 * mbuf.
			 */
			s_util.c[1] = *(char *)w;
			sum += s_util.s;
			w = (u_short *)((char *)w + 1);
			mlen = m->m_len - 1;
			len--;
		} else
			mlen = m->m_len;
		if (len < mlen)
			mlen = len;
		len -= mlen;
		/*
		 * Force to even boundary.
		 */
		if ((1 & (int) w) && (mlen > 0)) {
			REDUCE;
			sum <<= 8;
			s_util.c[0] = *(u_char *)w;
			w = (u_short *)((char *)w + 1);
			mlen--;
			byte_swapped = 1;
		}
		/*
		 * Unroll the loop to make overhead from
		 * branches &c small.
		 */
		while ((mlen -= 32) >= 0) {
			sum += w[0]; sum += w[1]; sum += w[2]; sum += w[3];
			sum += w[4]; sum += w[5]; sum += w[6]; sum += w[7];
			sum += w[8]; sum += w[9]; sum += w[10]; sum += w[11];
			sum += w[12]; sum += w[13]; sum += w[14]; sum += w[15];
			w += 16;
		}
		mlen += 32;
		while ((mlen -= 8) >= 0) {
			sum += w[0]; sum += w[1]; sum += w[2]; sum += w[3];
			w += 4;
		}
		mlen += 8;
		if (mlen == 0 && byte_swapped == 0)
			continue;
		REDUCE;
		while ((mlen -= 2) >= 0) {
			sum += *w++;
		}
		if (byte_swapped) {
			REDUCE;
			sum <<= 8;
			byte_swapped = 0;
			if (mlen == -1) {
				s_util.c[1] = *(char *)w;
				sum += s_util.s;
				mlen = 0;
			} else
				mlen = -1;
		} else if (mlen == -1)
			s_util.c[0] = *(char *)w;
	}
	if (len)
		printf("cksum: out of data\n");
	if (mlen == -1) {
		/* The last mbuf has odd # of bytes. Follow the
		   standard (the odd byte may be shifted left by 8 bits
		   or not as determined by endian-ness of the machine) */
		s_util.c[1] = 0;
		sum += s_util.s;
	}
	REDUCE;
	return (~sum & 0xffff);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女主播一区| 欧美一区二区三区婷婷月色| 亚洲国产精品精华液2区45| 国产精品综合久久| 国产精品美女久久久久久| 91麻豆国产自产在线观看| 亚洲精品成人天堂一二三| 在线精品视频一区二区三四| 午夜精品福利在线| 日韩精品一区国产麻豆| 国产福利一区在线| 中文字幕五月欧美| 精品视频资源站| 九九久久精品视频| 国产精品久久久久久亚洲毛片 | 亚洲激情在线播放| 欧美日韩国产综合一区二区| 九九精品一区二区| 亚洲精选视频免费看| 91精品蜜臀在线一区尤物| 精品无码三级在线观看视频| 国产在线麻豆精品观看| 久久久久久97三级| 欧美中文字幕不卡| 久久99国产精品麻豆| 亚洲欧美视频一区| 日韩欧美成人激情| av网站一区二区三区| 午夜精品久久久久久久| 欧美国产精品一区二区| 精品视频全国免费看| 国产老女人精品毛片久久| 一区二区三区蜜桃网| 精品国产sm最大网站免费看| 色综合天天天天做夜夜夜夜做| 婷婷中文字幕一区三区| 国产精品卡一卡二| 日韩欧美电影在线| 欧美一a一片一级一片| 国产成人激情av| 日本怡春院一区二区| 一区免费观看视频| 久久久精品国产免费观看同学| 色av综合在线| 懂色av中文一区二区三区| 日韩制服丝袜av| 亚洲精品中文在线| 国产午夜精品一区二区| 欧美一级专区免费大片| 欧美午夜不卡在线观看免费| 丁香婷婷深情五月亚洲| 麻豆视频观看网址久久| 一区二区三区在线免费视频| 中文字幕精品综合| 久久蜜桃香蕉精品一区二区三区| 在线亚洲高清视频| 91在线看国产| 成人性视频网站| 国产精品一区二区久激情瑜伽| 日韩av不卡一区二区| 亚洲伦在线观看| 亚洲人成亚洲人成在线观看图片 | 欧日韩精品视频| 9i在线看片成人免费| 国产一区二区三区在线看麻豆| 亚洲bt欧美bt精品| 亚洲444eee在线观看| 一区二区三区波多野结衣在线观看| 国产精品美女www爽爽爽| 国产亚洲欧美中文| 欧美激情一区二区三区不卡| 久久久久久夜精品精品免费| 亚洲精品在线一区二区| 欧美sm美女调教| 久久综合久久久久88| 久久综合色婷婷| 中文字幕av一区 二区| 久久精品夜色噜噜亚洲aⅴ| 久久精品夜色噜噜亚洲a∨| 久久久久久久久一| 国产亚洲一区二区三区在线观看 | 精品剧情v国产在线观看在线| 67194成人在线观看| 欧美精品三级日韩久久| 欧美巨大另类极品videosbest| 欧美日韩激情在线| 日韩一区二区三区免费看| 26uuu精品一区二区| 久久综合色鬼综合色| 国产亚洲视频系列| 综合自拍亚洲综合图不卡区| 亚洲欧美欧美一区二区三区| 一区二区三区四区精品在线视频| 亚洲影视资源网| 日本在线不卡视频| 国产一区二区三区免费在线观看| 国产精品一级在线| 91一区二区在线| 884aa四虎影成人精品一区| 日韩视频一区二区三区在线播放| 久久精品欧美日韩精品| 亚洲欧美激情视频在线观看一区二区三区| 一区二区三区资源| 麻豆精品国产传媒mv男同| 国产suv精品一区二区三区| 色综合天天综合在线视频| 欧美日韩国产一区| 国产午夜亚洲精品不卡| 亚洲乱码国产乱码精品精98午夜 | 国产午夜亚洲精品理论片色戒| 中文字幕中文字幕一区二区| 亚洲国产精品影院| 精品一二三四在线| 色菇凉天天综合网| 亚洲精品一区二区三区影院 | 精品99一区二区| 一区二区三区精品在线观看| 六月丁香综合在线视频| youjizz久久| 精品少妇一区二区三区视频免付费 | 五月综合激情婷婷六月色窝| 国内精品国产成人国产三级粉色| 97超碰欧美中文字幕| 日韩免费福利电影在线观看| 亚洲人精品午夜| 国产在线精品不卡| 精品视频在线视频| 最新日韩av在线| 久久国产精品无码网站| 色婷婷亚洲精品| 久久久不卡网国产精品一区| 一区二区成人在线观看| 国产精品888| 在线不卡a资源高清| 亚洲色图欧美偷拍| 成人一二三区视频| 日韩欧美一二三| 亚洲专区一二三| 91香蕉视频污在线| 国产日产亚洲精品系列| 另类调教123区 | 91精品国产91久久综合桃花| 亚洲日本va午夜在线影院| 国产精品一级二级三级| 欧美一级片在线| 午夜a成v人精品| 欧美性欧美巨大黑白大战| 中文字幕在线一区| 国产成人在线免费观看| 精品奇米国产一区二区三区| 天天影视涩香欲综合网| 日本韩国精品一区二区在线观看| 国产欧美一区二区三区沐欲| 久久99国产乱子伦精品免费| 欧美肥胖老妇做爰| 天堂午夜影视日韩欧美一区二区| 97精品久久久午夜一区二区三区| 国产嫩草影院久久久久| 国产综合久久久久久鬼色 | 日韩精品国产精品| 欧美日韩午夜影院| 亚洲成av人片一区二区三区| 欧美综合在线视频| 五月天激情综合| 欧美性三三影院| 五月婷婷综合在线| 在线播放91灌醉迷j高跟美女| 一二三四社区欧美黄| 日本韩国精品在线| 午夜伦理一区二区| 欧美一区二区三区免费观看视频| 视频一区二区欧美| 日韩写真欧美这视频| 久久精品国产**网站演员| 欧美一区二区三区四区视频| 麻豆精品国产传媒mv男同| 久久丝袜美腿综合| 成人免费黄色在线| 亚洲精品国产精华液| 欧美日韩不卡一区二区| 蜜桃久久精品一区二区| 久久久久久久久久久久久女国产乱| 久久成人免费日本黄色| 国产欧美中文在线| 一本色道久久综合亚洲精品按摩| 亚洲一区在线观看视频| 日韩欧美国产小视频| 国产精品456露脸| 日韩伦理av电影| 欧美日韩三级一区| 国产一区 二区 三区一级| 国产精品久久久久影院色老大| 91福利视频网站| 加勒比av一区二区| 亚洲欧洲制服丝袜| 91精品国产麻豆| 99久久er热在这里只有精品66| 亚洲小少妇裸体bbw| 精品伦理精品一区| 91在线播放网址|