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

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

?? fat_intern.h

?? uc/Fs 236,讓uc/os也支持多種文件系統。
?? H
字號:
/*
**********************************************************************
*                          Micrium, Inc.
*                      949 Crestview Circle
*                     Weston,  FL 33327-1848
*
*                            uC/FS
*
*             (c) Copyright 2001 - 2003, Micrium, Inc.
*                      All rights reserved.
*
***********************************************************************

----------------------------------------------------------------------
File        : FAT_Intern.h
Purpose     : Internal FAT File System Layer header
---------------------------END-OF-HEADER------------------------------
*/

#ifndef _FAT_INTERN_H_
#define _FAT_INTERN_H_

#if defined(__cplusplus)
extern "C" {     /* Make sure we have C-declarations in C++ programs */
#endif

#include "fs_int.h"

/*********************************************************************
*
*             #define constants
*
**********************************************************************
*/

#define FS_FAT_DENTRY_SIZE      0x20
#define FS_FAT_SEC_SIZE         FS_SEC_SIZE

#define FS_FAT_ATTR_READ_ONLY    FS_ATTR_READ_ONLY
#define FS_FAT_ATTR_HIDDEN       FS_ATTR_HIDDEN
#define FS_FAT_ATTR_SYSTEM       FS_ATTR_SYSTEM
#define FS_FAT_ATTR_VOLUME_ID    0x08
#define FS_FAT_ATTR_ARCHIVE      FS_ATTR_ARCHIVE
#define FS_FAT_ATTR_DIRECTORY    FS_ATTR_DIRECTORY
#define FS_FAT_ATTR_LONGNAME     FS_FAT_ATTR_READ_ONLY | \
                                 FS_FAT_ATTR_HIDDEN |    \
                                 FS_FAT_ATTR_SYSTEM |    \
                                 FS_FAT_ATTR_VOLUME_ID



#define FS_FAT_TYPE_FAT12       12
#define FS_FAT_TYPE_FAT16       16
#define FS_FAT_TYPE_FAT32       32

/*********************************************************************
*
*       defines non configurable
*
**********************************************************************
*/

/*********************************************************************
*
*       defines for Boot parameter block offsets
*
**********************************************************************
*/
#define BPB_OFF_SIGNATURE          510
#define BPB_OFF_BYTES_PER_SECTOR    11
#define BPB_OFF_NUM_FATS            16
#define BPB_OFF_SECTOR_PER_CLUSTER  13
#define BPB_OFF_NUMSECTORS_16BIT    19
#define BPB_OFF_NUMSECTORS_32BIT    32
#define BPB_OFF_FATSIZE_16BIT       22
#define BPB_OFF_FATSIZE_32BIT       36
#define BPB_OFF_FAT32_EXTFLAGS      40
#define BPB_OFF_ROOTDIR_CLUSTER     44

/*********************************************************************
*
*       defines for directory entry offsets
*
**********************************************************************
*/
#define DIR_ENTRY_OFF_ATTRIBUTES          11
#define DIR_ENTRY_OFF_SIZE                28
#define DIR_ENTRY_OFF_FIRSTCLUSTER_LOW    26
#define DIR_ENTRY_OFF_FIRSTCLUSTER_HIGH   20
#define DIR_ENTRY_OFF_CREATION_TIME       14
#define DIR_ENTRY_OFF_CREATION_DATE       16
#define DIR_ENTRY_OFF_WRITE_TIME          22
#define DIR_ENTRY_OFF_WRITE_DATE          24


/*********************************************************************
*
*             Global data types
*
**********************************************************************
*/



/* FAT directory entry */
typedef struct {
  FS_U8   data[FS_FAT_DENTRY_SIZE];
} FS_FAT_DENTRY;

typedef struct {
  char ac[11];
} FS_83NAME;


/*********************************************************************
*
*             Global function prototypes
*
**********************************************************************
*/

/*********************************************************************
*
*             fat_misc
*/

int             FS_FAT_CheckUnit   (FS_VOLUME * pVolume);

FS_U32          FS_FAT_ClusterId2SectorNo(FS_FAT_INFO * pFATInfo, FS_U32 ClusterId);
FS_U32          FS_FAT_FindFreeCluster   (FS_VOLUME * pVolume, FS_SB * pSB, FS_U32 FirstCluster);
void            FS_FAT_LinkCluster       (FS_VOLUME * pVolume, FS_SB * pSB, FS_U32 LastCluster, FS_U32 NewCluster);
char            FS_FAT_MarkClusterEOC    (FS_VOLUME * pVolume, FS_SB * pSB, FS_U32 Cluster);
FS_U32          FS_FAT_WalkCluster       (FS_VOLUME * pVolume, FS_SB * pSB, FS_U32 StartCluster, FS_U32 NumClusters);
FS_U32          FS_FAT_AllocCluster      (FS_VOLUME * pVolume, FS_SB * pSB, FS_U32 LastCluster);
FS_U32          FS_FAT_ReadFATEntry      (FS_VOLUME * pVolume, FS_SB * pSB, FS_U32 ClusterId);
FS_U32          FS_FAT_FindLastCluster   (FS_VOLUME * pVolume, FS_SB * pSB, FS_U32 ClusterId, FS_U32 * pNumClusters);
FS_U32          FS_FAT_FreeClusterChain  (FS_VOLUME * pVolume, FS_SB * pSB, FS_U32 ClusterId, FS_U32 NumClusters);

FS_FAT_DENTRY * FS_FAT_FindDirEntryShort  (FS_VOLUME * pVolume, FS_SB * pSB, const char *pEntryName, int Len, FS_U32 DirStart);
FS_FAT_DENTRY * FS_FAT_FindEmptyDirEntry  (FS_VOLUME * pVolume, FS_SB * pSB, FS_U32 DirStart);
FS_FAT_DENTRY * FS_FAT_GetDirEntry        (FS_VOLUME * pVolume, FS_SB* pSB,  FS_DIR_POS * pDirPos);
void            FS_FAT_IncDirPos          (FS_DIR_POS * pDirPos);

char            FS_FAT_GetFATType          (FS_U32 NumClusters);
void            FS_FAT_WriteDirEntryCluster(FS_FAT_DENTRY* pDirEntry, FS_U32 Cluster);
void            FS_FAT_WriteDirEntry83     (FS_FAT_DENTRY * pDirEntry, const FS_83NAME * pFileName, FS_U32 ClusterId, FS_U8 Attrib, FS_U32 Size, FS_U16 Time, FS_U16 Date);
void            FS_FAT_WriteDirEntryShort  (FS_FAT_DENTRY * pDirEntry, const char      * pFileName, FS_U32 ClusterId, FS_U8 Attrib, FS_U32 Size, FS_U16 Time, FS_U16 Date);


#if FS_FAT_SUPPORT_LFN
  #define FS_FAT_FIND_DIR_ENTRY(pVolume, pSB, sName, Len, DirStart, pLongEntryIndex)  FS_FAT_FindDirEntry(pVolume, pSB, sName, Len, DirStart, pLongEntryIndex)
#else
  #define FS_FAT_FIND_DIR_ENTRY(pVolume, pSB, sName, Len, DirStart, pLongEntryIndex)  FS_FAT_FindDirEntryShort(pVolume, pSB, sName, Len, DirStart)
#endif


char            FS_FAT_FindPath         (FS_VOLUME * pVolume, FS_SB * pSB,  const char *pFullName, const char * *ppFileName, FS_U32 *pDirStart);
char            FS_FAT_DeleteFileOrDir  (FS_VOLUME * pVolume, FS_SB * pSB, FS_FAT_DENTRY  * pDirEntry, FS_U8 IsFile);
FS_U32          FS_FAT_GetFirstCluster   (FS_FAT_DENTRY* pDirEntry);
void            FS_FAT_InitDirEntryScan  (FS_FAT_INFO * pFATInfo, FS_DIR_POS * pDirPos, FS_U32 DirCluster);
char            FS_FAT_Make83Name        (FS_83NAME * pOutName, const char *pOrgName, int Len);
FS_FAT_DENTRY * FS_FAT_CreateDirEntry    (FS_VOLUME * pVolume, FS_SB * pSB, const char * pFileName, FS_U32 DirStart, FS_U32 ClusterId, FS_U8 Attributes, FS_U32 Size, FS_U16 Date, FS_U16 Time);

/*********************************************************************
*
*       FAT Long file name support (LFN)
*/
FS_FAT_DENTRY * FS_FAT_FindDirEntry      (FS_VOLUME * pVolume, FS_SB * pSB, const char *pEntryName, int Len, FS_U32 DirStart, int * pLongDirEntryIndex);
FS_FAT_DENTRY * FS_FAT_FindDirEntryLong  (FS_VOLUME * pVolume, FS_SB * pSB, const char * sLongName,  int Len, FS_U32 DirStart, int * pLongDirEntryIndex);
void            FS_FAT_DelLongEntry      (FS_VOLUME * pVolume, FS_SB * pSB, FS_U32 DirStart, int LongDirEntryIndex);
FS_FAT_DENTRY * FS_FAT_LFN_CreateDirEntry(FS_VOLUME * pVolume, FS_SB * pSB, const char * pFileName, FS_U32 DirStart, FS_U32 ClusterId, FS_U8 Attributes, FS_U32 Sizes, FS_U16 Time, FS_U16 Date);
FS_DIRENT     * FS_FAT_LFN_ReadDir       (FS_DIR    * pDir,    FS_SB * pSB);
int             FS_FAT_CalcNumDirEntries(const char * sLongName, int Len);

/*********************************************************************
*
*             FAT_Move
*/

#if FS_FAT_SUPPORT_LFN
  #define FS_FAT_MOVE_ENTRY(pVolume, DirStartOld, DirStartNew, pDirEntry, pNewName, pSB, LongEntryIndex) FS__FAT_Move(pVolume, DirStartOld, DirStartNew, pDirEntry, pNewName, pSB, LongEntryIndex)
#else
  #define FS_FAT_MOVE_ENTRY(pVolume, DirStartOld, DirStartNew, pDirEntry, pNewName, pSB, LongEntryIndex) FS__FAT_Move(pVolume, DirStartOld, DirStartNew, pDirEntry, pNewName, pSB, -1)
#endif

int  FS_FAT_Move(const char * sOldName, const char * sNewName, FS_VOLUME * pVolume);
char FS__FAT_Move(FS_VOLUME * pVolume, FS_U32 DirStartOld, FS_U32 DirStartNew, FS_FAT_DENTRY * pDirEntry, const char * pNewName, FS_SB * pSB, FS_I32 LongEntryIndex);


/*********************************************************************
*
*             FAT_Rename
*/
int FS_FAT_Rename(const char * sOldName, const char * sNewName, FS_VOLUME * pVolume);

#if defined(__cplusplus)
}                /* Make sure we have C-declarations in C++ programs */
#endif

