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

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

?? utils.c

?? 優龍科技公司的FS44B0 BOX test源碼。
?? C
字號:
#include "def.h"
#include "utils.h"

void memcpy(void *s1, const void *s2, int n)
{
	int i;

	for (i = 0; i < n; i++)
		((char *)(s1))[i] = ((const char *)(s2))[i];
}

void memset(void *s, const char ch, int n)
{
	int i;

	for (i = 0; i < n; i++)
		((char *)(s))[i] = ch;
}

unsigned short ntohs(unsigned short s)
{
	return (s >> 8) | (s << 8);
}

unsigned long ntohl(unsigned long l)
{
	return  ((l >> 24) & 0x000000ff) |
		((l >>  8) & 0x0000ff00) |
		((l <<  8) & 0x00ff0000) |
		((l << 24) & 0xff000000);
}

unsigned short htons(unsigned short s)
{
	return (s >> 8) | (s << 8);
}

unsigned long htonl(unsigned long l)
{
	return ntohl(l);
/*	return  ((l >> 24) & 0x000000ff) |
		((l >>  8) & 0x0000ff00) |
		((l <<  8) & 0x00ff0000) |
		((l << 24) & 0xff000000);*/
}

unsigned long strtoul(char *s)
{
	unsigned long ret;
	int i;

	ret = 0;

	while (*s != '\0') {
		if (*s >= '0' && *s <= '9')
			i = *s - '0';
		else if (*s >= 'a' && *s <= 'f')
			i = *s - 'a' + 0xa;
		else if (*s >= 'A' && *s <= 'F')
			i = *s - 'A' + 0xa;
		else
			return -1;
		ret = (ret << 4) + i;
		s++;
	}

	return ret;
}

void ultostr(char *s, unsigned long data)
{
	int i;
	
	s[8] = 0;
	for(i=7; i>=0; i--, data >>=4)
	{
		if((data&0xf)<=9)
			s[i] = (data&0xf)+'0';
		else
			s[i] = (data&0xf)+'a'-0x0a;
	}	
}

unsigned long strtobcd(char *s)
{
	unsigned long ret;
	int i;

	ret = 0;

	while (*s != '\0') {
		if (*s >= '0' && *s <= '9')
			i = *s - '0';
		else
			return -1;
		ret = (ret << 4) + i;
		s++;
	}

	return ret;
}

unsigned long strtodec(char *str, int cnt)
{
	unsigned long i, data = 0;	
	
	for(i=0; i<cnt; i++)
	{
		data *= 10;
		if(str[i]<'0'||str[i]>'9')
			return -1;
		data += str[i]-'0';			
	}	
	return data;
}

int strlen(const char *s)
{
	int i = 0;

	for(; *s; s++)
		i++;
	
	return i;
}

int strncmp(const char *s1, const char *s2, int maxlen)
{
	int i;

	for(i = 0; i < maxlen; i++) {
		if(s1[i] != s2[i])
			return ((int) s1[i]) - ((int) s2[i]);
		if(s1[i] == 0)
			return 0;
	}

	return 0;
}

/*---------------------printf and support routines ---------------------*/
/* print c count times */
void PutRepChar(char c, int count)
{
	while (count--) putch(c);
}

/* put string reverse */
void PutStringReverse(char *s, int index)
{
  while ((index--) > 0) putch(s[index]);
}

/*-------------------------------------------------------------------------*/
/* 
   prints value in radix, in a field width width, with fill
   character fill
   if radix is negative, print as signed quantity
   if width is negative, left justify
   if width is 0, use whatever is needed
   if fill is 0, use ' '
 */

static void PutNumber(int value, int radix, int width, char fill)
{
  char buffer[40];
  int bi = 0;
  int unsigned uvalue;
  short int digit;
  short int left = FALSE;
  short int negative = FALSE;

  if (fill == 0) fill = ' ';

  if (width < 0) {
    width = -width;
    left = TRUE;
  }
  if (width < 0 || width > 80) width = 0;
  
  if (radix < 0) {
    radix = -radix;
    if (value < 0) {
      negative = TRUE;
      value = -value;
    }
  }
  uvalue = value;
  do {
    if (radix != 16) {
      digit = uvalue % radix ;
      uvalue = uvalue / radix ;
    }
    else {
      digit = uvalue & 0xf;
      uvalue = uvalue >> 4;
    }
    buffer[bi] = digit + ((digit <= 9) ? '0' : ('A' - 10));
    bi++;

    if (uvalue != 0) {
      if ((radix==10)&&((bi==3)||(bi==7)||(bi==11)|(bi==15))) {
	buffer[bi++]=',';
      }
    }
  } while (uvalue != 0);

  if (negative) {
    buffer[bi] = '-';
    bi += 1;
  }
  if (width <= bi) PutStringReverse(buffer, bi);
  else {
    width -= bi;
    if (!left) PutRepChar(fill, width);
    PutStringReverse(buffer, bi);
    if (left) PutRepChar(fill, width);
  } 
}

