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

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

?? fat_fat.c

?? fat16文件系統源碼。需要的請下
?? C
?? 第 1 頁 / 共 2 頁
字號:
						k++;
				   	}
				   	else
				   	{
					   	if (del_flag == TRUE)
					   	{
							gl_buffer[fat_buf_count] &= 0x0F;
					   	}
					   	else
					   	{
							gl_buffer[fat_buf_count] &= 0x0F;
							gl_buffer[fat_buf_count] +=(Byte) ((cluster & 0x000F) << 4);
					   	}
					   	fat_buf_count++;
						fat_wr_fat();

					   	if(del_flag==TRUE)
					   	{
						   	gl_buffer[fat_buf_count++]=0x00;
					   	}
					   	else
					   	{
						   	gl_buffer[fat_buf_count++]=(Byte)((cluster & 0x0ff0)>>4);
					   	}
						fat_wr_fat();
					   	fat12_parity=0;
					   	k++;
				   	}
				}// end for
        		//if(k == 0)
           			//k++;
	 		} 
     		else
			{
				k++;
			}

		 	if(k < nb_cluster-1) 
		 	{
			 	cluster++;
			  	index++;
			 	temp=chain[index].cluster.w[1] + 2;
			 	if(fat12_parity == 0)
			 	{
				 	if(del_flag==TRUE)
				 	{
					 	gl_buffer[fat_buf_count++] = 0x00;
				 	}
				 	else
				 	{
					 	gl_buffer[fat_buf_count++]=(Byte)(temp & 0x00ff);
				 	}
					fat_wr_fat();
				 	if(del_flag==TRUE)
				 	{
					 	gl_buffer[fat_buf_count] &= 0xf0;
				 	}
				 	else
				 	{
					 	gl_buffer[fat_buf_count] &= 0xf0;
					 	gl_buffer[fat_buf_count] += (Byte)((temp & 0x0f00)>>8);
				 	}
				 	fat_buf_count++;
				 	fat12_parity=1;
				 	k++;
			 	}
			 	else
			 	{
				 	if(del_flag==TRUE)
				 	{
					 	gl_buffer[fat_buf_count] &=0x0f;
				 	}
				 	else
				 	{
					 	gl_buffer[fat_buf_count] &= 0x0f;
					 	gl_buffer[fat_buf_count] += (Byte)((temp & 0x000f)<<4);
				 	}
				 	fat_buf_count++;
					fat_wr_fat();
				 	if(del_flag==TRUE)
				 	{
					 	gl_buffer[fat_buf_count++]=0x00;//modify 2004.3.8 i++
				 	}
				 	else
				 	{
					 	gl_buffer[fat_buf_count++]=(Byte)((temp & 0x0ff0)>>4);//modify 2004.3.8 i++
				 	}
				 
					fat_wr_fat();
				 
				 	k++;
				 	fat12_parity=0;
			 	}//end of fragmentation
		 	}
		}  //first if...end
		else    //scan fat to find the next starting cluster
		{	
			if(fat12_parity==0)
			{
				fat_buf_count++;
				fat_wr_fat();

				fat_buf_count++;
				cluster++;
				fat12_parity = 1;
			}
			else
			{
				fat_buf_count++;
				cluster++;
				fat12_parity=0;
			}
			fat_wr_fat();
		}
	}
	while((k<nb_cluster-1) || ((cluster<(chain[index].cluster.w[1]+2)) && (chain[index].number != 0)) /*|| ((nb_cluster == 1)&&( k<=0))*/);//2004.3.9 modify

	//while((k<nb_cluster-1) || ((nb_cluster==1) && (cluster<(chain[index].cluster+2))));

	/* end of file: make it with 0xfff */

	if ((cluster == chain[index].cluster.w[1] + 2) && (fat12_parity == 1))
	{
		if (fat_buf_count == 0)
		{
   			/* go back to previous fat sector */
			fat_sector_count.b[1]--;
			fat_read_sector(fat_ptr_fats + fat_sector_count.b[1]);
			/* Last sector byte */
			fat_buf_count = fat_sector_size-1;
		}
		else
		{
  			fat_buf_count--;
		}
	}

	if(fat12_parity==0)
	{
		if(del_flag==TRUE)
		{
			gl_buffer[fat_buf_count++]=0x00;
		}
		else
		{
			gl_buffer[fat_buf_count++]=0xff;
		}
		fat_wr_fat();
		if(del_flag==TRUE)
		{
			gl_buffer[fat_buf_count] &= 0xf0;
		}
		else
		{
			gl_buffer[fat_buf_count] |= 0x0f;
		}
	}
	else
	{
		if(del_flag==TRUE)
		{
			gl_buffer[fat_buf_count++] &= 0x0f;
		}
		else
		{
			gl_buffer[fat_buf_count++] |= 0xf0;
		}
		fat_wr_fat();
		if(del_flag==TRUE)
		{
			gl_buffer[fat_buf_count]=0x00;
		}
		else
		{
			gl_buffer[fat_buf_count]=0xff;
		}
	}  

