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

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

?? fat.h

?? 可以在ARM 架構下運行的的 DOS (和MS-DOS兼容),非常難得的一個源碼
?? H
字號:
/*************************************Seekfor FAT System v1.3**************************************************************************
                  *********************       *********************************                  *********************         v1.3              
              *******        **********           *******              ********              *******       ***********                       
           *******              *******           *******                  *******       ********              *******                       
           *******                                *******           *******              ********                                            
           *******                                *******           *******              ********                                            
           *******                                *******           *******              ********                                            
              ***********                         *************************                  ***********                                     
                     ***********                  *******           *******                         ***********                              
                             *******              *******           *******                                *******                           
                                *******           *******                                                      *******                       
           *******              *******           *******                                ********              *******                       
           *******              *******           *******                                ********              *******                       
           *******              *******           *******                                ********              *******                       
           **********        *******              *******                                ***********       *******                           
           *********************              ***************                            **********************     
Seekfor FAT system v1.3是移植性非常強的一個嵌入式FAT16/FAT32文件系統軟件包,支持多個物理驅動器,完全兼容DOS下的文件系統,支持多任務下的文件操作.
<1>和SFS 前期版本比較,SFS v1.3增加以下特性:
	1.增強了錯誤處理功能
	2.增加了FAT_format()功能
	3.開始支持擴展分區
	4.開始支持長文件的顯示(暫不支持用長文件名訪問文件),Windows下建立的長文件名可以正常顯示
	5.取消v1.0中的物理驅動器概念,所有驅動器都看做邏輯驅動器
	6.修正v1.0中扇區計算不對不兼容Windows的bug
	7.修正FAT32根目錄起始位置固定的bug
	8.內部直接支持malloc()+free()機制,用戶只需提供2K以上的RAM空間即可使用SFS v1.3
<2>更新軟件請聯系:
	QQ:82054357
	MSN:sfrad32@hotmail.com
	Mail:Seek_for@163.com
<3>本文件說明
	a.文件名:fat.h
	b.功能:系統頭文件,自定義選項,全局函數原型,常量定義等
**************************************************************************************************************************************/
#ifndef __FAT_H__
#define __FAT_H__
#include "types.h"
/*是否被DOS使用*/
#define USED_BY_DOS						1

#if(USED_BY_DOS==1)
	typedef void*(*DEVICE_OPEN)(char*,char*);
	typedef int (*DEVICE_CLOSE)(void*);
	typedef int (*DEVICE_READ)(void*,int);
	typedef int(*DEVICE_WRITE)(void*,int);
	typedef int(*DEVICE_ESCAPE)(int,void*);
#endif

/*是否支持擴展分區,1=支持,0=不支持*/
#define SUPPORT_EXT_PARTITION			0
/*是否支持長文件名(當前版本不支持,必須為0)*/
#define SUPPORT_LONG_NAME				0
/*是否支持格式化功能,1=支持,0=不支持*/
#define SUPPORT_FORMAT					1
/*建立文件夾的時候是否建立"."和".."目錄,1=建立,0=不建立*/
#define CREATE_DOT_ENTRY				0

/*默認的format參數*/
#define DEFAULT_BYTES_PER_SECTOR	512/*每扇區字節數,一般為512*/
#define DEFAULT_RESERVED_SECTORS	2/*保留的扇區數,一般為2,必須>=1*/
#define DEFAULT_ROOT_ENTRY			512/*FAT16保留的根目錄數,一般為512即可*/


/*驅動器開始盤符*/
#define START_DRIVER_LABLE		'C'
/*最多支持的驅動器數目*/
#define MAX_DRIVERS_NUMBER		24

#define DEFAULT_SECTOR_SIZE		16384

/*是否使用內部的malloc()+free()庫*/
#define USING_INTERNAL_MALLOC		1


/*文件訪問模式*/
#define O_READ				0x0001
#define O_WRITE				0x0002
#define O_APPEND			0x0006
#define O_BINARY			0x0008
#define O_TEXT				0x0010
/*文件屬性*/
#define ATTR_READONLY		0x01
#define ATTR_HIDDEN			0x02
#define ATTR_SYSTEM			0x04
#define ATTR_VOLUME_ID		0x08
#define ATTR_DIRECTORY		0x10
#define ATTR_ARCHIVE		0x20
#define ATTR_LONG_NAME		(0x01|0x02|0x04|0x08)

/*seek功能*/
#define SEEK_SET			0
#define SEEK_CUR			1
#define SEEK_END			2