/*-------------------------------------------------------------------------*/
static char *FormatItem(char *f, int a)
{
  char c;
  int fieldwidth = 0;
  int leftjust = FALSE;
  int radix = 0;
  char fill = ' ';

  if (*f == '0') fill = '0';
  while ((c = *f++)!=0) {
    if (c >= '0' && c <= '9') {
      fieldwidth = (fieldwidth * 10) + (c - '0');
    }
    else switch (c) {
    case '\000': return(--f);
    case '%': putch('%');
      return(f);
    case '-': leftjust = TRUE;
      break;
    case 'c': {
      if (leftjust) putch(a & 0x7f);
      if (fieldwidth > 0) PutRepChar(fill, fieldwidth - 1);
      if (!leftjust) putch(a & 0x7f);
      return(f);
    }
    case 's': {
      if (leftjust) puts((char *) a);
      if (fieldwidth > strlen((char *) a))
	PutRepChar(fill, fieldwidth - strlen((char *)a));
      if (!leftjust) puts((char *) a);
      return(f);
    }
    case 'd': 
    case 'i': radix = -10;break;
    case 'u': radix = 10;break;
    case 'x': radix = 16;break;
    case 'X': radix = 16;break;
    case 'o': radix = 8;break;
    default : radix = 3;break;/* unknown switch! */
    }
    if (radix) break;
  }
  if (leftjust) fieldwidth = -fieldwidth;
  PutNumber(a, radix, fieldwidth, fill);
  return(f);
}

#define vaStart(list, param) list = (char*)((int)&param + sizeof(param))
#define vaArg(list, type) ((type *)(list += sizeof(type)))[-1]
#define vaEnd(list)

void printf(char *f, ...)       /* variable arguments */
{
//	U32 mode ;
	char *argP;
	
	/* disable IRQs and FIQs */
//	mode = uHALir_ReadMode() ;
//	uHALir_WriteMode(mode | NoFIQ | NoIRQ) ;

	vaStart(argP,f);		/* point at the end of the format string */
	while (*f) {			/* this works because args are all ints */
		if (*f == '%')
			f = FormatItem(f + 1, vaArg(argP, int));
		else
			putch(*f++);
	}
	vaEnd(argP);

	/* restore the previous mode */
//	uHALir_WriteMode(mode) ;
}

int getyorn(void)
{
	char c;
	
	puts(" [y/n] ");
	while(1) {		
		c = getch();
		if((c=='y')||(c=='Y')||(c=='n')||(c=='N'))
			break;
	}
	putch(c);
	putch('\n');
	return c&1;	//y&Y are odd, n&N are even
}