//	fat_phy_fat_end(fat_sector_count.b[1]);
}
#endif //COMPILE_FAT_12

#if COMPILE_FAT_32 == TRUE
void fat32_phy_fats(fat_st_clust_chain xdata *chain, Uint16 nb_cluster,byte del_flag)
{

  	Byte index;
  	Byte chain_index;
//  	Byte sector_number;
//  	Uint16 k;
//  	Uint16 i;
  	Union32 cluster;
//  	Uint16 temp;

  	Uint16 j;
  	byte  flag;
	Uint16 sectorNum_bak;
////////////////////////////////////
  	index=0;
  	j=0;
	fat_sector_count.w = (chain[0].cluster.l + 2) / (fat_sector_size >> 2);	
	phy_read_open(fat_sector_count.w + fat_ptr_fats);
	phy_read_sector();	
	 /* i -> word fat sector position */
    fat_buf_count = ((chain[index].cluster.l + 2) << 2) & (fat_sector_size - 1);  //0x1FF;
    /* init the starting cluster value */
    cluster.l = chain[index].cluster.l + 2;;
    chain_index = 1;
	flag = 0;
//	j = 0;

	do
	{/* Determinate the value of the next cluster */
		if (chain[index].number == chain_index)
		{/* increase index */
			index++;
		    if (del_flag == TRUE)
	        {
	            gl_buffer[fat_buf_count++] = 0x00;
	            gl_buffer[fat_buf_count++] = 0x00;
	            gl_buffer[fat_buf_count++] = 0x00;
	            gl_buffer[fat_buf_count++] = 0x00;
	        }
	        else
	        {
	            gl_buffer[fat_buf_count++] = chain[index].cluster.l + 2;
	            gl_buffer[fat_buf_count++] = (chain[index].cluster.l + 2) >> 8;
	            gl_buffer[fat_buf_count++] = (chain[index].cluster.l + 2) >> 16;
	            gl_buffer[fat_buf_count++] = (chain[index].cluster.l + 2) >> 24;
	        }
	        chain_index = 1;
			sectorNum_bak = (chain[index].cluster.l + 2) / (fat_sector_size >> 2);

			if (sectorNum_bak != fat_sector_count.w)
			{/* Fat change sector */
				/* FAT 1 update */
				fat_write_sector(fat_ptr_fats + fat_sector_count.w);
				if (fat_2_is_present == TRUE)
		        {
		            /* FAT 2 update */
					fat_read_sector(fat_ptr_fats + fat_sector_count.w);
					fat_write_sector(fat_ptr_fats + fat_sector_count.w + fat_fat_size);
				}
				fat_sector_count.w = sectorNum_bak;

				fat_read_sector(fat_ptr_fats + fat_sector_count.w);
			}
		    fat_buf_count = ((chain[index].cluster.l + 2) << 2) & (fat_sector_size - 1);//0x1FF;
		    cluster.l = chain[index].cluster.l + 2;
			flag = 1;
		}
		else
		{
			cluster.l++;
		    if (del_flag == TRUE)
	        {
	            gl_buffer[fat_buf_count++] = 0x00;
	            gl_buffer[fat_buf_count++] = 0x00;
	            gl_buffer[fat_buf_count++] = 0x00;
	            gl_buffer[fat_buf_count++] = 0x00;
	        }
	        else
	        {
	            gl_buffer[fat_buf_count++] = cluster.b[3]; 
	            gl_buffer[fat_buf_count++] = cluster.b[2]; 
	            gl_buffer[fat_buf_count++] = cluster.b[1]; 
	            gl_buffer[fat_buf_count++] = cluster.b[0]; 
	        }
			chain_index++;
			fat_wr_fat();
			flag = 0;
		}
		j++;

	}while(j < nb_cluster );
	
	 /* End of file indicate by 0xFFFF */
	if(flag == 0)
	{
	    if (fat_buf_count == 0) 
	    {
		     fat_sector_count.w--;
			 fat_read_sector(fat_ptr_fats + fat_sector_count.w);	
		     fat_buf_count = fat_sector_size - 4;
	    }
	    else
	    {
	          fat_buf_count = fat_buf_count - 4;
	    }
	}
	
	if (del_flag == TRUE)
	{
	     gl_buffer[fat_buf_count++] = 0x00;
	     gl_buffer[fat_buf_count++] = 0x00;
	     gl_buffer[fat_buf_count++] = 0x00;
	     gl_buffer[fat_buf_count++] = 0x00;
	}
	else
	{
	     gl_buffer[fat_buf_count++] = 0xff;
	     gl_buffer[fat_buf_count++] = 0xff;
	     gl_buffer[fat_buf_count++] = 0xff;
	     gl_buffer[fat_buf_count++] = 0x0f;
	}		

//	fat_phy_fat_end(sectorNum);
}
#endif //COMPILE_FAT_32

