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

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

?? ui.c

?? efs文件系統(tǒng)源代碼
?? C
字號:
/*****************************************************************************\*                     EFSL - Embedded Filesystems Library                     **                     -----------------------------------                     **                                                                             ** Filename : ui.c                                                             ** Release  : 0.3 - devel                                                      ** Description : This file contains functions which will be presented to the   **               user of this library.                                         **                                                                             ** This program is free software; you can redistribute it and/or               ** modify it under the terms of the GNU General Public License                 ** as published by the Free Software Foundation; version 2                     ** of the License.                                                             **                                                                             ** This program is distributed in the hope that it will be useful,             ** but WITHOUT ANY WARRANTY; without even the implied warranty of              ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               ** GNU General Public License for more details.                                **                                                                             ** As a special exception, if other files instantiate templates or             ** use macros or inline functions from this file, or you compile this          ** file and link it with other works to produce a work based on this file,     ** this file does not by itself cause the resulting work to be covered         ** by the GNU General Public License. However the source code for this         ** file must still be made available in accordance with section (3) of         ** the GNU General Public License.                                             **                                                                             ** This exception does not invalidate any other reasons why a work based       ** on this file might be covered by the GNU General Public License.            **                                                                             **                                                    (c)2006 Lennart Yseboodt **                                                    (c)2006 Michael De Nil   *\*****************************************************************************//*****************************************************************************/#include "ui.h"/*****************************************************************************//***************************************************************************** * short listfiles(char *dir) * * Deschription: This function returns the number of files / directories * inside the given directory. * * Return value: number of files/directories in the given directory or -1 * if directory does not exist.\*****************************************************************************/short listFiles(FileSystem *fs, char *dirname){	unsigned long startCluster;	unsigned char fileEntryCount;	unsigned short counter=0;	unsigned long offset=0;	FileRecord fileEntry;	FileLocation loc;	unsigned char buf[512];	File dir;	unsigned short i;		/* Find out if we are searching in the root dir or in */	if(dirname[0]=='/' && dirname[1]=='\0')	{		if( (fs->type == FAT12) || (fs->type == FAT16) )		{			for(i=0;i<=(fs->volumeId.RootEntryCount/16);i++)			{				loc.Sector=fs->FirstSectorRootDir + i;				part_readBuf(fs->part,loc.Sector,buf);				/* I STOPPED HERE*/				/* FIXME */			}		}	}	else /* Normal directory */	{		/* Check if path given is a directory */		if(fs_findFile(fs,dirname,&loc,0)!=2)		{			FUNC_OUT((TXT("")));			return(-1);		}			/* Find out what the startcluster of the directory is */		part_readBuf(fs->part,loc.Sector, buf);		fileEntry = *(((FileRecord*)buf) + loc.Offset);		startCluster = (((unsigned long)fileEntry.FirstClusterHigh)<<16) 			+ fileEntry.FirstClusterLow;	    /* Init of dir */		dir.fs=fs;		dir.Cache.LogicCluster=-1;		dir.Cache.FirstCluster=startCluster;		dir.DirEntry.Attribute=ATTR_DIRECTORY;			while((file_fread(&dir,offset,512,buf)))		{			DBG((TXT("Read 512 bytes from dir with offset %li.\n"),offset));			for(fileEntryCount=0;fileEntryCount<16;fileEntryCount++)			{				fileEntry = *(((FileRecord*)buf) + fileEntryCount);				if( !( (fileEntry.Attribute & 0x0F) == 0x0F ) )				{					if					(					 (fileEntry.FileName[0]>='A' && fileEntry.FileName[0]<='Z')					 ||					 (fileEntry.FileName[0]>='0' && fileEntry.FileName[0]<='9')					)					{						DBG((TXT("Filename: %s\n"),fileEntry.FileName));						counter++;					}				}			}			offset+=512;		}	}		FUNC_OUT((TXT("")));	return(counter);		return(-1);}/*****************************************************************************//* ****************************************************************************   * esint16 rmfile(FileSystem *fs,euint8* filename) * Description: This function takes a filename as argument and deletes it, * by freeing it's clusterchain, and deleting it's entry from the directory. * Return value: 0 on success, -1 on errors, like file not found.*/esint16 rmfile(FileSystem *fs,euint8* filename){	FileLocation loc;	ClusterChain cache;	euint8* buf;	euint32 firstCluster=0;		if((fs_findFile(fs,(eint8*)filename,&loc,0))==1){		buf=part_getSect(fs->part,loc.Sector,IOM_MODE_READWRITE);		firstCluster = ex_getb16(buf+loc.Offset*32+20);		firstCluster <<= 16;		firstCluster += ex_getb16(buf+loc.Offset*32+26);		memClr(buf+(loc.Offset*32),32);		part_relSect(fs->part,buf);		cache.DiscCluster = cache.LastCluster = cache.Linear = cache.LogicCluster = 0;		cache.FirstCluster = firstCluster; 		fat_unlinkClusterChain(fs,&cache);		return(0);	}	return(-1);}/*****************************************************************************/esint8 mkdir(FileSystem *fs,eint8* dirname){	FileLocation loc;	FileRecord direntry;	euint32 nc,parentdir;	euint8* buf;	eint8 ffname[11];		if( fs_findFile(fs,dirname,&loc,&parentdir) ){		return(-1);	}	if(parentdir==0)return(-2);		if(!fs_findFreeFile(fs,dirname,&loc,0))return(-3);		/* You may never search for a free cluster, and the call	 * functions that may cause changes to the FAT table, that	 * is why getNextFreeCluster has to be called AFTER calling	 * fs_findFreeFile, which may have to expand a directory in	 * order to store the new filerecord !! 	 */		nc = fs_getNextFreeCluster(fs,fs_giveFreeClusterHint(fs));	if(nc==0)return(0);		fs_clearCluster(fs,nc);		buf = part_getSect(fs->part,loc.Sector,IOM_MODE_READWRITE);	dir_getFatFileName(dirname,ffname);	memClr(&direntry,sizeof(direntry));	memCpy(ffname,&direntry,11);	direntry.FileSize = 0;	direntry.FirstClusterHigh=nc>>16;	direntry.FirstClusterLow=nc&0xFFFF;	direntry.Attribute = ATTR_DIRECTORY;	memCpy(&direntry,buf+(32*loc.Offset),32);			part_relSect(fs->part,buf);		buf = part_getSect(fs->part,fs_clusterToSector(fs,nc),IOM_MODE_READWRITE);		memClr(&direntry,sizeof(direntry));	memCpy(".          ",&direntry,11);	direntry.Attribute = ATTR_DIRECTORY;	direntry.FileSize = 0;	direntry.FirstClusterHigh=nc>>16;	direntry.FirstClusterLow=nc&0xFFFF;	memCpy(&direntry,buf,32);		if(fs->type == FAT32 && parentdir == fs->volumeId.RootCluster){		parentdir = 0;	}	if(fs->type != FAT32 && parentdir<=1){		parentdir = 0;	} 		memClr(&direntry,sizeof(direntry));	memCpy("..         ",&direntry,11);	direntry.Attribute = ATTR_DIRECTORY;	direntry.FileSize = 0;	direntry.FirstClusterHigh=parentdir>>16;	direntry.FirstClusterLow=parentdir&0xFFFF;	memCpy(&direntry,buf+32,32);	part_relSect(fs->part,buf);		fat_setNextClusterAddress(fs,nc,fat_giveEocMarker(fs));	return(0);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图在线播放| 欧美午夜精品理论片a级按摩| 夜夜揉揉日日人人青青一国产精品| 国产色一区二区| 中文字幕免费不卡| 国产精品毛片大码女人| 一区二区三区四区中文字幕| 一区二区三区欧美日韩| 久久综合狠狠综合| 亚洲国产高清在线| 曰韩精品一区二区| 久久国产精品区| 欧美日韩综合在线| 国产精品久久免费看| 91精品国产一区二区| 久久综合国产精品| 亚洲美女屁股眼交| 日本不卡不码高清免费观看| 国产精品久久久久久久久快鸭 | 欧美美女直播网站| 久久亚洲私人国产精品va媚药| 国产精品免费av| 日韩国产精品久久| 99re视频精品| 欧美精品一区二区三区蜜桃视频| 一个色综合av| 日韩专区中文字幕一区二区| 一区二区三区四区在线| 国产乱国产乱300精品| 欧美亚洲国产bt| 国产精品理伦片| 国产成人啪免费观看软件| 欧美日韩国产高清一区二区三区| 欧美激情一区不卡| 国产一区二区在线视频| 91麻豆精品国产综合久久久久久| 亚洲乱码中文字幕综合| 国产精一区二区三区| 日韩一区二区三区视频| 亚洲bdsm女犯bdsm网站| 欧美在线|欧美| 亚洲成人动漫在线免费观看| va亚洲va日韩不卡在线观看| 国产亚洲精品aa午夜观看| 免费成人美女在线观看.| 91成人免费网站| 一区二区三区四区高清精品免费观看| 丁香激情综合国产| 亚洲色图都市小说| 在线播放中文字幕一区| 天堂午夜影视日韩欧美一区二区| 欧美三级蜜桃2在线观看| 日韩高清欧美激情| 91麻豆免费看| 亚洲品质自拍视频网站| 欧美在线短视频| 久久99精品一区二区三区| 国产欧美日韩在线观看| 色天使久久综合网天天| 久久精品国产77777蜜臀| 国产欧美一区二区三区在线看蜜臀| 国产精品中文字幕一区二区三区| 欧美国产禁国产网站cc| 欧美精品777| 成人激情av网| 久久er99精品| 午夜不卡av免费| 欧美高清在线一区二区| 欧美一区二区网站| 色婷婷久久久久swag精品| 国产剧情一区在线| 日韩精品亚洲专区| 一区二区三区精密机械公司| 精品国产91乱码一区二区三区 | 精品日产卡一卡二卡麻豆| 国产成人综合在线| 激情文学综合插| 成人午夜在线播放| 亚洲影院久久精品| 91精品在线观看入口| 国产精品一区二区久久精品爱涩| 国产精品久久久久精k8 | 国产区在线观看成人精品| 欧美精品久久天天躁| 欧美性极品少妇| 欧洲一区在线电影| 欧美二区在线观看| 欧美性感一类影片在线播放| 天堂久久一区二区三区| 亚洲人快播电影网| 一区二区不卡在线播放| 一区二区三区精品在线观看| 国产精品午夜在线观看| 国产欧美一区二区精品仙草咪| 国内精品在线播放| 国产一区二区网址| 成人午夜电影网站| 91女人视频在线观看| 欧洲精品中文字幕| 91精品国产入口| 精品区一区二区| 国产精品福利一区| 亚洲成人福利片| 国产一区二区三区最好精华液| 99九九99九九九视频精品| 91视频91自| 久久蜜桃av一区精品变态类天堂 | 亚洲精品在线一区二区| 欧美精品一区二区不卡| 国产精品免费丝袜| 日韩国产高清在线| 成人av免费在线观看| 欧美日韩黄色一区二区| 欧美成人综合网站| 成人免费在线观看入口| 国产一区在线视频| 欧美群妇大交群中文字幕| 国产欧美精品一区| 天堂影院一区二区| 欧美日韩国产中文| 亚洲精品亚洲人成人网在线播放| 精品一区二区免费看| 欧美三级韩国三级日本三斤| 成人欧美一区二区三区黑人麻豆| 免费成人在线视频观看| 欧美欧美欧美欧美| 一区二区理论电影在线观看| 国产成人精品免费视频网站| 欧美日韩在线三区| 欧美一级片在线| 久久综合久久综合亚洲| 免费黄网站欧美| 这里只有精品视频在线观看| 亚洲国产va精品久久久不卡综合 | 91麻豆精品国产91久久久资源速度 | 国产精品另类一区| 成人性生交大片免费看中文网站| 日韩精品一区二区在线| 久久99热这里只有精品| 国产精品乱码一区二三区小蝌蚪| 天天综合色天天| 91丨九色丨蝌蚪丨老版| 亚洲码国产岛国毛片在线| 色综合久久天天| 亚洲综合无码一区二区| 3d成人h动漫网站入口| 久久精品久久久精品美女| 久久这里只有精品6| 成人免费av网站| 午夜视频在线观看一区二区| 欧美mv日韩mv国产网站app| 国产成人av电影在线观看| 亚洲三级小视频| 精品日韩欧美在线| 91捆绑美女网站| 国产乱码精品1区2区3区| 亚洲欧美另类在线| 国产女人18毛片水真多成人如厕| 91色porny在线视频| 国产精品中文字幕欧美| 五月激情综合婷婷| 成人欧美一区二区三区1314| 欧美日韩一级二级| 色综合久久88色综合天天| 粗大黑人巨茎大战欧美成人| 依依成人综合视频| 国产精品网友自拍| 日韩免费一区二区| 欧美精品免费视频| 国产精一品亚洲二区在线视频| 国产精品美女久久久久av爽李琼| 91蜜桃传媒精品久久久一区二区| 一区二区三区日本| 一区二区三区在线播| 亚洲蜜臀av乱码久久精品蜜桃| 精品粉嫩aⅴ一区二区三区四区| 制服丝袜一区二区三区| 在线不卡的av| 欧美变态口味重另类| 久久亚区不卡日本| 久久久蜜桃精品| 国产精品国产a级| 亚洲一区在线视频观看| 天堂一区二区在线免费观看| 日韩国产精品久久久| 精品午夜一区二区三区在线观看 | 成人黄色国产精品网站大全在线免费观看| 男人的j进女人的j一区| 久久超级碰视频| 懂色av中文字幕一区二区三区 | 中文字幕va一区二区三区| 国产精品黄色在线观看| 亚洲最色的网站| 日韩二区三区四区| 高清视频一区二区| 欧美日韩一区二区三区四区| 日韩欧美亚洲国产精品字幕久久久| 日韩欧美一区二区在线视频| 日韩欧美激情在线| 亚洲国产婷婷综合在线精品|