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

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

?? fat.h

?? AT89C51SND1C方案mp3資料,使用三星FLASH.
?? H
字號:
/********************************************************/
/*                                                      */
/*  庫   名   稱:FAT文件系統函數庫                   */

/*  功 能  描 述:提供對FAT文件系統按文件名存取       */
/*                                                      */
/*                                                      */
/********************************************************/

#ifndef _TYPE_DEFINE
 #define _TYPE_DEFINE
 typedef bit BOOL;
 typedef unsigned char BYTE;
 typedef unsigned char CHAR;
 typedef unsigned int WORD;
 typedef unsigned long DWORD;
#endif

#ifndef _FAT_DEFINE
 #define _FAT_DEFINE

#define FAT_MAX_FCB						2

//文件屬性
#define	FAT_ATTR_READ_ONLY				0x01			//文件屬性:只讀
#define	FAT_ATTR_HIDDEN					0x02			//文件屬性:隱含
#define	FAT_ATTR_SYSTEM					0x04			//文件屬性:系統
#define	FAT_ATTR_VOLUME_ID				0x08			//文件屬性:卷ID
#define	FAT_ATTR_DIRECTORY				0x10			//文件屬性:目錄
#define	FAT_ATTR_ARCHIVE				0x20			//文件屬性:歸檔
#define FAT_ATTR_LONG_NAME				FAT_ATTR_READ_ONLY+FAT_ATTR_HIDDEN+FAT_ATTR_SYSTEM+FAT_ATTR_VOLUME_ID	//文件屬性:長文件名
#define FAT_ATTR_LONG_NAME_MASK			FAT_ATTR_READ_ONLY+FAT_ATTR_HIDDEN+FAT_ATTR_SYSTEM+FAT_ATTR_VOLUME_ID+FAT_ATTR_DIRECTORY+FAT_ATTR_ARCHIVE	//文件屬性:長文件名
#define FAT_LAST_LONG_ENTRY				0x40			//長文件名入口標記

#define FAT_ERR_MBR_FLAG				0x01			//MBR扇區標志錯誤	FATMountPartition
#define FAT_ERR_PARTITION_NOT_FOUND		0x02			//指定分區沒找到	FATMountVolumeID
#define FAT_ERR_FILE_OPEN_ERROR			FAT_MAX_FCB		//文件打開錯誤
#define FAT_ERR_DIR_NOT_FOUND			0x01			//指定的目錄入口沒有找到F	FATChangeDirectory
#define FAT_ERR_NOT_DIR					0x02			//不是一個目錄入口		FATChangeDirectory

#define FAT_SEEK_BEGIN					0x01
#define FAT_SEEK_CURRENT				0x02
#define FAT_SEEK_END					0x03

#define FAT_TYPE_FAT12					0x01
#define FAT_TYPE_FAT16					0x02
#define FAT_TYPE_FAT32					0x03

#define FAT_CLUSTER_END32				0xffffffff		//簇鏈終點
#define FAT_CLUSTER_END16				0xffff			//簇鏈終點
#define FAT_CLUSTER_END12				0xfff			//簇鏈終點
#define FAT_CLUSTER_RESERVED32			0xfffffff6		//保留簇
#define FAT_CLUSTER_RESERVED16			0xfff6			//保留簇
#define FAT_CLUSTER_RESERVED12			0xff6			//保留簇
#define FAT_CLUSTER_BAD32				0xfffffff7		//壞簇
#define FAT_CLUSTER_BAD16				0xfff7			//壞簇
#define FAT_CLUSTER_BAD12				0xff7			//壞簇

#define FAT_MASK_FAT32					0x0fffffff
#define FAT_MASK_FAT16					0x0000ffff
#define FAT_MASK_FAT12					0x00000fff

#define FAT_MAX_PARTITIONS				0x10
//#define IO_ERROR						0x00				//遇到io錯誤
//#define NO_IO_ERROR					0x01				//沒有遇到io錯誤

//計算指定簇的開始扇區號
#define ClusterToSector(X)			FAT.ClusSec + (X - 2) * FAT.SecPerClus

struct StorageMediaStr
{
	WORD	BytesPerSec;			//每扇區字節數
	DWORD	TotalSectors;			//總扇區數
	BYTE	TotalPartitions;		//分區數
	BYTE	CurrentPartition;		//當前分區
	BYTE	(*ReadSector)(DWORD Sector,BYTE *Buffer);
	BYTE	(*WriteSector)(DWORD Sector,BYTE *Buffer);
};

struct BootSecFAT16Str					//引導扇區   FAT16  擴展結構
{
	BYTE	BS_DrvNum;
	BYTE	BS_Reserved1;
	BYTE	BS_BootSig;
	DWORD	BS_VolID;
	char	BS_VolLab[11];
	char	BS_FilSysType[8];
};

