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

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

?? util.c

?? ks8695 loader > > > > > > > > > > > > >
?? C
字號:
/***************************************** Copyright (c) 2001-2002  Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//* This file is part of the boot loader *//* * util.c *  * utility functions * * first revision by Ho Lee 10/10/2002 */#include "util.h"//// ctype//int isspace(int ch){	return (ch == '\r' || ch == '\n' || ch == ' ' || ch == '\t') ? 1 : 0;}int isdigit(int ch){	return (ch >= '0' && ch <= '9') ? 1 : 0;}//// string//char *trim(char *str){	char *cp = str;	while (*cp != 0 && isspace(*cp))		++cp;		if (cp == str)		cp += strlen(str) - 1;	else {		char *cpdes;		for (cpdes = str; *cp != 0; )			*cpdes++ = *cp++;		cp = cpdes;		*cp-- = 0;	}	while (cp > str && isspace(*cp))		*cp-- = 0;	return str;}int strlen(const char *str){	int i;	for (i = 0; str[i] != 0; ++i)		;	return i;}char *strcpy(char *dest, const char *src){	int i;	for (i = 0; src[i] != 0; ++i)		dest[i] = src[i];	dest[i] = 0;			return dest;}char *strncpy(char *dest, const char *src, int n){	int i;	for (i = 0; src[i] != 0 && i < (n - 1); ++i)		dest[i] = src[i];	dest[i] = src[i];	return dest;}char *strncpy0(char *dest, const char *src, int n){	int i;	for (i = 0; src[i] != 0 && i < (n - 1); ++i)		dest[i] = src[i];	dest[i] = 0;	return dest;}int strcmp(const char *str1, const char *str2){	int i;	for (i = 0; (str1[i] == str2[i]) && (str1[i] != 0); ++i)		;		return str1[i] - str2[i];}int strncmp(const char *str1, const char *str2, int num){	int i;	for (i = 0; (i < num - 1) && (str1[i] == str2[i]) && (str1[i] != 0); ++i)		;		return str1[i] - str2[i];}char *strchr(const char *str, char ch){	int i;	for (i = 0; str[i] != 0; ++i)		if (str[i] == ch)			return (char *) (str + i);	return NULL;}char *strtok(char *str, const char *token){	static char *s_last = NULL;	int i;	if (str == NULL)		str = s_last;	if (str == NULL)		return NULL;	for (i = 0; str[i] != 0; ++i) 		if (strchr(token, str[i]) != NULL)			break;	if (str[i] != 0)		str[i++] = 0;	for (; str[i] != 0; ++i)		if (strchr(token, str[i]) == NULL)			break;	s_last = (str[i] == 0) ? NULL : str + i;	return str;}// // stdlib//unsigned int atoi(const char *str){	const char *cp;	unsigned int data;	if (str[0] == '0' && (str[1] == 'X' || str[1] == 'x'))		return htoi(str + 2);		for (cp = str, data = 0; *cp != 0; ++cp) {		if (*cp >= '0' && *cp <= '9')			data = data * 10 + *cp - '0';		else			break;	}	return data;}unsigned int htoi(const char *str){	const char *cp;	unsigned int data, bdata;	for (cp = str, data = 0; *cp != 0; ++cp) {		if (*cp >= '0' && *cp <= '9')			bdata = *cp - '0';		else if (*cp >= 'A' && *cp <= 'F')			bdata = *cp - 'A' + 10;		else if (*cp >= 'a' && *cp <= 'f')			bdata = *cp - 'a' + 10;		else			break;		data = (data << 4) | bdata;	}	return data;}void memcpy(void *to, const void *from, unsigned long n){#if 0		// brute-force copying	int i;	unsigned char *_to = (unsigned char *) to;	unsigned char *_from = (unsigned char *) from;		for (i = 0; i < n; ++i)		_to[i] = _from[i];#else		// copy based on alignment of source and target	// copy is fast when the source and destination have the same alignment 	//   and the both are 4-byte aligned	// alignment difference : 	//   0 : copy_4	//   1, 3 : copy_1	//   2 : copy_2	unsigned char *_to = (unsigned char *) to;	unsigned char *_from = (unsigned char *) from;	int align_to, align_from;	unsigned int i, x, y, z;	if (n < 8)		goto copy_1;		align_to = ((unsigned int) to) & 0x03;	align_from = ((unsigned int) from) & 0x03;	if (align_to == align_from) {		x = (align_to) ? 4 - align_to : 0;		n -= x;		y = n >> 2;		z = n & 0x03;		goto copy_4;	} else {		if ((align_to & 0x01) == (align_from & 0x01)) {			x = (align_to & 0x01);			n -= x;			y = n >> 1;			z = n & 0x01;			goto copy_2;		} else			goto copy_1;	}		copy_4:	while (x--)		*_to++ = *_from++;	if (y) {		unsigned int *__to = (unsigned int *) _to;		unsigned int *__from = (unsigned int *) _from;		for (i = 0; i < y; ++i)			__to[i] = __from[i];		_to += (y << 2);		_from += (y << 2);	}	while (z--)		*_to++ = *_from++;	goto copy_return;copy_2:	while (x--)		*_to++ = *_from++;	if (y) {		unsigned short *__to = (unsigned short *) _to;		unsigned short *__from = (unsigned short *) _from;		for (i = 0; i < y; ++i)			__to[i] = __from[i];		_to += (y << 1);		_from += (y << 1);	}	while (z--)		*_to++ = *_from++;	goto copy_return;copy_1:	for (i = 0; i < n; ++i)		_to[i] = _from[i];copy_return:#endif}int memcmp(const void *ptr1, const void *ptr2, unsigned long n){	int i;		unsigned char *_ptr1 = (unsigned char *) ptr1;	unsigned char *_ptr2 = (unsigned char *) ptr2;	if (n == 0)		return 0;	for (i = 0; i < (n - 1) && _ptr1[i] == _ptr2[i]; ++i)		;	return _ptr1[i] - _ptr2[i];}void memset(void *ptr, unsigned char value, unsigned long n){#if 0	int i;	unsigned char *_ptr = (unsigned char *) ptr;		for (i = 0; i < n; ++i)		_ptr[i] = 0;#else	unsigned char *_ptr = (unsigned char *) ptr;	int align;	unsigned int i, x, y, z;	if (n < 8)		goto memset_1;		align = ((unsigned int) ptr) & 0x03;	x = (align) ? 4 - align : 0;	n -= x;	y = n >> 2;	z = n & 0x03;	while (x--)		*_ptr++ = value;	if (y) {		unsigned int *__ptr = (unsigned int *) _ptr;		unsigned int value4 = (value) | (value << 8) | (value << 16) | (value << 24);		for (i = 0; i < y; ++i)			__ptr[i] = value4;		_ptr += (y << 2);	}	while (z--)		*_ptr++ = value;	return;memset_1:	for (i = 0; i < n; ++i)		_ptr[i] = value;	return;#endif}/*//// Miscellaneous//// decode ip address or MAC address string to series of number// retrun ://   0 : valid address//   non-zero : invalid addressint parse_netaddr(char *str, unsigned char *addr, int len){	int i, j, value;	char *cp;			trim(str);	cp = strtok(str, ".:");		for (i = 0; i < len && cp != NULL; ++i) {		for (j = 0; cp[j] != 0; ++j)			if (!isdigit(cp[j]))				return 1;		value = atoi(cp);		if (value < 0 || value >= 0x100)			return 1;		addr[i] = (unsigned char) value;		cp = strtok(NULL, ".");	}		return (i == len && cp == NULL) ? 0 : 1;}int parse_ipaddr(char *str, unsigned int *ipaddr){	unsigned int addr;	unsigned char *cp = (unsigned char *) &addr;		if (parse_netaddr(str, cp, 4) == 0) {		*ipaddr = ntohl(addr);		return 0;	}	return 1;}#include "vsprintf.h"char *ipaddr_to_str(unsigned int ipaddr){	static char s_buf[16];		unsigned int addr = htonl(ipaddr);	unsigned char *cp = (unsigned char *) &addr;	sprintf(s_buf, "%d.%d.%d.%d", cp[0], cp[1], cp[2], cp[3]);	return s_buf;}*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩二区三区| 久久综合久久99| 国产一区二区女| 亚洲欧美二区三区| 26uuu色噜噜精品一区二区| 一本色道亚洲精品aⅴ| 日韩av不卡在线观看| 天天综合天天综合色| 国产精品伦一区| 成人av综合一区| 91精品国产免费| 成人精品鲁一区一区二区| 国产女人水真多18毛片18精品视频 | 精品女同一区二区| 亚洲欧美另类综合偷拍| 亚洲视频香蕉人妖| 在线成人av网站| 欧美日韩一区国产| 91国产丝袜在线播放| 色婷婷综合五月| 欧美亚洲国产一区二区三区va | eeuss鲁一区二区三区| 美女在线一区二区| 免费观看成人av| 秋霞成人午夜伦在线观看| 午夜精品福利久久久| 天天av天天翘天天综合网色鬼国产| 亚洲美女免费视频| 中文字幕在线免费不卡| 中国av一区二区三区| 亚洲精品国产品国语在线app| 亚洲精品乱码久久久久久日本蜜臀| 亚洲麻豆国产自偷在线| 亚洲日本免费电影| 亚洲成av人片一区二区三区| 亚洲国产sm捆绑调教视频| 偷拍亚洲欧洲综合| 久久精品国产网站| 懂色中文一区二区在线播放| 欧美国产日韩在线观看| 欧美变态tickle挠乳网站| 中文字幕一区二区日韩精品绯色| 亚洲一级二级三级| 国内精品久久久久影院薰衣草| 99久久精品久久久久久清纯| 日韩午夜小视频| 亚洲精品乱码久久久久久久久| 国产黄人亚洲片| 中文字幕高清不卡| 国产一区二区毛片| 中文av一区特黄| 色婷婷综合久久久久中文| 亚洲人一二三区| 国产成人在线观看| 亚洲不卡一区二区三区| 欧美日韩黄色一区二区| 国内精品免费在线观看| 天堂一区二区在线| 99久免费精品视频在线观看 | 久久影院午夜论| 天天综合网 天天综合色| 色综合天天综合色综合av| 久久午夜色播影院免费高清| 美女视频黄 久久| 欧美一区二区三区小说| 午夜精品视频一区| 欧美挠脚心视频网站| 亚洲精品久久久蜜桃| 色综合天天综合网国产成人综合天| 欧美激情中文不卡| 国产成人免费高清| 亚洲精品一线二线三线| 日本aⅴ亚洲精品中文乱码| 在线国产电影不卡| 午夜精品久久久久久| 欧美高清性hdvideosex| 午夜精品久久一牛影视| 欧美久久一二三四区| 日韩二区三区在线观看| 欧美一区二区三区免费观看视频 | 亚洲午夜电影在线| 91国产精品成人| 亚洲一区二区三区在线播放| 欧美性淫爽ww久久久久无| 丝瓜av网站精品一区二区| 欧美大白屁股肥臀xxxxxx| 在线欧美日韩精品| 国产久卡久卡久卡久卡视频精品| 亚洲精品综合在线| 亚洲免费在线观看视频| 一区二区在线看| 香港成人在线视频| 亚洲国产精品综合小说图片区| 国产精品国产精品国产专区不蜜| 久久噜噜亚洲综合| 日韩欧美精品在线视频| 欧美精彩视频一区二区三区| 欧美激情一区在线观看| 亚洲六月丁香色婷婷综合久久 | 欧美激情综合在线| 日韩理论片一区二区| 亚洲日本丝袜连裤袜办公室| 国产盗摄一区二区| 国产精品一区一区三区| 欧美a级一区二区| 另类综合日韩欧美亚洲| 91亚洲大成网污www| 亚洲码国产岛国毛片在线| 久久久蜜桃精品| 欧美日本在线一区| 久久久亚洲综合| 91一区在线观看| 美女国产一区二区三区| 亚洲视频你懂的| 精品国精品自拍自在线| 在线观看成人小视频| 国产一区二三区| 在线观看免费成人| 欧美日韩精品久久久| 精品综合久久久久久8888| 亚洲视频1区2区| 久久亚洲精华国产精华液| 精品视频一区三区九区| av在线免费不卡| 韩国女主播成人在线| 久久这里只精品最新地址| 日本成人中文字幕| 在线播放日韩导航| 久久99国产精品免费网站| 8x8x8国产精品| 日韩va欧美va亚洲va久久| 日本高清不卡在线观看| 丝瓜av网站精品一区二区| 色八戒一区二区三区| 国产精品久久久99| 精品欧美黑人一区二区三区| 国产亚洲福利社区一区| 亚洲国产精品国自产拍av| 日韩综合小视频| 亚洲无人区一区| 一个色在线综合| 亚洲美女淫视频| 国产精品毛片高清在线完整版| 欧美xxx久久| 欧美大片日本大片免费观看| 欧美老女人第四色| 在线精品国精品国产尤物884a| caoporm超碰国产精品| 粉嫩欧美一区二区三区高清影视| 国产一区二区不卡在线 | 国产精品一区二区三区网站| 视频一区二区国产| 亚洲国产精品麻豆| 一区二区三区**美女毛片| 中文字幕一区二区日韩精品绯色| 国产色综合一区| 国产精品黄色在线观看| 中文字幕一区三区| 亚洲精品老司机| 天堂av在线一区| 99国产精品视频免费观看| 欧美精品一区二区三| 亚洲日本韩国一区| 成人免费在线观看入口| 一区二区三区不卡视频| 中文字幕日韩精品一区| 日韩一区二区精品| 国产欧美一区二区三区鸳鸯浴| 日韩一区二区三区av| 欧美一区二区成人| 久久综合成人精品亚洲另类欧美| 精品1区2区在线观看| 国产精品国产精品国产专区不蜜 | 国产精品久久久久四虎| 欧美成人欧美edvon| 日韩精品一区二| 亚洲精品一区二区三区香蕉| 欧美哺乳videos| 中文字幕第一区二区| 91丨九色丨尤物| 九九九精品视频| 尤物av一区二区| 国产成人啪免费观看软件| 成人91在线观看| 91精品一区二区三区久久久久久| 精品福利在线导航| 亚洲欧洲精品一区二区三区| 亚洲18女电影在线观看| 国产福利不卡视频| 欧美巨大另类极品videosbest | 欧美伊人久久久久久午夜久久久久| 国产美女在线观看一区| 91蜜桃免费观看视频| 久久亚洲综合av| 麻豆freexxxx性91精品| 色综合中文字幕| 国产精品久久久久久久久晋中| 天天色天天爱天天射综合| 91偷拍与自偷拍精品| 精品日韩成人av|