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

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

?? hardware.c

?? 一個類似與Windows環境下的softice的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
    {        ulLines = ulDelta;    }    // calc the start out position	ulOutPos = ulLastPos;    // start to output upper left corner of window	Home(OUTPUT_WINDOW);    // while not end reached...    ClrLines(wWindow[OUTPUT_WINDOW].y,ulLines);	while(ulLines--)	{		SetForegroundColor(aBuffers[ulOutPos].usForegroundColor);		SetBackgroundColor(aBuffers[ulOutPos].usBackgroundColor);		Print(OUTPUT_WINDOW_UNBUFFERED,aBuffers[ulOutPos].buffer);		ResetColor();		ulOutPos = (ulOutPos+1)%LINES_IN_BUFFER;	}    if(aBuffers[ulInPos].buffer[0]==':')    {        ClrLines(wWindow[OUTPUT_WINDOW].y+wWindow[OUTPUT_WINDOW].cy-1,1);        wWindow[OUTPUT_WINDOW].usCurY = wWindow[OUTPUT_WINDOW].cy-1;		SetForegroundColor(aBuffers[ulInPos].usForegroundColor);		SetBackgroundColor(aBuffers[ulInPos].usBackgroundColor);		Print(OUTPUT_WINDOW_UNBUFFERED,aBuffers[ulInPos].buffer);		ResetColor();    	wWindow[OUTPUT_WINDOW].usCurX = strlen(aBuffers[ulInPos].buffer)+1;    }    //LEAVE_FUNC();    return TRUE;}//*************************************************************************// ResetColor()////*************************************************************************void ResetColor(void){    SetForegroundColor(COLOR_FOREGROUND);	SetBackgroundColor(COLOR_BACKGROUND);}// OUTPUT handlers//*************************************************************************// PrintGraf()////*************************************************************************void PrintGraf(ULONG x,ULONG y,UCHAR c){    ohandlers.PrintGraf(x,y,c);}//*************************************************************************// Flush()//// Flush the stream of chars to PrintGraf()//*************************************************************************void Flush(void){    //ENTER_FUNC();    if(ohandlers.Flush)        ohandlers.Flush();    //LEAVE_FUNC();}//*************************************************************************// EnableScroll()////*************************************************************************void EnableScroll(USHORT Window){    //ENTER_FUNC();	wWindow[Window].bScrollDisabled=FALSE;    //LEAVE_FUNC();}//*************************************************************************// DisableScroll()////*************************************************************************void DisableScroll(USHORT Window){    //ENTER_FUNC();	wWindow[Window].bScrollDisabled=TRUE;    //LEAVE_FUNC();}//*************************************************************************// ShowCursor()//// show hardware cursor//*************************************************************************void ShowCursor(void){    ohandlers.ShowCursor();}//*************************************************************************// HideCursor()//// hide hardware cursor//*************************************************************************void HideCursor(void){    ohandlers.HideCursor();}//*************************************************************************// SetForegroundColor()//// set foreground color//*************************************************************************void SetForegroundColor(ECOLORS c){//    //ENTER_FUNC();    ohandlers.SetForegroundColor(c);//    //LEAVE_FUNC();}//*************************************************************************// SetBackgroundColor()//// set background color//*************************************************************************void SetBackgroundColor(ECOLORS c){//    //ENTER_FUNC();    ohandlers.SetBackgroundColor(c);//    //LEAVE_FUNC();}//*************************************************************************// PutChar()//// put a zero terminated string at position (x,y)//*************************************************************************void PutChar(LPSTR p,ULONG x,ULONG y){	ULONG i;//    //ENTER_FUNC();	for(i=0;p[i]!=0;i++)	{		if((UCHAR)p[i]>=0x20 && (UCHAR)p[i]<0x80)		{			PrintGraf(x+i,y,p[i]);		}	}    Flush();//    //LEAVE_FUNC();}//*************************************************************************// CopyLineTo()//// copy a line from src to dest//*************************************************************************void CopyLineTo(USHORT dest,USHORT src){    ohandlers.CopyLineTo(dest,src);}//*************************************************************************// InvertLine()//// invert a line on the screen//*************************************************************************void InvertLine(ULONG line){    ohandlers.InvertLine(line);}//*************************************************************************// HatchLine()//// hatches a line on the screen//*************************************************************************void HatchLine(ULONG line){    ohandlers.HatchLine(line);}//*************************************************************************// ClrLine()//// clear a line on the screen//*************************************************************************void ClrLine(ULONG line){    ohandlers.ClrLine(line);}//*************************************************************************// ClrLines()//// clear a couple of lines//*************************************************************************void ClrLines(ULONG line,ULONG count){    if(ohandlers.ClrLines)    {        ohandlers.ClrLines(line,count);    }    else    {        ULONG i;        for(i=0;i<count;i++)            ClrLine(line + i);    }}//*************************************************************************// Home()//// cursor to home position//*************************************************************************void Home(USHORT Window){	wWindow[Window].usCurX=0;    wWindow[Window].usCurY=0;}//*************************************************************************// Clear()//// clear a specific window//*************************************************************************void Clear(USHORT Window){    ClrLines(wWindow[Window].y,wWindow[Window].cy);    Home(Window);}//*************************************************************************// PrintCaption()////*************************************************************************void PrintCaption(void){    const char title[]=" PrivateICE system level debugger (LINUX) (c) 1998-2001 PrivateTOOLS ";	ClrLines(0,1);		PutChar((LPSTR)title,		   (GLOBAL_SCREEN_WIDTH-sizeof(title))/2,           0);}//*************************************************************************// PrintTemplate()//// print the screen template//*************************************************************************void PrintTemplate(void){    USHORT j;	//ENTER_FUNC();    ResetColor();    for(j=0;j<4;j++)    {        ClrLines(wWindow[j].y,wWindow[j].cy);    }	SetForegroundColor(COLOR_TEXT);	SetBackgroundColor(COLOR_CAPTION);    PrintCaption();	ClrLines(wWindow[DATA_WINDOW].y-1,1);		ClrLines(wWindow[SOURCE_WINDOW].y-1,1);		ClrLines(wWindow[OUTPUT_WINDOW].y-1,1);	    ResetColor();	ShowRunningMsg();    PrintLogo(TRUE);	//LEAVE_FUNC();}//*************************************************************************// PrintLogo()////*************************************************************************void PrintLogo(BOOLEAN bShow){    ohandlers.PrintLogo(bShow);}//*************************************************************************// PrintCursor()//// emulate a blinking cursor block//*************************************************************************void PrintCursor(BOOLEAN bForce){    ohandlers.PrintCursor(bForce);}//*************************************************************************// Print()////*************************************************************************void Print(USHORT Window,LPSTR p){   ULONG i;   ENTER_FUNC();   if(!bConsoleIsInitialized)   {	   DPRINT(PICE_DEBUG, DBT_HARDWARE, DBL_INFO, "console is not initialized!\n");	   goto Quit;   }   if(Window > OUTPUT_WINDOW_UNBUFFERED)   {       DPRINT(PICE_DEBUG, DBT_HARDWARE, DBL_INFO, "not a window!\n");	   goto Quit;   }   // the OUTPUT_WINDOW is specially handled    if(Window == OUTPUT_WINDOW)   {	   DPRINT(PICE_DEBUG, DBT_HARDWARE, DBL_INFO, "OUTPUT_WINDOW\n");	   if(AddToRingBuffer(p))	   {		   DPRINT(PICE_DEBUG, DBT_HARDWARE, DBL_INFO, "checking ring buffer\n");		   CheckRingBuffer();	   }	   else	   {		   DPRINT(PICE_DEBUG, DBT_HARDWARE, DBL_INFO, "outputting a line from ring buffer\n");		   wWindow[OUTPUT_WINDOW].usCurX = 0;		   ClrLines(wWindow[OUTPUT_WINDOW].y+wWindow[OUTPUT_WINDOW].usCurY,1);		   SetForegroundColor(aBuffers[ulInPos].usForegroundColor);		   SetBackgroundColor(aBuffers[ulInPos].usBackgroundColor);		   Print(OUTPUT_WINDOW_UNBUFFERED,aBuffers[ulInPos].buffer);		   ResetColor();	   }   }   else   {	   BOOLEAN bOutput = TRUE; 	   if(Window == OUTPUT_WINDOW_UNBUFFERED)	   {		   Window = OUTPUT_WINDOW;	   }	   for(i=0;p[i]!=0;i++)	   {			if(wWindow[Window].usCurX > (GLOBAL_SCREEN_WIDTH-1))				bOutput = FALSE;			// newline			if(p[i]=='\n')			{				wWindow[Window].usCurX = 0;				wWindow[Window].usCurY++;				if(wWindow[Window].usCurY>=wWindow[Window].cy)				{					wWindow[Window].usCurY=wWindow[Window].cy-1;				}				if(wWindow[Window].bScrollDisabled==TRUE)					break;			}			// backspace			else				 if(p[i]=='\b')				 {					  if(wWindow[Window].usCurX>0)					  {						  wWindow[Window].usCurX--;						  if(bOutput)							  PrintGraf(wWindow[Window].usCurX,wWindow[Window].y+wWindow[Window].usCurY,0x20);					  }				 }			     // TAB				 else					  if(p[i]=='\t')					  {						  if((wWindow[Window].usCurX + 4) < (GLOBAL_SCREEN_WIDTH-1))						  {							  wWindow[Window].usCurX += 4;						  }					  }					  else					  {						  if((UCHAR)p[i] < 0x20 || (UCHAR)p[i] > 0x7f)							  p[i] = ' ';						  if(bOutput)							  PrintGraf(wWindow[Window].usCurX,wWindow[Window].y+wWindow[Window].usCurY,p[i]);						  wWindow[Window].usCurX++;					  }	   }	   // flush	   Flush();   }Quit:   LEAVE_FUNC();}//*************************************************************************// SaveGraphicsState()////*************************************************************************void SaveGraphicsState(void){    ohandlers.SaveGraphicsState();}//*************************************************************************// RestoreGraphicsState()////*************************************************************************void RestoreGraphicsState(void){    ohandlers.RestoreGraphicsState();}//*************************************************************************// SetWindowGeometry()////*************************************************************************void SetWindowGeometry(PVOID pWindow){    PICE_memcpy(wWindow,pWindow,sizeof(wWindow));}// INPUT handlers//*************************************************************************// GetKeyPolled()////*************************************************************************UCHAR GetKeyPolled(void){    return ihandlers.GetKeyPolled();}//*************************************************************************// FlushKeyboardQueue()////*************************************************************************void FlushKeyboardQueue(void){    ihandlers.FlushKeyboardQueue();}//*************************************************************************// ConsoleInit()//// init terminal screen//*************************************************************************BOOLEAN ConsoleInit(void) {    BOOLEAN bResult = FALSE;    ENTER_FUNC();    // preset ohandlers and ihandler to NULL    memset((void*)&ohandlers,0,sizeof(ohandlers));    memset((void*)&ihandlers,0,sizeof(ihandlers));	DPRINT(PICE_DEBUG, DBT_HARDWARE, DBL_INFO, "TerminalMode = %d\n", eTerminalMode);    switch(eTerminalMode)    {        case TERMINAL_MODE_HERCULES_GRAPHICS:			 bResult = ConsoleInitHercules();		break;        case TERMINAL_MODE_HERCULES_TEXT:        break;        case TERMINAL_MODE_VGA_TEXT:            bResult = ConsoleInitVga();        break;        case TERMINAL_MODE_SERIAL:            bResult = ConsoleInitSerial();        break;        case TERMINAL_MODE_NONE:        default:            // fail        break;    }    // check that outputhandlers have all been set    // ohandlers.Flush may be zero on return     if( !ohandlers.ClrLine              ||        !ohandlers.CopyLineTo           ||        !ohandlers.HatchLine            ||        !ohandlers.HideCursor           ||        !ohandlers.InvertLine           ||        !ohandlers.PrintCursor          ||        !ohandlers.PrintGraf            ||        !ohandlers.PrintLogo            ||        !ohandlers.RestoreGraphicsState ||        !ohandlers.SaveGraphicsState    ||        !ohandlers.SetBackgroundColor   ||        !ohandlers.SetForegroundColor   ||        !ohandlers.ShowCursor)    {        // ohandlers.ClrLines is optional        bResult = FALSE;    }    // check that inputhandlers were installed    if( !ihandlers.GetKeyPolled ||        !ihandlers.FlushKeyboardQueue)    {        bResult = FALSE;    }    bConsoleIsInitialized = bResult;    LEAVE_FUNC();    return bResult;}//*************************************************************************// ConsoleShutdown()//// exit terminal screen//*************************************************************************void ConsoleShutdown(void) {    ENTER_FUNC();    switch(eTerminalMode)    {        case TERMINAL_MODE_HERCULES_GRAPHICS:            ConsoleShutdownHercules();            break;        case TERMINAL_MODE_HERCULES_TEXT:            break;        case TERMINAL_MODE_VGA_TEXT:			 ConsoleShutdownVga();            break;        case TERMINAL_MODE_SERIAL:            ConsoleShutdownSerial();            break;        case TERMINAL_MODE_NONE:        default:            // fail            break;    }    LEAVE_FUNC();}// EOF

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色欧美片视频在线观看在线视频| 久久亚洲影视婷婷| 久久香蕉国产线看观看99| 亚洲老司机在线| 国产999精品久久| 精品国产一区二区三区四区四| 亚洲综合激情另类小说区| www.av亚洲| 樱桃视频在线观看一区| 激情综合五月婷婷| 日韩免费福利电影在线观看| 悠悠色在线精品| 99久久精品情趣| 国产精品久久久久久久蜜臀 | 一区二区三区在线免费观看| 成人亚洲一区二区一| 欧美成人激情免费网| 日本视频一区二区| 在线综合亚洲欧美在线视频| 亚洲一区二区欧美日韩| 色婷婷久久综合| 一区二区三区欧美| 精品视频色一区| 亚洲sss视频在线视频| 91国内精品野花午夜精品| 日韩理论片网站| 99精品视频一区二区| 亚洲视频每日更新| 在线观看日韩毛片| 亚洲综合精品久久| 911精品国产一区二区在线| 亚洲va欧美va人人爽| 欧美日韩国产首页| 天堂成人免费av电影一区| 欧美午夜精品一区| 五月激情综合色| 日韩一区二区三| 国模无码大尺度一区二区三区| 欧美va在线播放| 国产v综合v亚洲欧| 亚洲欧美日韩国产综合| 欧美三级欧美一级| 麻豆成人久久精品二区三区红| 欧美一区二区三区白人| 国产一区二区三区观看| 国产亚洲精品aa| 99精品在线观看视频| 亚洲国产wwwccc36天堂| 91精品国产综合久久婷婷香蕉| 久久国内精品视频| 中文一区二区在线观看| 91麻豆福利精品推荐| 亚洲成年人网站在线观看| 精品乱人伦小说| 国产69精品久久久久毛片| 亚洲蜜臀av乱码久久精品蜜桃| 欧美日韩精品一区二区天天拍小说| 丝袜美腿亚洲一区二区图片| 久久亚洲免费视频| 色狠狠一区二区三区香蕉| 美女一区二区三区在线观看| 国产午夜久久久久| 欧美午夜片在线观看| 国产乱码精品一品二品| 亚洲尤物视频在线| 国产日本亚洲高清| 欧美视频中文一区二区三区在线观看| 精品一区二区精品| 亚洲免费观看高清完整版在线观看| 欧美一区二区三区在线电影| 99久久国产综合精品色伊| 蜜桃视频免费观看一区| 亚洲精品视频免费看| xnxx国产精品| 欧美日韩电影一区| 波多野结衣中文字幕一区 | 欧美日韩国产bt| 国产成人精品一区二| 午夜不卡在线视频| 亚洲欧洲国产日韩| 国产亚洲综合在线| 91精品国产黑色紧身裤美女| 不卡影院免费观看| 国产精品77777| 美女视频一区二区| 午夜不卡av在线| 一级特黄大欧美久久久| 国产精品成人一区二区艾草| 精品久久久久久久人人人人传媒 | a级高清视频欧美日韩| 国内偷窥港台综合视频在线播放| 亚洲h精品动漫在线观看| 1区2区3区国产精品| 日本一区二区久久| 久久婷婷久久一区二区三区| 欧美一区二区三区精品| 欧美精品在线观看播放| 在线免费观看日本欧美| 一本色道久久综合精品竹菊| 大胆欧美人体老妇| 成人激情午夜影院| 成人av网站在线观看| 丁香亚洲综合激情啪啪综合| 国产一区二区在线免费观看| 精品亚洲国产成人av制服丝袜| 天堂成人国产精品一区| 视频一区在线播放| 三级不卡在线观看| 天天爽夜夜爽夜夜爽精品视频| 亚洲第一主播视频| 日韩激情一区二区| 日韩电影一区二区三区四区| 日韩不卡一区二区三区| 日韩电影在线免费看| 麻豆成人免费电影| 国产自产视频一区二区三区| 国产精品性做久久久久久| 欧美中文字幕久久| 在线观看欧美黄色| 91精品国产综合久久久蜜臀图片| 欧美日本一区二区三区四区| 91精品国产黑色紧身裤美女| 日韩视频永久免费| 国产三级欧美三级日产三级99| 久久久久成人黄色影片| 亚洲欧洲日产国码二区| 亚洲欧美色一区| 天堂va蜜桃一区二区三区漫画版| 秋霞影院一区二区| 国产一区二区三区久久久| 国产成人啪午夜精品网站男同| 成人18精品视频| 欧美久久婷婷综合色| 亚洲精品一区二区三区99| 国产精品色在线| 亚洲第一福利一区| 精品一区二区三区av| 成人福利电影精品一区二区在线观看| 色网站国产精品| 日韩一级片在线观看| 国产色综合一区| 亚洲一区视频在线| 韩国v欧美v亚洲v日本v| 一本色道久久加勒比精品| 日韩欧美一区在线| 中文字幕在线观看不卡视频| 亚洲国产aⅴ成人精品无吗| 久久精品国产澳门| 91高清视频免费看| 久久久久久久久久久久久久久99 | 欧美精品 国产精品| 久久免费看少妇高潮| 一区二区欧美国产| 韩国女主播一区| 欧美日韩中文字幕一区| 国产三级三级三级精品8ⅰ区| 亚洲激情男女视频| 久久69国产一区二区蜜臀| 91一区二区在线| 久久免费看少妇高潮| 天天做天天摸天天爽国产一区| 国产成人亚洲综合a∨婷婷图片 | 99国内精品久久| 精品少妇一区二区| 亚洲成人在线免费| 成人性生交大片免费看中文网站| 欧美日韩mp4| 亚洲免费av高清| 福利一区在线观看| 欧美精品一区二区蜜臀亚洲| 亚洲国产精品麻豆| 一本大道久久a久久综合婷婷| 欧美va亚洲va国产综合| 日韩在线卡一卡二| 欧美亚洲日本一区| 亚洲精品你懂的| 99久久99精品久久久久久| 久久久久久麻豆| 麻豆精品国产传媒mv男同| 欧美性感一类影片在线播放| 亚洲女厕所小便bbb| 国产成人av一区二区三区在线观看| 91精品国产综合久久精品| 亚洲精品伦理在线| 91在线观看视频| 中文字幕一区二区视频| 成人一区二区在线观看| 久久影院午夜论| 国产一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 日日摸夜夜添夜夜添国产精品| 91福利视频久久久久| 亚洲在线视频免费观看| 欧美色成人综合| 亚洲影院久久精品| 欧美日韩国产天堂| 男女性色大片免费观看一区二区 | 美女尤物国产一区| 日韩欧美卡一卡二| 国产在线精品一区二区夜色|