#endif //COMPILE_FAT_WRITE

void fat_read_sector( Uint32 number)
{
	phy_read_open(number); 
    phy_read_sector();
    phy_read_close();
}


void fat_write_sector( Uint32 number)
{
#if COMPILE_FAT_WRITE == TRUE
	phy_write_open(number,1);
    phy_write_sector();
    phy_write_close();
#else
number = number;
#endif //#if COMPILE_FAT_WRITE == TRUE
}

/*F**************************************************************************
* NAME: fat_wr_fat
*----------------------------------------------------------------------------
* PARAMS: 
*   id: file extension to select
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Go to the parent directory
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/   
void fat_wr_fat()
{
#if COMPILE_FAT_WRITE == TRUE
	if(fat_buf_count==fat_sector_size)
	{
		//fat_wr_fat(fat_sector_count.b[1]);
	    fat_write_sector(fat_ptr_fats+fat_sector_count.w);
	
		if(fat_2_is_present==TRUE)
		{
			fat_read_sector(fat_ptr_fats+fat_sector_count.w);
	
		    fat_write_sector(fat_ptr_fats+fat_fat_size+fat_sector_count.w);
	    } 
	   
		fat_sector_count.w++;
		fat_read_sector(fat_ptr_fats + fat_sector_count.w);

		fat_buf_count=0;
	}
#endif //#if COMPILE_FAT_WRITE == TRUE	
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品人人做人人爽人人添| 国产精品99久久久久久久vr| 91成人在线观看喷潮| 最新国产の精品合集bt伙计| 成人av影视在线观看| 亚洲欧美日韩中文字幕一区二区三区| av爱爱亚洲一区| 亚洲综合一区二区精品导航| 欧美中文字幕久久| 秋霞午夜av一区二区三区| 91精品欧美一区二区三区综合在| 日韩av午夜在线观看| 精品国产乱码久久久久久久| 国产91综合网| 一区二区三区日韩欧美精品| 欧美精品视频www在线观看| 美女精品自拍一二三四| 国产午夜一区二区三区| 99精品视频在线观看| 亚瑟在线精品视频| 久久影院视频免费| 色综合久久88色综合天天| 五月天一区二区三区| 久久综合色婷婷| 色综合久久久久久久久久久| 日产国产欧美视频一区精品| 国产三级欧美三级| 欧美三片在线视频观看| 国内精品国产成人| 亚洲精品一卡二卡| 精品久久久久久久久久久院品网 | 一个色妞综合视频在线观看| 7777精品伊人久久久大香线蕉的| 国产精品一二一区| 一区二区高清视频在线观看| 欧美一级夜夜爽| 9i在线看片成人免费| 喷白浆一区二区| 亚洲天堂免费在线观看视频| 欧美一区二区播放| 91啪九色porn原创视频在线观看| 蜜桃免费网站一区二区三区| 亚洲综合色婷婷| 亚洲国产岛国毛片在线| 在线成人av影院| 91在线视频网址| 国产福利91精品一区二区三区| 亚洲高清视频的网址| 中文字幕一区二区三| 久久综合九色综合欧美亚洲| 91福利社在线观看| 成人av集中营| 久久电影网站中文字幕| 亚洲永久免费av| 成人欧美一区二区三区白人| 精品日韩成人av| 欧美日韩亚洲另类| 色噜噜夜夜夜综合网| 懂色av一区二区三区免费看| 久久精品国产久精国产| 视频一区视频二区中文字幕| 亚洲欧美韩国综合色| 国产精品色婷婷久久58| 久久一留热品黄| 欧美成人一区二区三区片免费| 欧美三级韩国三级日本三斤| 色综合久久天天| 91丝袜美女网| 91亚洲精品久久久蜜桃| 成人美女视频在线看| 国产精品一区二区不卡| 国产精品一区二区不卡| 国产精品一区三区| 国产一区二区三区免费| 国产一区二区三区美女| 国产精品影视在线观看| 国产一区二区三区四| 狠狠色丁香婷婷综合| 伦理电影国产精品| 国产呦精品一区二区三区网站| 狠狠色狠狠色合久久伊人| 国产一区二区精品久久91| 久久99精品久久只有精品| 久久66热re国产| 国产一区二区女| www.色综合.com| 色综合中文字幕国产| av不卡免费电影| 在线观看欧美黄色| 欧美一级高清片| 久久综合成人精品亚洲另类欧美| 久久久久国产精品免费免费搜索| 欧美激情综合在线| 亚洲视频在线观看三级| 亚洲成人先锋电影| 久久99久久精品| 成人亚洲一区二区一| 一本色道a无线码一区v| 欧美视频第二页| 欧美一区二区三区四区在线观看 | 欧美一区二区三区视频免费播放 | 91蝌蚪porny九色| 色婷婷国产精品综合在线观看| 精品视频一区二区不卡| 日韩视频一区二区| 亚洲国产精华液网站w| 一二三区精品视频| 久久er99精品| 91蝌蚪porny| 欧美一区二区美女| 中文在线一区二区| 亚洲一区二区在线观看视频| 经典三级视频一区| 91丨porny丨中文| 日韩欧美在线123| 亚洲国产精品二十页| 亚洲成人av一区| 粉嫩av一区二区三区| 91精品婷婷国产综合久久性色| 国产清纯白嫩初高生在线观看91| 亚洲高清免费在线| 成人国产亚洲欧美成人综合网| 欧美精品丝袜中出| 亚洲色图一区二区| 国产一区二区日韩精品| 在线播放中文字幕一区| 国产精品美女一区二区| 日韩成人av影视| 色综合天天综合| 精品久久久久久久久久久久久久久 | 中文字幕av在线一区二区三区| 亚洲综合图片区| 成人免费毛片片v| 精品久久久久久久久久久久久久久| 亚洲你懂的在线视频| 国产在线精品免费av| 欧美日韩精品一区二区天天拍小说| 国产亚洲成年网址在线观看| 天天色综合天天| 色香色香欲天天天影视综合网| 久久一区二区视频| 麻豆成人免费电影| 欧美精品在线观看一区二区| 一区二区三区自拍| av一区二区三区黑人| 国产亚洲一区二区三区在线观看 | 国产美女精品在线| 欧美一区二区在线免费播放 | 久久精品夜色噜噜亚洲a∨| 午夜精彩视频在线观看不卡| 色综合久久66| 亚洲精品一卡二卡| 一本大道久久a久久综合婷婷| 中文一区二区完整视频在线观看| 久久www免费人成看片高清| 欧美肥妇bbw| 视频一区在线播放| 欧美日韩国产片| 亚洲午夜成aⅴ人片| 欧美性做爰猛烈叫床潮| 亚洲午夜免费电影| 欧美写真视频网站| 亚洲一区二区三区四区五区中文| 色哟哟亚洲精品| 亚洲精品久久7777| 欧美伊人精品成人久久综合97 | 日本va欧美va瓶| 91精品在线观看入口| 日韩精品福利网| 欧美精品色综合| 美女看a上一区| 久久综合色播五月| 国产91在线观看| 中文字幕亚洲精品在线观看 | 欧美日韩日日骚| 午夜成人在线视频| 91精品国产综合久久精品性色| 日韩精品高清不卡| 欧美v国产在线一区二区三区| 久久99国产乱子伦精品免费| 精品国产成人系列| 风间由美中文字幕在线看视频国产欧美 | 久久99精品国产| 国产日韩欧美不卡| 99久久精品国产导航| 亚洲午夜精品一区二区三区他趣| 欧美精品国产精品| 精品在线一区二区三区| 日本一区二区综合亚洲| 色综合网色综合| 污片在线观看一区二区| 日韩三级视频在线看| 国产成人在线免费观看| 日韩毛片一二三区| 欧美日韩aaaaa| 国产在线麻豆精品观看| 一色桃子久久精品亚洲| 欧美电影一区二区三区| 国产在线播精品第三| 亚洲男同1069视频|