⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fat.h

📁 ucos下的FAT文件系统源码。 config.h dir.C disk.C FAT.C Fat.h FDT.C file.C floppy.c floppy.h format.C
💻 H
📖 第 1 页 / 共 3 页
字号:
** 输 入: Drive:驱动器号
**        ClusIndex:目录首簇号
** 输 出: DIR_EMPTY:空
**        DIR_NOT_EMPTY:不空
**        其它参考fat.h中关于返回值的说明
** 全局变量: 无
** 调用模块: GetFDTInfo
********************************************************************************************************/

extern uint8 FDTIsLie(uint8 Drive, uint32 ClusIndex, char FileName[]);
/*********************************************************************************************************
** 函数名称: FDTIsLie
** 功能描述: 在指定目录查看指定文件(目录)是否存在
**
** 输 入: Drive:驱动器号
**        ClusIndex:目录首簇号
**        FileName:文件(目录)名
** 输 出: RETURN_OK:成功
**        其它参考fat.h中关于返回值的说明
** 全局变量: 无
** 调用模块: GetDiskInfo,GetFDTInfo
********************************************************************************************************/
#endif



/*******************************************************************************************************/



#ifndef IN_DISK

extern void DiskInit(void);
/*********************************************************************************************************
** 函数名称: DiskInit
** 功能描述: 初始化逻辑盘管理模块
**
** 输 入: 无
**
** 输 出: 无
**         
** 全局变量: DiskInfo
** 调用模块: 无
********************************************************************************************************/

extern Disk_Info * GetDiskInfo(uint8 Drive);
/*********************************************************************************************************
** 函数名称: GetDiskInfo
** 功能描述: 获取指定逻辑盘信息
**
** 输 入: 逻辑盘号
**
** 输 出: 指向逻辑盘信息的结构体指针
**         
** 全局变量: DiskInfo
** 调用模块: 无
********************************************************************************************************/

extern Disk_Info * GetEmptyDiskInfoAddr(void);
/*********************************************************************************************************
** 函数名称: GetEmptyDiskInfoAddr
** 功能描述: 获取空闲逻辑盘
**
** 输 入: 无
**
** 输 出: 指向逻辑盘信息的结构体指针
**         
** 全局变量: DiskInfo
** 调用模块: 无
********************************************************************************************************/

extern void AddFileDriver(uint16  (* DiakCommand)(uint8 Cammand, void *Parameter));
/*********************************************************************************************************
** 函数名称: AddFileDriver
** 功能描述: 增加一个底层驱动程序
**
** 输 入: DiakCommand:驱动程序接口函数
**
** 输 出: 无
**         
** 全局变量: DiskInfo
** 调用模块: 无
********************************************************************************************************/

extern void RemoveFileDriver(uint8 Drive);
/*********************************************************************************************************
** 函数名称: RemoveFileDriver
** 功能描述: 删除一个底层驱动程序
**
** 输 入: Drive:逻辑驱动器号
**
** 输 出: 无
**         
** 全局变量: DiskInfo
** 调用模块: 无
********************************************************************************************************/
#endif



/*******************************************************************************************************/



#ifndef IN_RWSEC

extern void CacheInit(void);
/*********************************************************************************************************
** 函数名称: CacheInit
** 功能描述: 初始化磁盘cache
**
** 输 入: 无
**
** 输 出: 无
**         
** 全局变量: DiskCache
** 调用模块: 无
********************************************************************************************************/

extern void CloseSec(uint8 Drive, uint32 Index);
/*********************************************************************************************************
** 函数名称: CloseSec
** 功能描述: 解锁指定cache(允许切换出内存)
**
** 输 入: Drive:逻辑驱动器号
**        Index:缓冲的扇区号
** 输 出: 无
**         
** 全局变量: DiskCache
** 调用模块: 无
********************************************************************************************************/

extern void CacheWriteBack2(uint16 Index);
/*********************************************************************************************************
** 函数名称: CacheWriteBack2
** 功能描述: 把指定扇区写回逻辑盘
**
** 输 入: Index:cache索引
**
** 输 出: 无
**         
** 全局变量: DiskCache
** 调用模块: GetDiskInfo
********************************************************************************************************/

