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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sbccksum.c

?? 菲利普22系列 vxworks bsp 可以用來可以和其他版本的ARM vxworks bsp(特別是7內核的進行比較)進行比較可以加深對BSP的理解和掌握
?? C
字號:
/* 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);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合天天在线| 国产校园另类小说区| 91麻豆精品国产91久久久资源速度| 欧美探花视频资源| 7777女厕盗摄久久久| 精品对白一区国产伦| 国产精品青草综合久久久久99| 国产精品初高中害羞小美女文| 亚洲综合色自拍一区| 蜜臂av日日欢夜夜爽一区| 国产91在线观看| 欧美三日本三级三级在线播放| 欧美一二三区在线| 国产精品久久久久久久久免费丝袜| 一区二区成人在线| 韩国av一区二区三区四区| av男人天堂一区| 91麻豆精品国产91久久久资源速度 | 欧美一区在线视频| 欧美日韩国产电影| 国产女主播一区| 亚洲大型综合色站| 日韩制服丝袜av| 美女性感视频久久| 亚洲午夜久久久久久久久久久 | 经典一区二区三区| 97se亚洲国产综合在线| 日韩欧美区一区二| 亚洲另类春色校园小说| 国产自产v一区二区三区c| 91在线国内视频| 日韩一区二区免费高清| 成人欧美一区二区三区小说| 另类小说图片综合网| 色老汉av一区二区三区| 国产三区在线成人av| 青青草国产成人99久久| 日本丰满少妇一区二区三区| 蜜臀久久99精品久久久画质超高清 | 福利91精品一区二区三区| aa级大片欧美| 日韩欧美卡一卡二| 国产精品久久久久久亚洲毛片 | 欧美激情一区二区三区四区| 久久国产成人午夜av影院| 欧美一区二区三区婷婷月色| 亚洲高清三级视频| 91精品国产综合久久久蜜臀图片| 亚洲高清中文字幕| 精品国产区一区| 国产精品亚洲人在线观看| 国产欧美一区二区三区在线看蜜臀| 国产一二三精品| 中文字幕中文字幕在线一区 | 欧美日韩在线播放一区| 色哟哟精品一区| 国产亚洲精品免费| 美女任你摸久久| 欧美性大战xxxxx久久久| 亚洲手机成人高清视频| 粉嫩aⅴ一区二区三区四区| 亚洲精品一区二区三区四区高清| 五月婷婷激情综合| 色94色欧美sute亚洲线路二| 国产精品一品二品| 精品乱人伦一区二区三区| 日韩电影在线一区二区三区| 精品视频一区三区九区| 亚洲小说春色综合另类电影| 在线精品视频免费观看| 一区二区三区在线观看网站| 91社区在线播放| 中文字幕一区二区三区在线观看 | 精品动漫一区二区三区在线观看| 秋霞电影网一区二区| 欧美一级免费观看| 奇米色一区二区| 欧美一级久久久| 蜜臀av一区二区在线免费观看| 日韩一级片网站| 久国产精品韩国三级视频| 欧美变态tickle挠乳网站| 黄色精品一二区| 精品久久久久一区| 国产高清亚洲一区| 国产精品久久久久久久第一福利 | 亚洲乱码精品一二三四区日韩在线| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 亚洲欧美日韩国产综合| 一本大道久久a久久综合婷婷| 亚洲色图在线播放| 欧美性xxxxx极品少妇| 午夜视频一区二区三区| 宅男噜噜噜66一区二区66| 久久99热这里只有精品| 久久免费电影网| va亚洲va日韩不卡在线观看| 一区二区成人在线视频| 51午夜精品国产| 韩日欧美一区二区三区| 国产精品久久99| 欧美系列亚洲系列| 蜜臀久久99精品久久久久久9| 337p日本欧洲亚洲大胆色噜噜| 国产一区二区精品久久| 《视频一区视频二区| 欧美日韩中文精品| 蜜桃视频在线观看一区| 国产日韩精品一区二区三区在线| 91免费版pro下载短视频| 亚洲成人1区2区| 久久一留热品黄| 97久久超碰国产精品电影| 天天av天天翘天天综合网 | 国产精品一区久久久久| 国产精品第五页| 欧美日韩精品欧美日韩精品一综合| 精品亚洲欧美一区| 一区免费观看视频| 91精品免费观看| 成人永久aaa| 午夜久久电影网| 国产天堂亚洲国产碰碰| 91福利精品第一导航| 精品一区二区免费视频| 国产精品久久综合| 欧美精品精品一区| 成人18精品视频| 七七婷婷婷婷精品国产| 国产精品成人免费在线| 欧美一区二区三区色| fc2成人免费人成在线观看播放 | 欧美一区二区视频免费观看| aaa亚洲精品| 日本中文字幕一区二区视频| 日本一区二区视频在线观看| 欧美精品aⅴ在线视频| 99久久夜色精品国产网站| 奇米一区二区三区| 一区二区三区在线视频观看| 2020国产成人综合网| 在线精品国精品国产尤物884a| 国产精品一二二区| 奇米综合一区二区三区精品视频 | 欧洲av在线精品| 国产成人av电影在线| 丝袜国产日韩另类美女| 亚洲欧洲日本在线| 久久亚洲一级片| 欧美精品丝袜中出| 一本大道久久a久久精二百| 国产精品一区二区在线播放| 奇米888四色在线精品| 一区二区三区**美女毛片| 欧美国产日韩精品免费观看| 日韩精品一区二区三区中文不卡| 欧美亚洲综合在线| 成人久久18免费网站麻豆| 精品一二三四在线| 国产91在线看| 免费在线观看视频一区| 97精品视频在线观看自产线路二| 九九精品视频在线看| 婷婷国产v国产偷v亚洲高清| 亚洲一线二线三线视频| 日韩美女视频一区二区 | 日本美女一区二区| 亚洲一区在线视频| 中文字幕欧美一| 久久九九久精品国产免费直播| 日韩欧美一区电影| 欧美日韩夫妻久久| 欧美伊人久久大香线蕉综合69 | 怡红院av一区二区三区| 中文字幕一区二区三区不卡在线 | 丰满白嫩尤物一区二区| 国产福利不卡视频| 国产伦精品一区二区三区免费| 久久精品国产一区二区三区免费看| 日韩影视精彩在线| 日本视频一区二区| 免费看欧美女人艹b| 欧美aa在线视频| 免费高清成人在线| 麻豆精品国产传媒mv男同| 麻豆精品新av中文字幕| 麻豆91小视频| 美女视频黄a大片欧美| 精品综合免费视频观看| 久久99精品国产麻豆婷婷| 久久成人精品无人区| 久久av老司机精品网站导航| 极品少妇xxxx精品少妇| 国产成人综合在线播放| 国产.欧美.日韩| av男人天堂一区| 91成人在线精品| 精品国产91亚洲一区二区三区婷婷| 欧美videos中文字幕| 精品国产伦理网|