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

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

?? fat_cfg.h

?? 嵌入式FAT文件系統源碼免費下載
?? H
字號:
/*+FHDR------------------------------------------------------------------
版權所有:

楊文斌-專注USB與FAT文件系統的固件研究
聯系方式:qq 292942278  電郵:tony_yang123@sina.com.cn

代碼FAT16是免費代碼,你可以測試,設計與研究它
我們有FAT32代碼,收費的版本,你可與作者聯系并購買

Copyright (c),
Tony Yang –Specialized in the USB and FAT's firmware research and design
Contact method:qq 292942278  e-mail:tony_yang123@sina.com.cn

This code of FAT16 is free code, you can test, design, research of it 
as your freedom, also the code with FAT32 code vision is for charge version
pls contact with author when you want it to buy of it.

Abstract:
$Id: main.C,v 1.1.1.1 2007/01/01 10:35:32 tony Exp $
-FHDR-------------------------------------------------------------------*/

 #define FILE_NAME 0xff
 #define FILE_EXTENSION 0xfe  
 #define OK 0
 #define unOK 0xff

 //File attributes
 #define ATTR_READ_ONLY (1 << 0)
 #define ATTR_HIDDEN    (1 << 1)
 #define ATTR_SYSTEM    (1 << 2)
 #define ATTR_VOLUME_ID (1 << 3)
 #define ATTR_DIRECTORY (1 << 4)
 #define ATTR_ARCHIVE   (1 << 5)
 #define ATTR_LONG_NAME (ATTR_READ_ONLY | ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME_ID)
 //
 #define Last_LFN_Record (1 << 6) 
 //Partition Type ----0C-FAT32,06-FAT16 ect..
 #define FAT32 0xc
 #define FAT16 0x6
 //Directory Type
  //Maximum FullPath chars -In compliance with Microsoft Longfilename Specification
 #define Maximum_File_Path_Name 260
 //FAT Error Code Definitions As Following  
 //fseek origin
 #define SEEK_SET 0
 #define SEEK_CUR 1
 #define SEEK_END 2
 //
 #define EpathLengthsOVERFLOW 0xfa
 #define EAllocate_FCB 0xff
 #define EFree_FCB 0xfe
 #define Folder_Enumeration_Complete 1
 #define Create_File_Failed  2
 #define Create_Folder_Failed 3
 #define Rename_Of_File_Failed 4
 #define Open_File_Failed 5
 #define Open_Folder_Failed 6
 #define Read_File_Failed 7
 #define Write_File_Failed 8
 #define Delete_File_Failed 9
 #define Delete_Folder_Failed 10 
 #define Inquiry_Volume_Failed 11
 #define Autoformat_FAT_Filesystem_Failed 12
 #define  Invalid_PATH_Name 0xff
 #define  File_Extension_Over_limited_3_Char 0xfe
 #define  Invalid_chars_Found_In_File_Path  0xfd
 #define  File_Not_Found 0xfc 
 #define  LastSplitedNameofPath 0xfd
 //File opened flag
#define FileAlreadyopenedByOtherHandle 0
#define FileUnopenedByOtherHandle  0xff
//GetEntryFromDirectory mode
#define Get_Selected_ENTRIES 0 
#define Get_All_Entries 1
//Definition of FAT filesystem CORE Struct
struct core_{
  u8 current_folder[Maximum_File_Path_Name];//保存當前目錄--只有cd_folder()能改變當前目錄
                                            //系統重啟后,默認當前目錄為"C:\"
  u8 current_folder_for_disk_enum[Maximum_File_Path_Name];
  u32 ClusterNOofCurrentFolder;//保存目錄目錄項所在ClusterNO
  u8 CurrentDirectoryType; //RootDirectory,NomeRootDirectory
  u8 PartitionID; //當前BPB中對應的PartitionID
  u8 system_id; //Partition type:0C-FAT32,06-FAT16 ect..
  u32 relative_sector; //Begining sector address of Current Partition
  u32 total_sector;   //Total sectors of Current Partition
  u32 FirstDataSector; ////The start of the data region, the first sector of cluster 2
  u32 FirstSectorofFAT1;
  u32 FirstSectorofFAT2;
  u16 FirstRootDirSecNum;  
  u16 RootDirSectors; //the count of sectors occupied by the root directory
  u16 CountofClusters; //count of clusters
  u32 DataSec;  //we determine the count of sectors in the data region of the volume
  //Public variables for path resolution
  u32 ClusterNum;   //存放當前Enumerated Directory Entry所在Directory的ClusterNum,SectorNum,offset
  u32 SectorNum;
  u16 offset;
  u32 ClusterOfDirectoryEntry;  //存放Directory Entry32字節中對應first Cluster Num
  u32 FileSize;
  u8 DirectoryType; 
  u8 FullPathType;
  u8 CurPathType; 
  //Variables for storage of pre-entry position
  u32 PreEntrySectorNum;
  u16 PreEntryoffset;
  //Variables for folder enumeration
  u32 DIR_ENUM_ClusterNum[2];   //存放當前Enumerated Directory Entry所在Directory的ClusterNum,SectorNum,offset
  u32 DIR_ENUM_SectorNum[2];
  u16 DIR_ENUM_offset[2];
  u32 DIR_ENUM_ClusterOfDirectoryEntry[2];  //存放Directory Entry32字節中對應first Cluster Num
  u8 DIR_ENUM_DirectoryType[2]; 
  u8 DIR_ENUM_FullPathType[2];
  u8 DIR_ENUM_CurPathType[2]; 
  u8 Entry_Attr;
};
 #define FOLDER_ENUM 0
 #define DISK_ENUM 1

 #define RootDirectory 0x0   //當前目錄類型為RootDirectory,
                             //RootDirectory是存放于一片連續的固定扇區
 #define NoneRootDirectory 0x1 //NoneRootDirectory是存放于簇鏈來串接的scatterr region
 //Path Type
 #define DirectoryPath 0x10  //比如CD命令使用的路徑Type:DirectoryPath
 #define FilePath 0x3       //比如open命令使用的路徑Type:FilePath,即路徑的最后是文件名 
 //Definition of FileBufSize for FileRead/Write
 #define EnableFileBuf 1  