struct BootSecFAT32Str					//引導扇區   FAT  擴展結構
{
	DWORD	BPB_FATSz32;			//FAT扇區總數
	WORD	BPB_ExtFlags;
	WORD	BPB_FSVer;
	DWORD	BPB_RootClus;			//根目錄開始的簇
	WORD	BPB_FSInfo;
	WORD	BPB_BkBootSec;
	char	BPB_Reserved[12];
	BYTE	BS_DrvNum;
	BYTE	BS_Reserved1;
	BYTE	BS_BootSig;
	DWORD	BS_VolID;
	char	BS_VolLab[11];
	char	BS_FilSysType[8];
};

struct BootSecStr						//引導扇區結構
{
	BYTE	BS_jmpBoot[3];
	BYTE	BS_OEMName[8];
	WORD	BPB_BytesPerSec;		//每扇區字節數  512
	BYTE	BPB_SecPerClus;			//每簇扇區數	1 2 4 8 16 32 64 128
	WORD	BPB_RsvdSecCnt;			//保留扇區數	0x20
	BYTE	BPB_NumFATs;			//FAT表個數		2
	WORD	BPB_RootEntCnt;		
	WORD	BPB_TotSec16;
	BYTE	BPB_Media;
	WORD	BPB_FATSz16;
	WORD	BPB_SecPerTrk;
	WORD	BPB_NumHeads;
	DWORD	BPB_HiddSec;
	DWORD	BPB_TotSec32;
	union	FATUni
	{
		struct BootSecFAT32Str	F32;
		struct BootSecFAT16Str	F16;
	}FAT;

};

struct DPTStr				//分區表結構
{
	BYTE	BootFlag;
	BYTE	CHSBegin[3];
	BYTE	TypeCode;
	BYTE	CHSEnd[3];
	DWORD	LBABegin;
	DWORD	CntSec;
};

struct sDPTStr				//簡化的分區表
{
	BYTE	FATType;
	DWORD	LBABegin;
	DWORD	CntSec;
};

struct FAT32FSInfoStr		//FAT32擴展信息結構
{
	DWORD	LeadSig;
	BYTE	Reserved1[480];
	DWORD	StrucSig;
	DWORD	FreeCount;
	DWORD	NxtFree;
	BYTE	Reserved2[12];
	DWORD	TrailSig;
};

struct FATSDirStr			//FAT目錄結構 短文件名
{
	CHAR	Name[11];
	BYTE	Attr;
	BYTE	NTRes;
	BYTE	CrtTimeTenth;
	WORD	CrtTime;
	WORD	CrtDate;
	WORD	LstAccDate;
	WORD	FstClusHI;
	WORD	WrtTime;
	WORD	WrtDate;
	WORD	FstClusLO;
	DWORD	FileSize;
};

struct FATLDirStr			//FAT目錄結構 長文件名
{
	BYTE	Ord;
	BYTE	Name1[10];
	BYTE	Attr;
	BYTE	Type;
	BYTE	Chksum;
	BYTE	Name2[12];
	WORD	FstClusLO;
	BYTE	Name3[4];
};

struct FATStr					//FAT參數表
{
//	BYTE	ClusSecCnt;			//當前簇扇區計數
	DWORD	CurrentDirectory;	//當前目錄入口(簇號)
	BYTE	SecPerClus;			//每簇扇區數	1 2 4 8 16 32 64 128
	DWORD	RootClus;			//根目錄開始的簇
	BYTE	RootSectors;		//根目錄占用的扇區數
	DWORD	ClusSec;			//簇開始的扇區
	DWORD	FATSz;				//FAT表大小(扇區)
	DWORD	FATSec;				//FAT表開始扇區
	DWORD	FSISec;				//FSI所在扇區
	DWORD	FSIFreeCount;		//空閑簇數
	DWORD	FSINxtFree;			//空閑簇搜索指針
};

struct FCBStr
{
	CHAR	FileName[12];		//文件名
	DWORD	Size;				//文件大小
	DWORD	FirstCluster;		//第一個簇
	DWORD	LastCluster;		//最近一次讀到的簇號
	DWORD	ClusSecCnt;			//當前簇扇區計數
	DWORD	ByteCnt;			//當前字節計數
};

struct FATTableStr
{
	DWORD	Sector;
	union FATUin
	{
		DWORD	F32[128];
		WORD	F16[256];
		BYTE	F12[512];
	}FAT;
};

struct FATClusterStr
{
	BYTE	SecOffset;				//扇區偏移量
	DWORD	Sector;				//扇區號
	DWORD	Cluster;			//簇號
};