/*扇區擦除函數指針*/
typedef BOOL (*SECTOR_ERASE)(DWORD dwSectors,DWORD dwSectorSize,void*user_data);
/*扇區讀函數指針*/
typedef BOOL (*SECTOR_READ)(DWORD dwSectors,BYTE*buff,DWORD dwSectorSize,void*user_data);
/*扇區寫函數指針*/
typedef BOOL (*SECTOR_WRITE)(DWORD dwSectors,BYTE*buff,DWORD dwSectorSize,void*user_data);


typedef struct
{
	void*prev;
	void*next;
	DWORD dwSectors;
	BYTE name[12];
}LINK,*PLINK;

typedef struct
{
	DWORD bFAT32;/*是否FAT32,0=FAT16,1=FAT32*/
	DWORD BPB_Total;/*扇區總數*/
	DWORD dwHideSectorStart;/*隱藏扇區開始號*/
	DWORD dwReservedSectorStart;/*保留扇區開始號*/
	DWORD dwFATSectorStart[2];/*FAT1開始扇區號*/
	DWORD dwRootSectorStart;/*根目錄開始扇區號*/
	DWORD dwDataSectorStart;/*數據開始扇區號*/
	DWORD dwNumFATs;/*FAT表總數*/
	DWORD dwFATsZ;/*FAT表扇區總數*/

	DWORD dwVOLID;/*卷標ID*/
#if(SUPPORT_LONG_NAME==1)
	BYTE  VolLable[255];/*卷標*/
#else
	BYTE  VolLable[15];/*卷標*/
#endif	
	BYTE DriverName;/*驅動器名稱*/
	DWORD dwTotalClusters;/*簇總數*/
	DWORD dwFreeClusters;/*空閑簇總數*/

	PLINK lpLinks;/*路徑雙向連表*/
	PLINK lpCurrentDir;/*當前目錄連表指針,指向lpLinks的最后一個節點*/ 

	DWORD dwBytesPerSector;/*每扇區字節數目*/
	DWORD dwSectorsPerCluster;/*每簇扇區數目*/
	void* user_data;/*用戶數據指針*/
	SECTOR_READ lpfnRead;/*扇區讀指針*/
	SECTOR_WRITE lpfnWrite;/*扇區寫指針*/
	SECTOR_ERASE lpfnErase;/*扇區擦除指針*/
}DRIVER_INFO;


typedef struct
{
	DWORD bNotFAT;/*是否FAT文件*/
#if(USED_BY_DOS==1)	
	BYTE lpszShortName[32];
#else
	BYTE lpszShortName[12];
#endif
#if(SUPPORT_LONG_NAME==1)
	BYTE lpszLongName[256];
#endif
	DWORD dwFileLength;/*文件長度*/
	WORD dwAttr;/*文件屬性*/
	WORD dwMode;/*文件打開模式*/
#if(USED_BY_DOS==1)
	DEVICE_OPEN lpfnOpen;
	DEVICE_CLOSE lpfnClose;
	DEVICE_READ lpfnRead;
	DEVICE_WRITE lpfnWrite;
	DEVICE_ESCAPE lpfnEscape;
#endif

	DWORD dwCurrentPosition;/*文件當前位置*/
	DWORD dwFirstCluster;/*第一個簇號*/
	DWORD dwCurrentCluster;/*當前正在讀寫的簇號*/		
	DWORD dwDirectoryEntrySector;/*文件名入口扇區號*/
	DWORD dwDirectoryEntryOffset;/*文件名入口偏移*/
	BYTE  lpszDir[32];/*32個字節的文件入口信息*/
	BYTE*lpszBuffers;/*簇內容緩沖區*/
	DWORD dwIndexs;/*緩沖區指針*/	
	DRIVER_INFO*driver;/*文件所在的驅動器指針*/
}FILE;


typedef struct
{
	BYTE year;
	BYTE month;
	BYTE day;
	BYTE week;
}FAT_DATE;

typedef struct
{
	BYTE hour;
	BYTE minute;
	BYTE second;
	BYTE millsecond;
}FAT_TIME;

typedef struct
{
/*********內部使用數據***************************/
	BYTE ff_name1[8];/*主文件名*/
	BYTE ff_name2[3];/*擴展名*/
	BYTE attr;	/*要查找的屬性*/
	DWORD prev_cluster;/*上次的簇*/
	DWORD orig_sector;/*原始扇區*/
	DWORD prev_sector;/*上次查找過的扇區號*/
	DWORD prev_index;/*上次查找過的入口偏移*/
	DRIVER_INFO* driver;/*當前驅動器指針*/
/***********************************************/
	WORD ff_time;/*查找到的文件修改時間*/
	WORD ff_date;/*查找到的文件修改日期*/
	DWORD ff_size;/*查找到的文件大小*/
	char ff_name[15];/*8.3文件名稱,ANSI C的ff_name是ff_name[13],這里改成[15]是為了適應ARM的字對齊*/
	BYTE ff_attrib;/*查找到的文件屬性*/
#if(SUPPORT_LONG_NAME==1)
	BYTE ff_longname[256];
#endif
}ffblk;