//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#if EnableFileBuf
   #define TotalFileBUFsQTYeachFCB 1 //TotalFileBUFsQTY for each FCB 
#else 
   #define TotalFileBUFsQTYeachFCB 0 //TotalFileBUFsQTY for each FCB 
#endif
 #define FileBUFSize 512 //This is a fixed size,!!!Pls don't change!!! 
 #define MaximumFCB 2     //which means 4 files can be opened at the same time
 #define UnusedFlag 0x0
 #define UsedFlag 0x1   
//Read File Optimization Selector--選擇Read File實現的兩種方法之一
//0--需要代碼少
//1--對緩沖區依賴明顯
#define Read_File_Optimization_Selector 1
//Write File Optimization Selector--選擇Write File實現的兩種方法之一
//0--需要代碼少
//1--對緩沖區依賴明顯
#define Write_File_Optimization_Selector 1

 //Permission
 #define FullPermission 0
 #define ReadOnlyPermission 1  
//FCB Struct   
struct FileControlBlock{
  //Public variables and FileBlockBUF for fileRead/Write
  u8 file_openned_flag;
  u32 CurBlockInBUF;
  
  u32 CurClusterInBUF;
  u32 ClusterSNInBUF;

  u32 CurClusterInBUF_for_read;
  u32 ClusterSNInBUF_for_read;
 #if EnableFileBuf
  u8 FileBUF[FileBUFSize * TotalFileBUFsQTYeachFCB]; 
 #endif                                              
  u32 FileSize;
  u32 cur_position;
  u32 FirstClusterOfFile; 
  u8  Permission;
  u8  Modified_Flag;
  u32 Entry_Storedin_Sector;  //Storage sectorNUM of File Directory entry 
  u16 Entry_Storedin_Sector_Offset; //Storage of offset in sector of File Directory entry
}; 
//處理時間動作定義宏
//0-不處理,其它-處理
#define enable_time_transaction 0

//Definition of BPB Struct
struct partition_bpb{
  u16 bytes_per_sector;//每扇區字節數
  u8 sector_per_cluster; //每簇扇區數
  u16 reserved_sector;  //保留扇區數
  u8 numbers_of_FAT;//FAT副本數
  u16 boot_entries;//根目錄項數,供FAT12/16使用
  u16 TotSec16; //This field is the old 16-bit total count of sectors on the volume.
  u8 media_descriptor; //媒體描述符
  u16 sectors_per_FAT; //每個FAT表占用的扇區數,供FAT12/16使用
  u16 sectors_per_track; //每道扇區數
  u16 number_of_head; //磁頭數
  u32 BPB_HiddSec; //隱藏扇區數
  u32 BPB_TotSec32;//總扇區數,包含FAT32總扇區數
  u8 BS_DrvNum;
  u8 BS_Reserved1;
  u8 BS_BootSig;
  u32 BS_VolID;
  u8 BS_VolLab[11];
  u8 BS_FilSysType[8];
};