#endif  /* _FAT_INTERN_H_ */

/*************************** End of file ****************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区视频| 国产精品水嫩水嫩| 91精彩视频在线观看| 国产精品一区二区久久精品爱涩| 免费xxxx性欧美18vr| 久久se精品一区二区| 麻豆精品一区二区av白丝在线| 日韩av中文在线观看| 久久精品久久综合| 精品一区二区在线看| 国内成人免费视频| 粉嫩av一区二区三区| av在线不卡网| 欧美影院午夜播放| 制服丝袜日韩国产| 日韩精品中午字幕| 欧美国产精品v| 亚洲人成人一区二区在线观看| 一个色在线综合| 日韩不卡一区二区| 成人午夜免费电影| 欧美性色黄大片| 日韩精品综合一本久道在线视频| 日韩欧美亚洲一区二区| 中文字幕第一区综合| 一区二区三区在线观看国产| 午夜免费久久看| 韩国av一区二区三区| 94-欧美-setu| 91精品国产综合久久婷婷香蕉| 精品免费视频.| 亚洲黄色免费网站| 激情综合网最新| 色噜噜夜夜夜综合网| 欧美精品一区二区三区蜜臀| 国产精品久久久久久久久晋中| 日韩高清欧美激情| 成人免费视频网站在线观看| 欧洲激情一区二区| 国产网红主播福利一区二区| 亚洲综合一区在线| 国产麻豆日韩欧美久久| 欧美亚洲国产一区二区三区va| 精品福利av导航| 香蕉乱码成人久久天堂爱免费| 国产大陆精品国产| 日韩欧美在线一区二区三区| 亚洲欧洲综合另类在线| 国产一区二区在线看| 欧美日韩一级片在线观看| 国产欧美一区二区精品性| 日本一区二区三区dvd视频在线| 日本美女一区二区三区视频| 色综合视频一区二区三区高清| 精品久久久久久久久久久久包黑料| 亚洲女人小视频在线观看| 国产高清无密码一区二区三区| 在线看日本不卡| 国产精品免费aⅴ片在线观看| 蜜桃久久av一区| 欧美老肥妇做.爰bbww视频| 亚洲日本一区二区三区| 成熟亚洲日本毛茸茸凸凹| 亚洲精品一区二区三区精华液 | 国产精品成人免费精品自在线观看| 午夜欧美视频在线观看| 在线观看国产一区二区| 国产精品久久午夜夜伦鲁鲁| 国产精品一区二区男女羞羞无遮挡 | 蜜臀va亚洲va欧美va天堂 | 国产一区二区在线影院| 欧美一区午夜视频在线观看| 一区二区三区成人在线视频| 成人丝袜18视频在线观看| 久久久久久免费毛片精品| 久久99国产精品久久99果冻传媒| 91精品国产手机| 蜜臀av性久久久久蜜臀av麻豆| 欧美日韩aaa| 日本va欧美va精品| 日韩一二在线观看| 日本在线观看不卡视频| 欧美一区二区网站| 蜜桃视频一区二区| 精品日产卡一卡二卡麻豆| 久久精品国产99国产| 日韩精品最新网址| 国产精品一二三| 中文字幕日韩精品一区| 99re在线视频这里只有精品| 亚洲欧美日韩国产综合| 欧美日韩国产天堂| 麻豆精品国产传媒mv男同| 久久色在线观看| 成人小视频在线| 亚洲国产综合色| 欧美成人三级在线| 成人影视亚洲图片在线| 一区二区三区视频在线看| 4438x成人网最大色成网站| 六月丁香综合在线视频| 国产视频亚洲色图| 色婷婷精品久久二区二区蜜臂av | 国产精品77777| 日韩伦理免费电影| 在线成人午夜影院| 成人综合激情网| 午夜激情一区二区三区| 久久婷婷成人综合色| 在线观看精品一区| 国产精品99久久不卡二区| 亚洲国产裸拍裸体视频在线观看乱了| 欧美日本国产视频| 成人免费高清在线观看| 亚洲成人动漫一区| 国产精品久久久久国产精品日日| 精品视频一区 二区 三区| 国产乱人伦精品一区二区在线观看 | **欧美大码日韩| 欧美一区二区三区在线电影| 国产成人精品免费看| 日本欧美在线看| 国产精品乱人伦一区二区| 欧美精选午夜久久久乱码6080| 国产成人精品免费在线| 免费日韩伦理电影| 一区二区三区中文字幕精品精品| 日韩精品一区二区三区中文不卡| 91免费版在线| 国产激情视频一区二区在线观看 | 91视频xxxx| 韩国视频一区二区| 亚洲v中文字幕| 国产精品久久久久国产精品日日| 精品国产污污免费网站入口| 欧美日韩你懂得| 北条麻妃一区二区三区| 韩国av一区二区| 久久97超碰国产精品超碰| 日日骚欧美日韩| 亚洲国产精品久久久男人的天堂| |精品福利一区二区三区| 国产欧美中文在线| 国产色产综合产在线视频| 欧美一级免费大片| 91.xcao| 日韩一级免费观看| 日韩一级精品视频在线观看| 欧美日韩不卡一区二区| 欧美性生活久久| 欧美日韩国产高清一区二区| 欧美色中文字幕| 欧美在线观看视频一区二区三区| 91视视频在线观看入口直接观看www| 成av人片一区二区| 成人激情开心网| 91免费版在线看| 欧美精品色一区二区三区| 欧美日韩精品一区二区在线播放| 欧美日韩国产综合久久| 欧美一区二区三区婷婷月色| 69p69国产精品| 日韩三级高清在线| 亚洲精品一线二线三线无人区| 久久精品夜色噜噜亚洲a∨| 国产日韩影视精品| 亚洲日本一区二区| 午夜精彩视频在线观看不卡| 免费不卡在线观看| 成人午夜大片免费观看| 91捆绑美女网站| 91精品国产一区二区| xnxx国产精品| 亚洲婷婷国产精品电影人久久| 一区二区三区国产精品| 日韩电影免费在线看| 国产成人综合在线| 91精彩视频在线| 亚洲精品在线观看视频| 亚洲色图视频免费播放| 日韩成人一区二区三区在线观看| 毛片一区二区三区| 99riav久久精品riav| 欧美一区二区三区视频在线| 久久久精品国产99久久精品芒果 | 欧美日韩一区二区三区四区五区 | 一级特黄大欧美久久久| 免费成人在线网站| 波多野洁衣一区| 日韩视频在线一区二区| 国产精品超碰97尤物18| 日韩精品视频网| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国产99久久久国产精品潘金 | 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产suv精品一区二区883| 欧美日韩综合在线免费观看| 久久久久久久久99精品| 亚洲综合男人的天堂| 国产精品亚洲专一区二区三区|