typedef struct
{
	DWORD df_avail;
	DWORD df_total;
	DWORD df_bsec;
	DWORD df_sclus;
}dfree;


typedef struct
{
	BOOL bFAT32;
	DWORD dwBytesPerSector;
	DWORD dwStart;
	DWORD dwLength;
	SECTOR_ERASE lpfnErase;
	SECTOR_READ lpfnRead;
	SECTOR_WRITE lpfnWrite;
	void *user_data;
}FORMAT_PARAMS;

#ifdef __cplusplus
extern "C"
{
#endif
/*portable.c API*/
	void*malloc(DWORD size);
	void free(void*);
 	FAT_DATE SYS_getdate();
	FAT_TIME SYS_gettime();
#if(SUPPORT_LONG_NAME==1)
	BOOL Unicode2Ascii(BYTE*unicode,BYTE*ascii);
#endif
/*fat.c API*/	

	DWORD FAT_install(DWORD,SECTOR_ERASE,SECTOR_READ,SECTOR_WRITE,void*);
	BOOL FAT_format(DRIVER_INFO*,FORMAT_PARAMS*);
/*stdio.h兼容API*/
	FILE* fopen(BYTE*,BYTE*);
	int fclose(FILE*);
	int fgetc(FILE*);
	int fputc(int c,FILE*p);
	BYTE*fgets(BYTE*s,int n,FILE*p);
	int fputs(BYTE*s,FILE*p);
	int fread(void*,unsigned int,unsigned int,FILE*);
	int fwrite(void*,unsigned int,unsigned int,FILE*);
	long ftell(FILE*p);
	int feof(FILE*);
	int chdir(BYTE*);
	int rmdir(BYTE*);
	int mkdir(BYTE*);
	int getcurdir(int,BYTE*);
	int findfirst(BYTE*,ffblk*,BYTE);
	int findnext(ffblk*);
	void getdfree(BYTE driver,dfree*table);
	int rename(BYTE*,BYTE*);
	int remove(BYTE*);
	int fseek(FILE*,long,int);
/*額外功能支持API*/
	int attrib(BYTE*,BYTE);
	int label(BYTE,BYTE*);
	int getfilelength(FILE*p);

#ifdef __cplusplus
}
#endif


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品视频网| 欧美一级免费观看| 91麻豆精品视频| 欧美吻胸吃奶大尺度电影 | 欧美主播一区二区三区美女| hitomi一区二区三区精品| 欧美视频一区二区三区在线观看| 欧美一级爆毛片| 亚洲国产成人自拍| 亚洲综合色区另类av| 久草这里只有精品视频| 91丨九色丨国产丨porny| 欧美日本在线观看| 久久久美女艺术照精彩视频福利播放| 亚洲美女区一区| 精品综合久久久久久8888| 91亚洲男人天堂| 欧美电视剧在线观看完整版| 中文字幕人成不卡一区| 精品综合免费视频观看| 欧美老肥妇做.爰bbww视频| 精品国产免费一区二区三区四区| 亚洲色图都市小说| 国产精品 欧美精品| 777午夜精品免费视频| 国产精品久久久久久久久搜平片 | 欧美mv日韩mv国产网站| 一区二区三区中文在线观看| 国产在线精品免费| 一道本成人在线| 日韩精品一区在线| 亚洲影院理伦片| av电影在线观看一区| 精品乱人伦小说| 丝袜亚洲精品中文字幕一区| 91久久精品一区二区三| 国产精品国产三级国产三级人妇| 久久av老司机精品网站导航| 99久久久国产精品| 亚洲a一区二区| 国产高清久久久| 精品国产一区a| 日韩高清一区在线| 91精品视频网| 一区二区三区精品| 色诱亚洲精品久久久久久| 国产精品久久久久四虎| 国产不卡视频在线播放| 国产日韩三级在线| 国产精品综合久久| 久久久久97国产精华液好用吗| 日韩精品视频网| 制服丝袜中文字幕一区| 日本在线不卡一区| 日韩一区二区三区精品视频| 日韩成人精品视频| 欧美一级理论片| 毛片av一区二区| 欧美大胆一级视频| 国产一区免费电影| 日韩欧美一区二区久久婷婷| 久久精品国产免费看久久精品| 91精品婷婷国产综合久久竹菊| 国产精品色婷婷久久58| 91麻豆6部合集magnet| 亚洲国产成人av网| 91麻豆精东视频| 中文字幕视频一区二区三区久| 91网址在线看| 日一区二区三区| 欧美哺乳videos| 激情综合色综合久久| 国产欧美日韩亚州综合| 99久久综合国产精品| 亚洲午夜久久久久久久久久久| 一本到三区不卡视频| 日韩精品久久久久久| 2020日本不卡一区二区视频| 国产综合色在线| 亚洲视频综合在线| 国产成人精品影院| 亚洲黄色av一区| 欧美久久久久久久久中文字幕| 精品夜夜嗨av一区二区三区| 国产精品久久久久一区| 在线看国产一区| 久久se这里有精品| 国产精品美日韩| 51精品久久久久久久蜜臀| 国产成人在线电影| 亚洲另类春色国产| 欧美成人福利视频| 91官网在线观看| 狠狠网亚洲精品| 亚洲午夜精品17c| 精品乱人伦小说| 欧美日韩在线观看一区二区| 国产成人在线视频网站| 久久久久九九视频| 欧美日韩免费一区二区三区视频| 国产在线播放一区| 亚洲无线码一区二区三区| 久久久国产综合精品女国产盗摄| 成人免费看视频| 亚洲第一会所有码转帖| 国产精品毛片久久久久久| 欧美日韩国产美| 99久精品国产| 国产成人av在线影院| 热久久久久久久| 亚洲午夜三级在线| 日本一区二区电影| 欧美性色黄大片| 国产成人综合网| 激情久久久久久久久久久久久久久久 | 国产一区二区精品久久| 日韩激情视频网站| 中文字幕亚洲区| 欧美xxx久久| 91精品国产高清一区二区三区| 99久久精品国产毛片| 国产一区二区三区久久悠悠色av| 五月天亚洲婷婷| 亚洲一区二区3| 1024亚洲合集| 亚洲欧美综合另类在线卡通| 国产亚洲欧美日韩日本| 久久综合狠狠综合久久综合88| 日韩午夜精品视频| 日韩欧美一区二区免费| 日韩美女一区二区三区| 日韩一区二区中文字幕| 91久久香蕉国产日韩欧美9色| 色综合天天综合网天天看片| 成人黄色片在线观看| 成人免费视频国产在线观看| 成人蜜臀av电影| 99在线热播精品免费| 99久久99精品久久久久久| 国内成人免费视频| 成人精品在线视频观看| gogo大胆日本视频一区| 99国产精品久久久久| 色综合久久天天综合网| 在线免费观看日韩欧美| 欧美乱妇23p| 日韩三级视频在线看| 精品国产一区二区亚洲人成毛片| 精品免费99久久| 欧美国产精品中文字幕| 亚洲天堂2016| 亚洲高清免费视频| 亚洲黄色免费网站| 精品一区二区三区不卡| 不卡一区在线观看| 在线观看亚洲精品视频| 精品国产伦一区二区三区观看方式| 久久综合视频网| 中文字幕在线不卡国产视频| 亚洲综合精品久久| 蜜桃视频在线一区| 福利一区在线观看| 91在线免费视频观看| 欧美丰满少妇xxxbbb| 久久综合久久久久88| 国产精品毛片大码女人| 亚洲成在线观看| 国产乱一区二区| 91小视频在线| 精品少妇一区二区三区日产乱码 | 精品一区二区在线免费观看| 91猫先生在线| 日韩一区二区三区三四区视频在线观看| 久久免费偷拍视频| 亚洲一区二区精品久久av| 国内精品久久久久影院薰衣草 | 久久先锋资源网| 亚洲美女在线国产| 精东粉嫩av免费一区二区三区| 欧美中文字幕一区| 亚洲国产精品二十页| 日本欧美加勒比视频| 91视频免费播放| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲天堂免费在线观看视频| 国产一区二区视频在线| 欧美视频第二页| 亚洲欧洲av在线| 国产一二三精品| 欧美精三区欧美精三区 | 99久久精品免费| 国产亚洲一区字幕| 天堂一区二区在线免费观看| av不卡一区二区三区| 精品成人在线观看| 五月激情丁香一区二区三区| 国产一区二区三区av电影 | 欧美福利视频一区| 亚洲欧美色综合| 福利电影一区二区|