extern void CacheWriteBack(uint8 Drive, uint32 Index);
/*********************************************************************************************************
** 函数名称: CacheWriteBack
** 功能描述: 把指定cache写回逻辑盘
**
** 输 入: Drive:逻辑驱动器号
**        Index:缓冲的扇区号
** 输 出: 无
**         
** 全局变量: DiskCache
** 调用模块: CacheWriteBack2
********************************************************************************************************/

extern void AllCacheWriteBack(void);
/*********************************************************************************************************
** 函数名称: AllCacheWriteBack
** 功能描述: 把所有已改变的扇区写回逻辑盘
**
** 输 入: 无
**
** 输 出: 无
**         
** 全局变量: DiskCache
** 调用模块: CacheWriteBack2
********************************************************************************************************/

extern uint16 GetCache(void);
/*********************************************************************************************************
** 函数名称: GetCache
** 功能描述: 获取一个cache
**
** 输 入: 无
**
** 输 出: cache索引
**         
** 全局变量: DiskCache
** 调用模块: 无
********************************************************************************************************/

extern uint8 *OpenSec(uint8 Drive, uint32 Index);
/*********************************************************************************************************
** 函数名称: OpenSec
** 功能描述: 为逻辑盘上的一个扇区打开一个cache并锁定
**
** 输 入: Drive:磁盘号
**        Index:扇区号
** 输 出: 指向指定扇区数据的指针
**         
** 全局变量: DiskCache
** 调用模块: 无
**
** 作 者: 陈明计
** 日 期: 2003年9月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

extern uint8 ReadSec(uint8 Drive, uint32 Index);
/*********************************************************************************************************
** 函数名称: ReadSec
** 功能描述: 从逻辑盘读扇区
**
** 输 入: Disk:逻辑盘信息
**        Index:扇区号
** 输 出: TRUE:成功
**         FALSE:失败
** 全局变量: DiskCache
** 调用模块: GetDiskInfo
********************************************************************************************************/

extern void WriteSec(uint8 Drive, uint32 Index);
/*********************************************************************************************************
** 函数名称: WriteSec
** 功能描述: 说明指定逻辑盘的指定一个扇区被改写
**
** 输 入: Disk:逻辑盘信息
**        Index:扇区号
** 输 出: 无
**         
** 全局变量: DiskCache
** 调用模块: 无
********************************************************************************************************/

#endif




/*******************************************************************************************************/




#ifndef IN_FAT

extern uint32 FATGetNextClus(uint8 Drive, uint32 Index);
/*********************************************************************************************************
** 函数名称: FATGetNextClus
** 功能描述: 返回FAT表指定簇的下一个簇号
**
** 输 入: Drive:驱动器号
**        Index:簇号
** 输 出: 下一个簇号
**         
** 全局变量: 无
** 调用模块: 无
********************************************************************************************************/

void FATSetNextClus(uint8 Drive, uint32 Index, uint32 Next);
/*********************************************************************************************************
** 函数名称: FATSetNextClus
** 功能描述: 删除指定簇链
**
** 输 入: Drive:驱动器号
**        Index:簇链中首簇号
**        Next:下一个簇号
** 输 出: 无
**         
** 全局变量: 无
** 调用模块: 无
********************************************************************************************************/


extern uint32 FATAddClus(uint8 Drive, uint32 Index);
/*********************************************************************************************************
** 函数名称: FATAddClus
** 功能描述: 为指定簇链增加一个簇
**
** 输 入: Drive:驱动器号
**        Index:簇链中任意一个簇号,如果为0,则为一个空链增加一个簇
** 输 出: 增加的簇号
**         
** 全局变量: 无
** 调用模块: 无
********************************************************************************************************/

extern void FATDelClusChain(uint8 Drive, uint32 Index);
/*********************************************************************************************************
** 函数名称: FATDelClusChain
** 功能描述: 删除指定簇链
**
** 输 入: Drive:驱动器号
**        Index:簇链中首簇号
** 输 出: 无
**         
** 全局变量: 无
** 调用模块: FATGetNextClus
********************************************************************************************************/
#endif

/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -