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

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

?? function.c

?? 這個是好記星608的AP源代碼,他的主要是是GUI,還有對字典的操作
?? C
?? 第 1 頁 / 共 2 頁
字號:
			unReadBlockNum = wOffset;
			
		dwCount = HAL_Read(dwBlock, unReadBlockNum, g_pData);
		if (dwCount != (DWORD)unReadBlockNum * BlockLen)
		{
                    Req_SenseData.SenseKey = 0;
                    Req_SenseData.ASC = 0x30;       // CANNOT FORMAT MEDIUM - INCOMPATIBLE MEDIUM
                    Req_SenseData.ASCQ = 0x06;
			return CHECK_CONDITION;
		}

		dwSend = BOL_BulkIn(dwCount, g_pData);
		*g_pdwResidue -= dwSend;
		if (dwSend != dwCount)
		{
                    Req_SenseData.SenseKey = 0;
                    Req_SenseData.ASC = 0x04;       // LOGICAL UNIT NOT READY, OPERATION IN PROGRESS
                    Req_SenseData.ASCQ = 0x07;
			return CHECK_CONDITION;
		}            
            dwBlock += unReadBlockNum;
	}
#endif
        Req_SenseData.SenseKey = 0;
        Req_SenseData.ASC = 0;
        Req_SenseData.ASCQ = 0;
	return GOOD;
}

MS_STATUS cmd_rcChkCmd(void)
{
	//NU_Printf("READ CAPACITY - Check command\n\r");
	return GOOD;
}

MS_STATUS cmd_rcBuildResponse(void)
{
	BYTE bSendData[] = {0,0x03,0xD2,0, 0,0,0x02,0};
	DWORD dwLBA, dwBlockLen;
	MFlashInfo FlashInfo;

#ifndef	SYS_UPDATE
	FlashIoCtrl(NULL, FLASH_COMMAND_GETINFO, &FlashInfo);	//取得塊大小和塊數(shù)
	dwLBA = FlashInfo.uPageSum - 1;
	dwBlockLen = FlashInfo.uPageSize;
	dwLBA += SEC_PER_TRACK;			
	if (g_bCardConnect) {
		dwLBA += USB_PTABLE[1].p_size;
	}
	dwLBA = SWAP4(dwLBA);
	dwBlockLen = SWAP4(dwBlockLen);
	WRITE_DWORD(bSendData, dwLBA);
	WRITE_DWORD(bSendData + 4, dwBlockLen);
#endif
	
	BOL_BulkIn(sizeof(bSendData), bSendData);
	*g_pdwResidue = g_dwXansfer - sizeof(bSendData);
        Req_SenseData.SenseKey = 0;
        Req_SenseData.ASC = 0;
        Req_SenseData.ASCQ = 0;

	return GOOD;
}

MS_STATUS cmd_rsChkCmd(void)
{
	//NU_Printf("REQUEST SENSE - Check command\n\r");
	return GOOD;
}

MS_STATUS cmd_rsBuildResponse(void)
{
	BOL_BulkIn(sizeof(Req_SenseData)<*((UINT32 *)((UINT8 *)g_pCDB-15+8))?sizeof(Req_SenseData):*((UINT32 *)((UINT8 *)g_pCDB-15+8)), (BYTE *)&Req_SenseData);
	*g_pdwResidue = g_dwXansfer - sizeof(Req_SenseData);	
        Req_SenseData.SenseKey = 0;
        Req_SenseData.ASC = 0;
        Req_SenseData.ASCQ = 0;
	return GOOD;
}

MS_STATUS cmd_turChkCmd()
{
	//NU_Printf("TEST UNIT READY - Check command\n\r");
	return GOOD;
}

MS_STATUS cmd_turBuildResponse(void)
{
    //檢測邏輯塊是否已經(jīng)準(zhǔn)備好
    *g_pdwResidue = 0;
    Req_SenseData.SenseKey = 0;
    Req_SenseData.ASC = 0;
    Req_SenseData.ASCQ = 0;
    return GOOD;
}

MS_STATUS cmd_wriChkCmd(void)
{
	//NU_Printf("WRITE - Check command\n\r");
	return GOOD;
}

#ifdef USB_EVALUATE
#define EVALUATE_NUM		20
extern UINT8 g_nEvaluateFlag;
UINT8 g_nEvaluateTimes = 0;		// counter for received package

#endif

MS_STATUS cmd_wriBuildResponse(void)
{
//	READ10_CMD WriteCmd;
	DWORD dwBlock;	//, LBA_Addr;
//	DWORD dwCount;
	WORD wBlocks, i, BlockLen, wOffset;
	MFlashInfo FlashInfo;


	
//	WriteCmd.dwLBA = READ_DWORD(g_pCDB + 2);
//	WriteCmd.wBlockNum = READ_WORD(g_pCDB + 7);

#ifdef	SYS_UPDATE
	BlockLen = 512;
#else
	FlashIoCtrl(NULL, FLASH_COMMAND_GETINFO, &FlashInfo);	//取得塊大小和塊數(shù)
//	LBA_Addr = FlashInfo.uPageSum - 1;
	BlockLen = FlashInfo.uPageSize;
//        BlockLen = 512;
#endif
	
	*g_pdwResidue = g_dwXansfer;
	wOffset = (UINT16)(g_BufferSize/ BlockLen);
	
	dwBlock = SWAP4(READ_DWORD(g_pCDB + 2));
	wBlocks = SWAP2(READ_DWORD(g_pCDB + 7));
	
//	if (LBA_Addr < (dwBlock + wBlocks))
//		return CHECK_CONDITION;
	
	for (i=0; i < wBlocks; i += wOffset)
	{
		DWORD unReadBlockNum;
		DWORD dwNeedRead;

		unReadBlockNum = wBlocks - i;
		if(unReadBlockNum > wOffset)
			unReadBlockNum = wOffset;
		
		dwNeedRead = unReadBlockNum * BlockLen;
		
		if (BOL_BulkOut(dwNeedRead, g_pData) != dwNeedRead)
		{
                      Req_SenseData.SenseKey = 0x0b;       //ABORTED COMMAND.
                      Req_SenseData.ASC = 0x08;             // LOGICAL UNIT COMMUNICATION TIME-OUT
                      Req_SenseData.ASCQ = 0x01;
                      return CHECK_CONDITION;
		}
                *g_pdwResidue -= dwNeedRead;

#ifdef USB_EVALUATE

		if(dwNeedRead > 10*1024)
		{
			if(g_nEvaluateTimes++ == EVALUATE_NUM && g_nEvaluateFlag == USB_EVALUATE_RING0)
			{
				g_nEvaluateTimes = 0;
				g_nEvaluateFlag = USB_EVALUATE_RING1; // CHECK receive & write TIME
			}
		}

		if(g_nEvaluateFlag != USB_EVALUATE_RING0)	// do not actully write to flash when evaluate ring0
		{
#endif
                
		if (HAL_Write(dwBlock, (UINT16)unReadBlockNum, g_pData) != dwNeedRead)
		{
                    Req_SenseData.SenseKey =0x0b;   //NOT READY
                    Req_SenseData.ASC = 0x04;          // LOGICAL UNIT NOT READY, OPERATION IN PROGRESS
                    Req_SenseData.ASCQ = 0x07; 
                    return CHECK_CONDITION;
		}
		
#ifdef USB_EVALUATE
 		}
 #endif
		
		dwBlock += unReadBlockNum;
	}
	Req_SenseData.SenseKey = 0; //No sense
	Req_SenseData.ASC = 0;
       Req_SenseData.ASCQ = 0;
	return GOOD;
}

MS_STATUS cmd_UnknownChkCmd(void)
{
    //NU_Printf("Unknown(23H) - Check command\n\r");
    //	return GOOD;
    Req_SenseData.SenseKey = 0x05;  //ILLEGAL REQUEST
    Req_SenseData.ASC = 0x24;   // INVALID FIELD IN CDB
    Req_SenseData.ASCQ = 0x0;  
    return  GOOD;
}

MS_STATUS cmd_UnknownBuildResponse(void)
{
	//NU_Printf("Unknown(23h) - Build response\n\r");

//	BOL_BulkIn(sizeof(UnknownCommand), (BYTE*)UnknownCommand);
	BOL_BulkIn(sizeof(UnknownCommand)<*((UINT32 *)((UINT8 *)g_pCDB-15+8))?sizeof(UnknownCommand):*((UINT32 *)((UINT8 *)g_pCDB-15+8)), (BYTE *)&UnknownCommand);
	*g_pdwResidue = g_dwXansfer - sizeof(UnknownCommand);
//	return GOOD;
	return GOOD;			
	
}

MS_STATUS cmd_VerifyChkCmd(void)
{
/*    //NU_Printf("Unknown(2FH) - Check command\n\r");
    //  return GOOD;
    Req_SenseData.SenseKey = 0x05;  //ILLEGAL REQUEST
    Req_SenseData.ASC = 0x24;   // INVALID FIELD IN CDB
    Req_SenseData.ASCQ = 0x0;  
    return  CHECK_CONDITION;
*/    
    return GOOD;
}

MS_STATUS cmd_VerifyBuildResponse(void)
{
    //NU_Printf("Unknown(2Fh) - Build response\n\r");
    Req_SenseData.SenseKey = 0;
    Req_SenseData.ASC = 0;
    Req_SenseData.ASCQ = 0;
    return GOOD;    
}

MS_STATUS cmd_ModeSenseChkCmd(void)
{
    //return GOOD;
/*
    Req_SenseData.SenseKey = 0x05;  //ILLEGAL REQUEST
    Req_SenseData.ASC = 0x24;   // INVALID FIELD IN CDB
    Req_SenseData.ASCQ = 0x0;  
    return  CHECK_CONDITION;
*/    
    Req_SenseData.SenseKey = 0;  //ILLEGAL REQUEST
    Req_SenseData.ASC = 0;   // INVALID FIELD IN CDB
    Req_SenseData.ASCQ = 0x0;  
    return  GOOD;
}

MS_STATUS cmd_ModeSenseBuildResponse(void)
{
	//NU_Printf("Mode Sense - Build response\n\r");

	if (g_dwXansfer <= sizeof(ModeSenseData))
	{
		BOL_BulkIn(g_dwXansfer, (BYTE*)ModeSenseData);
		*g_pdwResidue = 0;
	}
	else
	{
		BOL_BulkIn(sizeof(ModeSenseData), (BYTE*)ModeSenseData);
		*g_pdwResidue = g_dwXansfer - sizeof(ModeSenseData);
	}
	return GOOD;
//        return CHECK_CONDITION;
}

MS_STATUS cmd_MediumRemoveChkCmd(void)
{
    Req_SenseData.SenseKey = 0x05;
    Req_SenseData.ASC = 0x24;   // INVALID FIELD IN CDB
    Req_SenseData.ASCQ = 0x0;  
    return  CHECK_CONDITION;        
}
MS_STATUS cmd_MediumRemoveBuildResponse()
{
    return CHECK_CONDITION;
}
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月天激情综合| 国产视频亚洲色图| 日韩av在线发布| 欧美久久一二三四区| 亚欧色一区w666天堂| 欧美精品xxxxbbbb| 蜜臀a∨国产成人精品| 精品国产凹凸成av人导航| 懂色av中文一区二区三区| 中文字幕一区日韩精品欧美| 色综合久久久久久久久| 午夜精品一区在线观看| 欧美videos大乳护士334| 久久99久久久久| 精品日韩欧美一区二区| 精品一区二区在线视频| 7777精品伊人久久久大香线蕉经典版下载| 日韩精品亚洲专区| 久久精品亚洲麻豆av一区二区| 精品无人区卡一卡二卡三乱码免费卡 | 亚洲视频在线观看三级| av在线不卡免费看| 亚洲免费观看在线观看| 欧美性猛交xxxx黑人交| 亚洲1区2区3区视频| 日韩一级片网址| 免费xxxx性欧美18vr| 欧美日韩国产首页| 久久电影国产免费久久电影| 国产日韩欧美精品在线| 99久久综合国产精品| 亚洲综合清纯丝袜自拍| 欧美电视剧免费全集观看| 国产成人亚洲综合色影视| 亚洲欧美一区二区在线观看| 欧美亚洲一区二区在线观看| 蜜臀av一区二区在线免费观看| 精品国偷自产国产一区| av中文字幕在线不卡| 视频一区在线播放| 欧美国产精品一区二区三区| 色综合久久六月婷婷中文字幕| 日韩专区一卡二卡| 中文字幕第一区综合| 欧美日本一道本在线视频| 国产伦精品一区二区三区在线观看| 中文字幕一区二区视频| 欧美精品xxxxbbbb| eeuss鲁一区二区三区| 亚洲成年人影院| 国产午夜亚洲精品午夜鲁丝片| 色一情一乱一乱一91av| 日韩高清不卡一区| 一区二区三区日韩| 久久久久久久久久久久电影| 欧美午夜精品免费| 成人一级视频在线观看| 婷婷久久综合九色综合伊人色| 日韩西西人体444www| 一本大道av一区二区在线播放| 婷婷亚洲久悠悠色悠在线播放| 国产精品久久久久久久久免费桃花| 7777精品伊人久久久大香线蕉| 91在线丨porny丨国产| 国产自产v一区二区三区c| 午夜av一区二区| 国产精品区一区二区三| 精品女同一区二区| 欧美日韩久久久| caoporen国产精品视频| 国产一区二区美女| 蜜桃一区二区三区在线观看| 亚洲午夜精品17c| 国产精品毛片a∨一区二区三区| 精品av久久707| 欧美精品九九99久久| 欧美在线综合视频| 成人网在线免费视频| 色激情天天射综合网| 国产美女在线观看一区| 国产精品亚洲专一区二区三区 | 国产亚洲一区字幕| 555www色欧美视频| 欧美久久久一区| 91电影在线观看| 97精品国产露脸对白| k8久久久一区二区三区| 国产成人精品在线看| 免费看欧美美女黄的网站| 亚洲人成伊人成综合网小说| 中文字幕日韩av资源站| 日韩女优制服丝袜电影| 欧美va在线播放| 精品卡一卡二卡三卡四在线| 欧美成人女星排名| 欧美成人性福生活免费看| 欧美一级一级性生活免费录像| 欧美色精品天天在线观看视频| 在线观看日韩av先锋影音电影院| 91浏览器打开| 欧美亚洲综合一区| 91麻豆精品国产91久久久久久久久 | 日韩一级大片在线观看| 日韩一区二区三区视频在线观看| 在线观看欧美精品| 91女神在线视频| 不卡av在线免费观看| 99亚偷拍自图区亚洲| 色美美综合视频| 欧美福利电影网| 日韩美女视频在线| 国产欧美一区二区三区网站| 日韩一区在线看| 夜夜爽夜夜爽精品视频| 日日夜夜一区二区| 九九久久精品视频| 成人免费观看男女羞羞视频| 色狠狠综合天天综合综合| 3d动漫精品啪啪1区2区免费| 欧美成人一级视频| 国产精品成人午夜| 亚洲成a人在线观看| 免费xxxx性欧美18vr| 国产成人h网站| 91成人在线观看喷潮| 日韩欧美资源站| 久久先锋资源网| 国产精品美女www爽爽爽| 亚洲欧美日韩国产综合在线| 亚洲午夜在线电影| 丝袜a∨在线一区二区三区不卡| 老鸭窝一区二区久久精品| 不卡一区在线观看| 欧美精品一级二级| 久久精品日韩一区二区三区| 亚洲精品中文字幕乱码三区| 秋霞国产午夜精品免费视频| 懂色av一区二区三区蜜臀 | 日韩黄色免费电影| 丁香激情综合国产| 欧美人狂配大交3d怪物一区| 精品理论电影在线观看| 亚洲专区一二三| 国产成人综合网站| 8x福利精品第一导航| 国产精品国产三级国产普通话蜜臀| 亚洲香肠在线观看| 粉嫩av一区二区三区粉嫩 | 午夜电影网亚洲视频| 国产老女人精品毛片久久| 欧美日韩性生活| 国产精品色哟哟网站| 狂野欧美性猛交blacked| 一本一本久久a久久精品综合麻豆| 日韩免费一区二区| 亚洲妇熟xx妇色黄| fc2成人免费人成在线观看播放 | eeuss鲁片一区二区三区在线观看| 欧美精品成人一区二区三区四区| 综合久久久久久久| 国产精品夜夜嗨| 日韩欧美国产精品一区| 亚洲chinese男男1069| heyzo一本久久综合| 久久久精品免费免费| 热久久久久久久| 91精品国产综合久久久久久久| 日韩毛片一二三区| 99久久夜色精品国产网站| ww久久中文字幕| 免费成人你懂的| 欧美高清激情brazzers| 一区2区3区在线看| 99精品视频在线观看免费| 国产女主播视频一区二区| 韩国精品在线观看| 日韩一区二区在线播放| 亚洲午夜在线电影| 成人毛片老司机大片| 日韩欧美国产三级电影视频| 亚洲激情六月丁香| 94-欧美-setu| 亚洲美女偷拍久久| 色狠狠桃花综合| 亚洲综合一区二区三区| 91在线观看污| 亚洲一区影音先锋| 91福利小视频| 午夜精品久久久久久久蜜桃app| 91国偷自产一区二区开放时间 | 欧洲视频一区二区| 亚洲一区二区三区自拍| 欧美自拍偷拍一区| 性感美女极品91精品| 欧美精品久久久久久久多人混战 | 91麻豆免费看片| 亚洲一区在线观看网站| 欧美日韩高清一区二区不卡 | 欧美乱妇一区二区三区不卡视频| 亚洲成av人影院|