#ifndef _LIBRARY_DEFINE
 xdata BYTE DiskBuffer[512];

 xdata struct StorageMediaStr StorageMedia;
 xdata struct sDPTStr sDPT[FAT_MAX_PARTITIONS];
 xdata struct FATStr FAT;
 xdata struct FCBStr FCB[FAT_MAX_FCB];
 xdata CHAR LongFileName[256]; 
 xdata struct FATTableStr FATTable;
 xdata struct DPTStr *DPT;			//分區表結構指針
 xdata struct BootSecStr *BOOTSEC;		//引導扇區結構指針
 xdata struct FAT32FSInfoStr *FSI;		//FAT32擴展信息
 xdata struct FATSDirStr *sDIR;		//FAT目錄結構指針
 xdata struct FATLDirStr *lDIR;		//FAT目錄結構指針
#endif
#endif

extern xdata BYTE DiskBuffer[512];

extern xdata struct StorageMediaStr StorageMedia;
extern xdata struct sDPTStr sDPT[FAT_MAX_PARTITIONS];
extern xdata struct FATStr FAT;
extern xdata struct FCBStr FCB[FAT_MAX_FCB];
extern xdata CHAR LongFileName[256]; 
extern xdata struct FATTableStr FATTable;
extern xdata struct DPTStr *DPT;		//分區表結構指針
extern xdata struct BootSecStr *BOOTSEC;	//引導扇區結構指針
extern xdata struct FAT32FSInfoStr *FSI;	//FAT32擴展信息
extern xdata struct FATSDirStr *sDIR;		//FAT目錄結構指針
extern xdata struct FATLDirStr *lDIR;		//FAT目錄結構指針

