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

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

?? utils.c

?? 44b0x的U盤源代碼
?? C
字號(hào):
#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);
			}				
		}
	}	
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月天一区二区三区| 免费高清视频精品| 日韩精品一区在线观看| 91一区二区在线观看| 蜜桃视频免费观看一区| 日韩美女视频一区二区 | 亚洲天堂精品视频| 555夜色666亚洲国产免| av网站一区二区三区| 理论电影国产精品| 一区二区三区在线高清| 久久久久久久久久久久久女国产乱| 欧美在线播放高清精品| 丁香婷婷综合色啪| 狠狠色丁香久久婷婷综合丁香| 亚洲成人精品一区二区| 亚洲天堂中文字幕| 国产免费成人在线视频| 2021久久国产精品不只是精品| 欧美日本一区二区| 91黄色小视频| 一本久久精品一区二区| 不卡的电影网站| 亚洲精品精品亚洲| 中文字幕一区二区三中文字幕| 日韩亚洲欧美一区| 欧美肥妇bbw| 欧美日韩一区精品| 欧美在线视频日韩| 色一区在线观看| 91免费观看视频| av网站免费线看精品| 丁香婷婷综合色啪| 国产aⅴ精品一区二区三区色成熟| 久久99精品视频| 精品一区二区三区欧美| 黄网站免费久久| 国产一区二区三区电影在线观看| 精品亚洲国内自在自线福利| 美国av一区二区| 亚洲成人av中文| 视频在线在亚洲| 久久精品理论片| 国产精品资源网站| 国产精品77777| 成人免费看片app下载| 高清久久久久久| 91视频xxxx| 欧美在线999| 欧美乱熟臀69xxxxxx| 欧美一区午夜视频在线观看| 欧美成人精品1314www| 亚洲日本免费电影| 亚洲高清免费一级二级三级| 青青草原综合久久大伊人精品 | 天堂成人免费av电影一区| 亚洲在线一区二区三区| 首页国产欧美久久| 黄色小说综合网站| 99久久国产综合精品女不卡| 在线视频综合导航| 这里只有精品视频在线观看| 欧美成人伊人久久综合网| 国产亚洲欧洲一区高清在线观看| 国产精品污网站| 一区二区三区在线播放| 亚洲午夜免费视频| 久久成人综合网| 成人av资源在线观看| 欧美四级电影网| 精品国产乱子伦一区| 一区在线观看免费| 日韩一区精品视频| 国产精品影视在线观看| 色综合一个色综合亚洲| 91麻豆精品国产自产在线 | 亚洲愉拍自拍另类高清精品| 婷婷夜色潮精品综合在线| 国产精一品亚洲二区在线视频| 99精品桃花视频在线观看| 欧美欧美欧美欧美首页| 久久久久久久久岛国免费| 一区二区三区四区蜜桃| 捆绑调教一区二区三区| 91影视在线播放| 精品国产网站在线观看| 亚洲男人天堂av网| 久久国产尿小便嘘嘘| 色综合久久中文字幕综合网 | 国产精品乱码一区二区三区软件| 亚洲国产精品一区二区久久 | 欧美大白屁股肥臀xxxxxx| 中文字幕亚洲在| 久久99久久99| 91国偷自产一区二区三区成为亚洲经典 | 婷婷丁香激情综合| 懂色av一区二区在线播放| 欧美精品黑人性xxxx| 国产精品国产馆在线真实露脸| 日日夜夜免费精品视频| 97久久精品人人做人人爽| 欧美大胆人体bbbb| 午夜精品123| 91啪九色porn原创视频在线观看| 26uuu国产电影一区二区| 亚洲成a人片综合在线| 色综合久久六月婷婷中文字幕| 精品国产91洋老外米糕| 午夜影视日本亚洲欧洲精品| 色综合色综合色综合 | 午夜精品久久久久久久久久久| av电影天堂一区二区在线| 精品国精品自拍自在线| 日韩国产欧美三级| 欧洲一区二区av| 亚洲品质自拍视频网站| 成人免费福利片| 久久精品网站免费观看| 国模娜娜一区二区三区| 欧美刺激午夜性久久久久久久| 日日摸夜夜添夜夜添精品视频 | 精品一区二区三区的国产在线播放| 欧美性色aⅴ视频一区日韩精品| 欧美—级在线免费片| 国内成人免费视频| 日韩精品影音先锋| 久久精品二区亚洲w码| 日韩你懂的在线观看| 免费日本视频一区| 欧美一级夜夜爽| 日本色综合中文字幕| 91精品国产aⅴ一区二区| 首页欧美精品中文字幕| 91精品一区二区三区在线观看| 天堂久久一区二区三区| 欧美一区二区三区人| 美女网站一区二区| 日韩欧美中文字幕公布| 久久精品国产精品亚洲精品| 精品国产伦一区二区三区观看体验| 久久不见久久见免费视频1| 欧美大片在线观看一区二区| 精品一区二区免费在线观看| 国产亚洲欧美日韩俺去了| 成人精品一区二区三区四区| 国产精品免费视频一区| 一本大道久久精品懂色aⅴ| 亚洲韩国一区二区三区| 欧美二区三区的天堂| 美女视频黄 久久| 久久久美女毛片| www.色综合.com| 一级日本不卡的影视| 在线播放视频一区| 精品一区二区久久久| 欧美激情艳妇裸体舞| 91久久线看在观草草青青| 亚洲成人激情社区| 精品国产青草久久久久福利| 成人h动漫精品| 国产成人精品亚洲午夜麻豆| 亚洲日本乱码在线观看| 欧美日韩免费一区二区三区 | 亚洲国产综合91精品麻豆| 制服丝袜亚洲色图| 国产乱码精品一区二区三区忘忧草 | 国产精品萝li| 精品视频一区 二区 三区| 全部av―极品视觉盛宴亚洲| 国产亚洲婷婷免费| 欧洲精品一区二区三区在线观看| 偷拍与自拍一区| 国产色婷婷亚洲99精品小说| 色综合久久九月婷婷色综合| 美国精品在线观看| 亚洲欧洲精品天堂一级| 日韩欧美你懂的| 99国产精品视频免费观看| 首页欧美精品中文字幕| 国产精品久久久久aaaa樱花| 欧美日韩国产a| 国产酒店精品激情| 亚洲一二三区不卡| 久久网这里都是精品| 欧美日韩一区二区三区不卡| 国产乱码字幕精品高清av | 亚洲va欧美va天堂v国产综合| 久久天天做天天爱综合色| 欧美视频日韩视频在线观看| 国产精品一区二区果冻传媒| 亚洲成人黄色影院| 国产精品家庭影院| 精品国产乱码久久久久久浪潮 | 亚洲一区二区综合| 国产性色一区二区| 欧美一区二区三区免费观看视频| www..com久久爱| 国产精品一卡二卡| 青青国产91久久久久久| 亚洲综合区在线|