//Definition of Directory Entry Struct
struct Directory_Entry_{
  u8 filename[8];//文件名
  u8 file_extention[3]; //文件擴展名
  u8 file_attribute;//屬性
  u8 reserved;
  u8 create_time_10ms;//創建時間的10毫秒位
  u8 file_created_time[2];//文件創建時間
  u8 file_created_date[2];//文件創建日期
  u8 last_access_date[2];//文件最后訪問日期
  u8 first_cluster_number_high2bytes[2]; //文件首簇號高16位
  u8 recent_modified_time[2];//文件最近修改時間
  u8 recent_modified_data[2];//文件最近修改日期
  u8 first_cluster_number_low2bytes[2]; //文件首簇號低16位
  u8 file_length[4];//文件長度
};
struct mbr{
U8 BS_jmpBoot[3];
U8 BS_OEMName[8];
//bpb region
U8 BPB_BytsPerSec[2];
U8 BPB_SecPerClus;
U8 BPB_RsvdSecCnt[2];
U8 BPB_NumFATs;
U8 BPB_RootEntCnt[2];
U8 BPB_TotSec16[2];
U8 BPB_Media;
U8 BPB_FATSz16[2];
U8 BPB_SecPerTrk[2];
U8 BPB_NumHeads[2];
U8 BPB_HiddSec[4];
U8 BPB_TotSec32[4];
//Fat12 and Fat16 Structure Starting at Offset 36
U8 BS_DrvNum;
U8 BS_Reserved1;
U8 BS_BootSig;
U8 BS_VolID[4];
U8 BS_VolLab[11];
U8 BS_FilSysType[8];
//offset 62
U8 pad[448];
//0x55,0xaa
U8 flag[2];

};
//Long Name Directory Entry
struct LongNameDirectoryEntry{
u8 dir_lname1[10];//long name string
u8 dir_sig;   // signature byte
u8 dir_attr;   // file attributes
u8 dir_flags;   //flags byte (TBD)
u8 dir_chksum; //checksum of 8.3 name
u8 dir_lname2[12];// long name string
u8 dir_first[2];     //first cluster number, must be 0
u8 dir_lname3[4]; //long name string
};
// disk enumeration configuration
#define filter_hidden_entry 0
//compile functions of FAT filesystem ?
#define complie_create_file 1
#define complie_create_floder 1 
#define complie_open_file 1
#define complie_close_file 1
#define complie_rename_file 1
#define complie_folder_dir 1 
#define compile_fseek 1
#define complie_read_file 1
#define complie_write_file 1
#define compile_cd_folder 1
#define complie_delete_file 1
#define complie_delete_folder 1
#define complie_volume_inquiry 1
#define complie_find_file 1
#define complie_FAT_filesystem_initialiation 1
#define complie_FAT16_filesystem_autoformat 1 



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区精品久久av| 97精品久久久午夜一区二区三区| 国产传媒欧美日韩成人| 欧美精品在线视频| 亚洲午夜免费福利视频| 国产成人在线观看| 91精品一区二区三区久久久久久| 中文字幕在线播放不卡一区| 国产成人aaaa| 久久亚洲一区二区三区四区| 爽好多水快深点欧美视频| 成人少妇影院yyyy| 久久久青草青青国产亚洲免观| 日本欧美一区二区三区| 欧美午夜电影在线播放| 一区二区三区精品久久久| 91在线你懂得| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲免费看黄网站| 成人影视亚洲图片在线| 国产日产精品1区| 久久狠狠亚洲综合| 欧美va亚洲va香蕉在线| 蜜桃视频一区二区三区| 欧美tickling挠脚心丨vk| 久久99国产精品免费| 欧美一区二区三区在线观看视频| 视频一区视频二区中文| 国产农村妇女精品| 成人黄色一级视频| 国产精品久久久久毛片软件| 成人av在线网| 亚洲欧美电影一区二区| 在线精品国精品国产尤物884a| 亚洲免费av在线| 欧美日韩mp4| 麻豆91精品91久久久的内涵| 精品国产一区二区亚洲人成毛片| 久热成人在线视频| 久久日韩粉嫩一区二区三区| 国产丶欧美丶日本不卡视频| 中文字幕一区二区日韩精品绯色| 99久久久国产精品免费蜜臀| 亚洲日本青草视频在线怡红院| 欧美视频一区二区三区在线观看 | 亚洲美女精品一区| 在线免费精品视频| 秋霞国产午夜精品免费视频| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 亚洲欧美日韩国产另类专区| 欧美中文字幕一区二区三区| 日韩高清在线一区| 精品国产1区二区| 99久久久精品免费观看国产蜜| 亚洲一区二区三区视频在线| 日韩免费看的电影| av在线免费不卡| 亚洲123区在线观看| 国产日韩精品一区| 欧美日韩免费观看一区二区三区| 韩日欧美一区二区三区| 亚洲欧美日韩国产另类专区| 日韩一区二区免费高清| 99久久免费精品| 久久精品久久99精品久久| 亚洲国产精品av| 欧美一区二区三区色| av在线不卡观看免费观看| 免费成人在线观看视频| 国产精品福利在线播放| 日韩视频免费观看高清完整版| www.日本不卡| 国内精品自线一区二区三区视频| 一色桃子久久精品亚洲| 欧美不卡一区二区三区四区| 色香蕉久久蜜桃| 国产麻豆视频精品| 日本午夜精品视频在线观看 | 欧美主播一区二区三区| 国产精品综合一区二区| 日韩福利视频导航| 亚洲一级二级三级在线免费观看| 久久蜜臀中文字幕| 日韩欧美一区中文| 欧美调教femdomvk| 色噜噜狠狠成人网p站| 国产精品白丝av| 青青草国产精品亚洲专区无| 亚洲一区影音先锋| 亚洲男人的天堂在线观看| www久久精品| 欧美一级在线免费| 555www色欧美视频| 欧美专区在线观看一区| 91无套直看片红桃| 99久久久国产精品免费蜜臀| 东方aⅴ免费观看久久av| 国产综合成人久久大片91| 久久国产精品一区二区| 日韩中文字幕区一区有砖一区 | 综合av第一页| 亚洲国产成人自拍| 国产视频911| 久久久综合激的五月天| 久久久久久久久久看片| 精品国产乱码久久久久久影片| 日韩欧美国产综合一区| 日韩精品一区二区三区中文精品| 欧美亚洲高清一区二区三区不卡| 色婷婷综合久色| 日本韩国欧美一区二区三区| 色综合一区二区| 91久久精品网| 91精品免费观看| 日韩色视频在线观看| www久久精品| 国产精品色在线| 亚洲精品视频免费看| 一区二区三区在线视频免费| 亚洲永久精品国产| 日韩精品亚洲一区| 久久国产日韩欧美精品| 国产成人综合精品三级| 成人国产精品视频| 欧美视频你懂的| 欧美精品v日韩精品v韩国精品v| 91麻豆精品国产91久久久久| 精品日韩在线观看| 欧美激情一二三区| 亚洲一区中文日韩| 久色婷婷小香蕉久久| 成人免费毛片app| 欧美亚洲尤物久久| 日韩美一区二区三区| 国产精品久久久久久久久动漫| 亚洲乱码中文字幕综合| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产真实乱子伦精品视频| 91性感美女视频| 欧美一级高清大全免费观看| 国产日韩av一区二区| 伊人一区二区三区| 九九视频精品免费| 99久久综合精品| 日韩一区二区免费高清| 中文字幕一区二区三区不卡在线| 婷婷综合在线观看| 高清不卡一区二区在线| 91 com成人网| 亚洲视频1区2区| 国产在线精品视频| 欧美体内she精高潮| 精品国产91洋老外米糕| 夜夜精品浪潮av一区二区三区| 另类小说欧美激情| 欧美性三三影院| 欧美韩日一区二区三区四区| 日韩高清在线观看| 日本韩国欧美在线| 国产亚洲人成网站| 日产精品久久久久久久性色| av在线不卡免费看| 精品粉嫩超白一线天av| 亚洲丰满少妇videoshd| 福利一区在线观看| 日韩美女视频在线| 天堂一区二区在线免费观看| 成人精品电影在线观看| 久久综合久久久久88| 视频一区欧美日韩| 91成人看片片| 中文字幕永久在线不卡| 国产suv精品一区二区三区| 欧美一区二区三区在线视频| 亚洲二区在线观看| 91精品办公室少妇高潮对白| 国产精品情趣视频| 国产一区91精品张津瑜| 日韩视频一区二区在线观看| 午夜精品久久一牛影视| 欧美自拍丝袜亚洲| 亚洲区小说区图片区qvod| 国产91精品入口| 国产偷v国产偷v亚洲高清| 精品一区二区在线视频| 欧美大片在线观看一区二区| 视频一区二区三区入口| 欧美日韩久久久一区| 亚洲电影视频在线| 欧美日韩视频专区在线播放| 一区二区三区日韩欧美| 欧美亚洲愉拍一区二区| 亚洲综合激情另类小说区| 色综合av在线| 亚洲国产aⅴ天堂久久| 欧美色网一区二区| 午夜激情久久久| 欧美一区二区视频网站| 狠狠久久亚洲欧美| 国产欧美日本一区二区三区|