extern void FATInit(void);
extern BYTE FATSelectMedia(BYTE Media);
extern BYTE FATFindPartitions(void);
extern BYTE FATMountPartition(void);
extern BYTE FATMountVolumeID(BYTE Partition);
extern void FATGetPartLongName(struct FATLDirStr *ldp,CHAR *name);
extern DWORD FATDiskSize(void);
extern DWORD FATDiskFreeSize(void);
extern BYTE FATFindDIREntry(CHAR *DirName);
extern BYTE FAT32FindDIREntry(CHAR *DirName);
extern BYTE FAT16FindDIREntry(CHAR *DirName);
void FATReadCluster(struct FATClusterStr *Cluster,BYTE *Buffer);
extern BYTE FATChangeDirectory(CHAR *DirName);
extern BYTE FATListDirectory(void);
extern BYTE FAT32ListDirectory(void);
extern BYTE FAT16ListDirectory(void);
extern void FATNextCluster(DWORD *CurrentCluster);
extern BYTE FATGetDirName(WORD SecNum);
extern BYTE FATOpenFile(CHAR *filename);
extern void FATCloseFile(BYTE fp);
extern WORD FATReadFile(BYTE fp);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产裸拍裸体视频在线观看乱了 | 日韩一级完整毛片| 久久精品亚洲一区二区三区浴池 | 国产色爱av资源综合区| 亚洲精品国产无套在线观| 人人超碰91尤物精品国产| 99久久精品国产网站| 欧美一区二区二区| 自拍av一区二区三区| 精品一区二区免费视频| 欧美美女bb生活片| 亚洲日本青草视频在线怡红院| 免费观看在线综合| 欧美丝袜第三区| 亚洲婷婷在线视频| 国产ts人妖一区二区| 日韩欧美www| 强制捆绑调教一区二区| 欧美影院一区二区三区| 亚洲视频免费在线观看| www.激情成人| 国产午夜精品福利| 国内精品免费**视频| 日韩一区二区高清| 秋霞午夜av一区二区三区| 欧美性受极品xxxx喷水| 伊人性伊人情综合网| aaa亚洲精品| 国产精品乱码一区二区三区软件| 激情综合网天天干| 2欧美一区二区三区在线观看视频| 男女视频一区二区| 日韩一区二区三区视频| 秋霞影院一区二区| 欧美成人精品福利| 日日欢夜夜爽一区| 欧美军同video69gay| 午夜成人在线视频| 欧美日韩国产精品成人| 亚洲成a天堂v人片| 制服.丝袜.亚洲.中文.综合| 男男成人高潮片免费网站| 欧美一区二区视频网站| 精品亚洲porn| 国产午夜三级一区二区三| 国产激情偷乱视频一区二区三区| 久久久国产精品午夜一区ai换脸| 国产精品一卡二| 国产精品日产欧美久久久久| 日韩欧美国产一区在线观看| 美国av一区二区| 久久综合成人精品亚洲另类欧美 | 5566中文字幕一区二区电影| 三级欧美在线一区| 久久精品一二三| 99视频在线精品| 亚洲自拍偷拍麻豆| 欧美不卡一区二区三区| 成人夜色视频网站在线观看| 亚洲欧美日韩在线播放| 欧美日韩一区二区三区视频| 久久超碰97人人做人人爱| 国产精品视频在线看| 一本色道**综合亚洲精品蜜桃冫| 亚洲18色成人| 久久久久国产精品人| 91污在线观看| 久久99久久99小草精品免视看| 国产精品天干天干在观线| 欧美影院午夜播放| 国产综合色精品一区二区三区| 亚洲欧美偷拍另类a∨色屁股| 777精品伊人久久久久大香线蕉| 国产高清精品久久久久| 亚洲v中文字幕| 国产午夜精品一区二区| 欧美日韩综合在线| 成人性生交大片免费看在线播放| 亚洲国产精品久久久久秋霞影院| 337p粉嫩大胆噜噜噜噜噜91av| 在线视频一区二区免费| 国产麻豆精品久久一二三| 亚洲一区在线视频| 蜜臀久久99精品久久久久宅男| 国产欧美中文在线| 日韩午夜在线播放| 91国模大尺度私拍在线视频| 国产麻豆精品95视频| 日韩不卡一区二区三区| 亚洲日本在线a| 欧美极品美女视频| 精品免费日韩av| 欧美精品在线一区二区三区| 99久久综合国产精品| 久草在线在线精品观看| 亚洲国产欧美日韩另类综合| 国产精品乱码一区二区三区软件 | 久久精品在这里| 欧美一卡二卡在线观看| 欧美日韩一二三| 日本高清不卡视频| 99久久精品免费观看| 成人国产亚洲欧美成人综合网 | 日韩一卡二卡三卡四卡| 欧美日韩中文字幕一区二区| 成人av在线播放网址| 国产河南妇女毛片精品久久久 | 日韩美女主播在线视频一区二区三区| 91福利小视频| 在线欧美小视频| 色婷婷综合久久久久中文| 成人动漫视频在线| 成人av免费在线| 成人激情开心网| 99久久夜色精品国产网站| 大胆亚洲人体视频| 国产98色在线|日韩| 国产精品夜夜爽| 国产suv精品一区二区6| 国产成人鲁色资源国产91色综| 久久99精品国产.久久久久久| 麻豆国产精品一区二区三区 | 亚洲成人免费看| 亚洲国产成人porn| 午夜精品久久久久久久99水蜜桃| 亚洲风情在线资源站| 同产精品九九九| 蜜桃久久久久久久| 国产麻豆9l精品三级站| 国产大陆a不卡| 91农村精品一区二区在线| 91福利在线播放| 欧美精品自拍偷拍动漫精品| 日韩三级视频中文字幕| 久久久久久黄色| 亚洲男人的天堂av| 肉肉av福利一精品导航| 91国偷自产一区二区三区成为亚洲经典 | 欧美日韩性生活| 日韩女同互慰一区二区| 国产人妖乱国产精品人妖| 最新中文字幕一区二区三区| 亚洲一区二区三区中文字幕在线| 五月综合激情日本mⅴ| 国产乱子伦视频一区二区三区| 99精品视频中文字幕| 欧美日韩中文精品| 久久久国产综合精品女国产盗摄| 亚洲毛片av在线| 久久精品国产99| 色综合久久综合网欧美综合网| 9191国产精品| 中文字幕在线不卡一区 | 欧美精品日韩精品| 久久久美女艺术照精彩视频福利播放| 国产精品污网站| 日韩av中文字幕一区二区| 国产福利91精品一区二区三区| 在线一区二区观看| 久久久久国产精品麻豆| 亚洲综合清纯丝袜自拍| 国产成人激情av| 3d成人h动漫网站入口| 国产清纯在线一区二区www| 偷窥国产亚洲免费视频| 成人午夜私人影院| 欧美一区二区成人| 亚洲综合在线电影| 国产成人精品www牛牛影视| 4hu四虎永久在线影院成人| 国产精品欧美久久久久无广告| 天堂久久久久va久久久久| 91网站黄www| 欧美经典一区二区| 蜜桃精品视频在线| 欧美日韩一区二区在线视频| 中文字幕国产一区| 国产一区在线精品| 欧美一级欧美三级在线观看| 亚洲女性喷水在线观看一区| 国产精品一区一区三区| 欧美成人乱码一区二区三区| 亚洲国产日产av| 在线观看日韩一区| 自拍偷拍欧美激情| 国产电影一区二区三区| 2022国产精品视频| 青青国产91久久久久久| 欧美午夜电影一区| 亚洲综合色成人| 91黄色免费版| 亚洲国产综合色| 欧洲生活片亚洲生活在线观看| 国产精品乱人伦中文| 成人国产一区二区三区精品| 亚洲国产精品传媒在线观看| 国产xxx精品视频大全| 国产精品免费久久| 成人av动漫网站| 国产精品不卡一区|