int GetParameter(char *str, int cnt)
{
	int i, key;	
	
	i = 0;
	while(1)
	{
		key = getch();
		if(key)
		{
			if(key == ENTER_KEY)
			{
				str[i] = 0;
				return i;
			}
			else if(key == BACK_KEY && i>0)
			{
				i--;
				printf("\b \b");
			}
			else if(key == 0x1b)
			{
				//getch();
				//getch();
				return -1;
			}
			else if(key>=0x20 && key<=0x7e && i<cnt)
			{
				str[i++] = key;
				putch(key);
			}				
		}
	}	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩mp4| 91精品国产色综合久久ai换脸| 亚洲成人免费在线观看| 欧美v亚洲v综合ⅴ国产v| 日本乱人伦一区| 国产精品影视在线观看| 日韩精品成人一区二区三区| 国产精品电影院| 亚洲精品在线观看视频| 欧美精品亚洲一区二区在线播放| 国产不卡高清在线观看视频| 日韩影视精彩在线| 一区二区三区精品视频| 中文字幕av一区二区三区| 日韩三级视频在线看| 欧洲精品在线观看| 成人h动漫精品| 国产毛片精品视频| 蜜桃视频在线观看一区| 亚洲成人av一区| 亚洲精品国产精华液| 国产精品看片你懂得| 久久久综合视频| 欧美变态凌虐bdsm| 欧美一区二区视频在线观看2020| 91成人在线观看喷潮| 99久久久久免费精品国产| 国产999精品久久久久久绿帽| 奇米精品一区二区三区四区| 午夜久久久久久久久| 亚洲午夜精品在线| 亚洲午夜久久久久久久久久久| 日韩一区有码在线| 亚洲日穴在线视频| 亚洲三级在线看| 亚洲免费观看高清完整版在线观看熊 | 国产精品久久久久久久岛一牛影视| 欧美精品一区二区三区视频| 欧美成人精品福利| 日韩精品中文字幕一区| 欧美变态口味重另类| 日韩一区二区视频| 欧美mv日韩mv国产网站| 精品国产成人系列| 久久久国产精品不卡| 国产视频视频一区| 国产精品久久久久久亚洲伦| 国产精品久久一级| 亚洲激情校园春色| 亚洲第一狼人社区| 日韩在线a电影| 极品少妇xxxx精品少妇偷拍| 国产一区二区成人久久免费影院| 国产大片一区二区| 99久久精品免费看| 欧美性大战久久| 欧美一区二区三区精品| 欧美videossexotv100| 久久精品一区二区| 国产精品久久久久婷婷二区次| 亚洲欧美日韩一区二区| 亚洲成年人影院| 精品一区中文字幕| jizzjizzjizz欧美| 欧美性xxxxxx少妇| 精品国产露脸精彩对白| 中文字幕欧美区| 亚洲国产婷婷综合在线精品| 日本三级韩国三级欧美三级| 国产精品18久久久久久久久| 91无套直看片红桃| 这里只有精品电影| 中文在线免费一区三区高中清不卡| 成人欧美一区二区三区在线播放| 亚洲国产成人av网| 国产成人精品影视| 欧美亚洲一区二区三区四区| 精品久久久久久久一区二区蜜臀| 国产精品成人网| 日本亚洲天堂网| 波多野结衣的一区二区三区| 欧美日韩一区小说| 国产日韩欧美麻豆| 亚洲成人免费看| 国产成人精品1024| 91.xcao| 亚洲国产精华液网站w| 亚洲成av人影院| 97精品国产97久久久久久久久久久久| 欧美日韩国产免费| 欧美国产成人精品| 日韩电影免费一区| 97se亚洲国产综合在线| 亚洲精品一区二区三区精华液 | 久久久精品国产免大香伊| 国产精品久久久久7777按摩 | 久久91精品国产91久久小草| 91小视频免费观看| 精品久久久久一区| 亚洲高清免费一级二级三级| 国产98色在线|日韩| 日韩午夜在线观看| 一区二区三区小说| 粉嫩13p一区二区三区| 欧美高清视频不卡网| 日韩理论在线观看| 国产成人鲁色资源国产91色综| 欧美日韩国产综合视频在线观看| 国产精品免费看片| 极品尤物av久久免费看| 欧美军同video69gay| 中文字幕日本乱码精品影院| 国模大尺度一区二区三区| 欧美乱妇15p| 亚洲激情成人在线| 不卡电影免费在线播放一区| 久久久影视传媒| 麻豆91在线播放免费| 精品视频999| 一区二区三区不卡视频| 91在线丨porny丨国产| 国产精品久久久久久亚洲毛片| 国产麻豆精品在线| 精品日产卡一卡二卡麻豆| 日韩国产精品久久| 欧美精品一二三四| 亚洲v中文字幕| 欧美日韩精品一二三区| 亚洲无人区一区| 在线观看国产一区二区| 亚洲精品视频免费观看| 色综合视频一区二区三区高清| 国产精品理论在线观看| 国产福利91精品一区二区三区| 精品国产一区二区亚洲人成毛片 | 国产精品三级电影| 国产一区二区三区| 久久精品视频网| 国产99久久精品| 一区二区中文视频| 色嗨嗨av一区二区三区| 亚洲午夜一区二区| 91麻豆精品国产91久久久| 日本视频免费一区| 精品国产污污免费网站入口| 91美女蜜桃在线| 一区二区三区av电影| 欧美探花视频资源| 日本欧美一区二区| 久久久久久一级片| www.在线成人| 亚洲精品视频观看| 欧美精品乱人伦久久久久久| 日韩不卡免费视频| 久久综合给合久久狠狠狠97色69| 国产在线一区观看| 欧美国产日韩在线观看| 色偷偷88欧美精品久久久| 亚洲大片免费看| 精品国精品自拍自在线| 东方欧美亚洲色图在线| 亚洲精品欧美二区三区中文字幕| 欧美最猛黑人xxxxx猛交| 日韩在线一二三区| 欧美激情自拍偷拍| 欧美性大战xxxxx久久久| 美洲天堂一区二卡三卡四卡视频| 久久午夜羞羞影院免费观看| 97成人超碰视| 蜜桃视频一区二区| 国产精品福利一区二区三区| 欧美网站大全在线观看| 国内久久婷婷综合| 亚洲免费伊人电影| 精品国产一区二区三区忘忧草| www.亚洲激情.com| 日本伊人午夜精品| 国产精品麻豆网站| 欧美一区日本一区韩国一区| 国产不卡视频在线观看| 夜夜夜精品看看| 久久久久久夜精品精品免费| 色偷偷久久一区二区三区| 美女高潮久久久| 亚洲欧美自拍偷拍色图| 日韩精品一区二| 在线观看国产一区二区| 国产成人午夜高潮毛片| 亚洲福利一二三区| 国产精品家庭影院| 日韩欧美国产一区二区三区 | 久久五月婷婷丁香社区| 欧美婷婷六月丁香综合色| 国产一区二区在线免费观看| 亚洲福利一区二区三区| 国产精品福利一区| 精品处破学生在线二十三| 色屁屁一区二区| 成人综合在线观看| 麻豆国产欧美一区二区三区|