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

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

?? fs.c

?? filesystem for at91sam9263ek,編輯器為keil for arm mdk
?? C
?? 第 1 頁 / 共 2 頁
字號:
			fs->volumeId.ReservedSectorCount+			fs->FatSectorCount*fs->volumeId.NumberOfFats;	}	else	{		base=			fs->volumeId.ReservedSectorCount+			fs->FatSectorCount*fs->volumeId.NumberOfFats+			fs->volumeId.RootEntryCount/16;	}	return(((sector-base)-((sector-base)%fs->volumeId.SectorsPerCluster))/fs->volumeId.SectorsPerCluster+2 );}/*****************************************************************************//* ****************************************************************************   * euint32 fs_getNextFreeCluster(FileSystem *fs,euint32 startingcluster) * Description: This functions searches for a free cluster, starting it's search at * cluster startingcluster. This allow to speed up searches and try to avoid  * fragmentation. Implementing rollover search is still to be done. * Return value: If a free cluster is found it's number is returned. If none is  * found 0 is returned.*/euint32 fs_getNextFreeCluster(FileSystem *fs,euint32 startingcluster){	euint32 r;		while(startingcluster<fs->DataClusterCount){		r=fat_getNextClusterAddress(fs,startingcluster,0);		if(r==0){			return(startingcluster);		}		startingcluster++;	}	return(0);}/*****************************************************************************/ /* ****************************************************************************   * euint32 fs_giveFreeClusterHint(FileSystem *fs) *  * Description: This function should return a clusternumber that is free or * lies close before free clusters. The result MUST be checked to see if  * it is free! Implementationhint: search the largest clusternumber in the * files in the rootdirectory. *  * Return value: Returns it's best guess.*/euint32 fs_giveFreeClusterHint(FileSystem *fs){	return(2); /* Now THIS is a hint ;) */}/*****************************************************************************/ /* **************************************************************************** * esint8 fs_findFile(FileSystem *fs,eint8* filename,FileLocation *loc,euint32 *lastDir) * * Description: This function looks if the given filename is on the given fs * and, if found, fills in its location in loc. * The function will first check if the pathname starts with a slash. If so it will * set the starting directory to the rootdirectory. Else, it will take the firstcluster- * currentdir (That you can change with chdir()) as startingpoint. * The lastdir pointer will be the first cluster of the last directory fs_findfile * enters. It starts out at the root/current dir and then traverses the path along with * fs_findFile.  * It is set to 0 in case of errors (like dir/dir/dir/file/dir/dir...) * Return value: Returns 0 when nothing was found, 1 when the thing found * was a file and 2 if the thing found was a directory.*/esint8 fs_findFile(FileSystem *fs,eint8* filename,FileLocation *loc,euint32 *lastDir){	euint32 fccd,tmpclus;	eint8 ffname[11],*next,it=0,filefound=0;		if(*filename=='/'){		fccd = fs_getFirstClusterRootDir(fs);		filename++;		if(lastDir)*lastDir=fccd;		if(!*filename){			return(2);		}	}else{		fccd = fs->FirstClusterCurrentDir;		if(lastDir)*lastDir=fccd;	}		while((next=file_normalToFatName(filename,ffname))!=0){		if((tmpclus=dir_findinDir(fs,ffname,fccd,loc,DIRFIND_FILE))==0){			/* We didn't find what we wanted */			/* We should check, to see if there is more after it, so that			 * we can invalidate lastDir			 */			if((file_normalToFatName(next,ffname))!=0){				if(lastDir)*lastDir=0;			}			 			return(0);		}		it++;		if(loc->attrib&ATTR_DIRECTORY){			fccd = tmpclus;			filename = next;			if(lastDir)*lastDir=fccd;			if(filefound)*lastDir=0;		}else{			filefound=1;			if((file_normalToFatName(next,ffname))!=0){				if(lastDir)*lastDir=0;				return(0);			}else{				filename=next;				}		}	}		if(it==0)return(0);	if(loc->attrib&ATTR_DIRECTORY || !filefound)return(2);	return(1);}/*****************************************************************************/esint16 fs_findFreeFile(FileSystem *fs,eint8* filename,FileLocation *loc,euint8 mode){	euint32 targetdir=0;	eint8 ffname[11];		if(fs_findFile(fs,filename,loc,&targetdir))return(0);	if(!dir_getFatFileName(filename,ffname))return(0);	if(dir_findinDir(fs,ffname,targetdir,loc,DIRFIND_FREE)){		return(1);	}else{		if(dir_addCluster(fs,targetdir)){			return(0);		}else{			if(dir_findinDir(fs,ffname,targetdir,loc,DIRFIND_FREE)){				return(1);			}		}	}			return(0);}/*****************************************************************************//* ****************************************************************************   * euint32 fs_getLastCluster(FileSystem *fs,ClusterChain *Cache) * Description: This function searches the last cluster of a chain. * Return value: The LastCluster (also stored in cache);*/euint32 fs_getLastCluster(FileSystem *fs,ClusterChain *Cache){	if(Cache->DiscCluster==0){		Cache->DiscCluster=Cache->FirstCluster;		Cache->LogicCluster=0;	}		if(Cache->LastCluster==0)	{		while(fat_getNextClusterChain(fs, Cache)==0)		{			Cache->LogicCluster+=Cache->Linear;			Cache->DiscCluster+=Cache->Linear;			Cache->Linear=0;		}	}	return(Cache->LastCluster);}/*****************************************************************************/euint32 fs_getFirstClusterRootDir(FileSystem *fs){	switch(fs->type){		case FAT32:			return(fs->volumeId.RootCluster);			break;		default:				return(1);				break;	}}/*****************************************************************************/void fs_initClusterChain(FileSystem *fs,ClusterChain *cache,euint32 cluster_addr){	cache->FirstCluster=cluster_addr;	cache->DiscCluster=cluster_addr;	cache->LogicCluster=0;	cache->LastCluster=0; /* Warning flag here */	cache->Linear=0;	cache->ClusterCount=0; /* 0 means NOT known */}/*****************************************************************************/void fs_setFirstClusterInDirEntry(FileRecord *rec,euint32 cluster_addr){	rec->FirstClusterHigh=cluster_addr>>16;	rec->FirstClusterLow=cluster_addr&0xFFFF;}/*****************************************************************************/esint8 fs_flushFs(FileSystem *fs){	return(part_flushPart(fs->part,0,fs->SectorCount));}/*****************************************************************************/esint8 fs_umount(FileSystem *fs){	return(fs_flushFs(fs));}/*****************************************************************************/esint8 fs_clearCluster(FileSystem *fs,euint32 cluster){	euint16 c;	euint8* buf;		for(c=0;c<(fs->volumeId.SectorsPerCluster);c++){		buf = part_getSect(fs->part,fs_clusterToSector(fs,cluster)+c,IOM_MODE_READWRITE);		memClr(buf,512);		part_relSect(fs->part,buf);	}	return(0);}esint8 fs_getFsInfo(FileSystem *fs,euint8 force_update){	euint8 *buf;		 	if(!fs->type==FAT32)return(0);	buf = part_getSect(fs->part,FS_INFO_SECTOR,IOM_MODE_READONLY);	if(ex_getb32(buf,0)!=FSINFO_MAGIC_BEGIN || ex_getb32(buf,508)!=FSINFO_MAGIC_END){		part_relSect(fs->part,buf);		return(-1);	}	fs->FreeClusterCount = ex_getb32(buf,488);	fs->NextFreeCluster  = ex_getb32(buf,492);	part_relSect(fs->part,buf);	if(force_update){		fs->FreeClusterCount=fat_countFreeClusters(fs);	}	return(0);}esint8 fs_setFsInfo(FileSystem *fs){	euint8* buf;	if(!fs->type==FAT32)return(0);	buf = part_getSect(fs->part,FS_INFO_SECTOR,IOM_MODE_READWRITE);	if(ex_getb32(buf,0)!=FSINFO_MAGIC_BEGIN || ex_getb32(buf,508)!=FSINFO_MAGIC_END){		part_relSect(fs->part,buf);		return(-1);	}	ex_setb32(buf,488,fs->FreeClusterCount);	ex_setb32(buf,492,fs->NextFreeCluster);	part_relSect(fs->part,buf);	return(0);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级国产精品| 蜜桃视频在线观看一区| 中文字幕一区二区三区蜜月 | 国产精品看片你懂得| 精品国产精品一区二区夜夜嗨| 欧美视频在线播放| 欧美成va人片在线观看| 欧美精品v国产精品v日韩精品| 欧美一区二区三区的| 国产欧美视频一区二区三区| 亚洲一本大道在线| 成人小视频在线观看| 欧美在线不卡视频| 欧美一级二级在线观看| 国产精品短视频| 精品一区二区在线播放| 国产一区视频导航| 欧美日韩在线一区二区| 成人精品小蝌蚪| 日本一区中文字幕 | 日韩精品一区二| 18成人在线观看| 国产精品18久久久久久久久| 美国毛片一区二区| 在线观看欧美日本| 亚洲欧洲精品成人久久奇米网| 亚洲一区二区av电影| 99r精品视频| 亚洲三级在线免费观看| 国产在线播放一区三区四| 91麻豆精品国产91久久久久久久久 | 大白屁股一区二区视频| 欧美日韩中文字幕一区| 亚洲综合视频在线观看| 成人丝袜视频网| 久久综合av免费| 国产成人在线色| 麻豆视频观看网址久久| 欧美日韩国产一二三| 免费在线观看成人| 欧美韩日一区二区三区| aaa欧美色吧激情视频| 日韩毛片高清在线播放| 粉嫩av一区二区三区在线播放| 国产精品亲子伦对白| 9l国产精品久久久久麻豆| 九九精品视频在线看| 中文字幕二三区不卡| 色哟哟亚洲精品| 日本高清免费不卡视频| 另类调教123区 | 成人黄色国产精品网站大全在线免费观看| wwww国产精品欧美| 久久你懂得1024| 欧美日韩在线播放一区| 国产一区视频在线看| 亚洲成人综合网站| 日韩欧美亚洲国产精品字幕久久久| 国产精品一品二品| 亚洲欧美日韩在线播放| 久久精品男人天堂av| 91麻豆精品国产91久久久久久久久 | 国产麻豆精品95视频| 亚洲自拍偷拍综合| 国产精品妹子av| 久久精品水蜜桃av综合天堂| 欧美日精品一区视频| 国产精品亚洲а∨天堂免在线| 专区另类欧美日韩| 国产日产精品1区| 精品国产伦一区二区三区免费| 成人午夜视频免费看| 国内精品在线播放| 中文在线资源观看网站视频免费不卡 | 欧美日韩国产综合一区二区三区 | 色偷偷久久人人79超碰人人澡 | 欧美白人最猛性xxxxx69交| 亚洲老司机在线| 亚洲欧洲av在线| 中文字幕日本乱码精品影院| 久久精品99久久久| 国产一区二区三区四| 韩国毛片一区二区三区| 国产午夜亚洲精品不卡| 久久精品一区二区三区av| www日韩大片| 不卡大黄网站免费看| 色综合久久综合网97色综合| www.亚洲精品| 亚洲免费观看高清完整版在线观看熊| 中文字幕乱码久久午夜不卡| 亚洲三级久久久| av高清不卡在线| 日韩女优毛片在线| 国产精品欧美综合在线| 精品国产精品一区二区夜夜嗨| 国产精品少妇自拍| 日韩不卡一二三区| 国产白丝精品91爽爽久久 | 亚洲国产视频直播| 这里只有精品免费| 欧美激情一区二区三区不卡| 亚洲色欲色欲www| 国产精品一区二区三区网站| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产一区二区女| 成人精品免费网站| 国产欧美在线观看一区| 尤物av一区二区| 久久综合国产精品| 亚洲午夜久久久久中文字幕久| 国产黄色精品视频| 福利一区二区在线| 国产亚洲一区二区在线观看| 337p粉嫩大胆色噜噜噜噜亚洲| 成人夜色视频网站在线观看| 在线观看视频91| 亚洲综合丝袜美腿| 91免费看`日韩一区二区| 3d动漫精品啪啪一区二区竹菊| 亚洲精品综合在线| 色婷婷国产精品| 夜夜精品浪潮av一区二区三区| www.日本不卡| 久久久精品tv| 粉嫩av一区二区三区| 日韩欧美一区二区视频| 亚洲国产综合在线| 欧美欧美午夜aⅴ在线观看| 亚洲第一主播视频| 精品一区二区在线免费观看| 欧美老女人在线| 精品午夜一区二区三区在线观看 | 日韩欧美久久久| 国产一区二区不卡| 中文字幕+乱码+中文字幕一区| 成人黄色电影在线| 亚洲成人你懂的| 精品国内二区三区| 日本aⅴ免费视频一区二区三区 | 蜜臀精品久久久久久蜜臀| 国产欧美日韩在线视频| 97久久精品人人做人人爽50路| 一区二区日韩av| 国产精品视频一区二区三区不卡| 国产mv日韩mv欧美| 国产一区二区导航在线播放| 国产亚洲欧洲997久久综合 | 91免费版在线看| 美女国产一区二区三区| 国产精品久久久久影院亚瑟| 色噜噜狠狠色综合欧洲selulu| 亚洲一二三四久久| 国产精品视频观看| 欧美丰满美乳xxx高潮www| 色婷婷国产精品综合在线观看| 国产在线一区二区综合免费视频| 一区二区三区在线免费观看| 欧美精品一区二区三区视频| 色综合久久久久久久久| 国产剧情一区二区三区| 午夜日韩在线电影| 一区二区三区四区视频精品免费 | 国产精品亚洲人在线观看| 日本va欧美va欧美va精品| 中文字幕一区三区| 欧美激情一区二区三区全黄| 国产三级精品视频| 91麻豆精品久久久久蜜臀| 国产aⅴ精品一区二区三区色成熟| 天堂一区二区在线| 天堂久久一区二区三区| 久久国产生活片100| 久热成人在线视频| 麻豆精品一区二区综合av| 国产一区二区女| 美女视频第一区二区三区免费观看网站 | 欧美三级乱人伦电影| 91麻豆精品国产91久久久使用方法 | 成人性生交大片免费看视频在线 | 精品国精品国产| 久久综合中文字幕| 国产精品久久久久永久免费观看 | 久久一区二区三区四区| 久久综合九色欧美综合狠狠| 日韩精品一区二区三区在线观看| 精品入口麻豆88视频| 国产精品久久久久婷婷| 国产精品私人影院| 一区二区久久久久| 国产激情91久久精品导航 | 成人的网站免费观看| 6080日韩午夜伦伦午夜伦| 日韩女优毛片在线| 亚洲精品成人少妇| 成人综合在线观看| 久久五月婷婷丁香社区| 亚洲v日本v欧美v久久精品| 国产高清不卡二三区| 日韩亚洲欧美成人一区|