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

📄 fs.h

📁 SmartARM2400系列开发板全套资料
💻 H
📖 第 1 页 / 共 3 页
字号:
/****************************************Copyright (c)****************************************************
**                            Guangzhou ZHIYUAN electronics Co.,LTD.
**                                      
**                                 http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name:               fs.h
** Latest modified Date:    2007-10-08
** Latest Version:          1.0
** Descriptions:	    	ZLG/FS V1.5用户接口头文件
**
**--------------------------------------------------------------------------------------------------------
** Created by:              Chenmingji
** Created date:            2007-10-08
** Version:                 1.0
** Descriptions:            The original version
**
**--------------------------------------------------------------------------------------------------------
** Modified by:             
** Modified date:           
** Version:                 
** Descriptions:            
**
*********************************************************************************************************/
#ifndef __FILE_H
#define __FILE_H

#ifdef __cplusplus
extern "C" {
#endif                                                                  /*  __cplusplus                 */

/*********************************************************************************************************
  函数返回值
*********************************************************************************************************/
#define RETURN_OK                   0x00                                /*  操作成功                    */
#define NOT_FIND_DISK               0x01                                /*  逻辑盘不存在                */
#define DISK_FULL                   0x02                                /*  逻辑盘满                    */
#define SECTOR_NOT_IN_CACHE         0x03                                /*  扇区没有被cache             */
#define NOT_EMPTY_CACHE             0x04                                /*  没有空闲cache               */
#define SECTOR_READ_ERR             0x05                                /*  读扇区错误                  */
#define CLUSTER_NOT_IN_DISK         0x06                                /*  逻辑盘中没有此簇            */
#define NOT_FIND_FDT                0x07                                /*  没有发现文件(目录)          */
#define NOT_FAT_DISK                0x08                                /*  非FAT文件系统               */
#define FDT_OVER                    0x09                                /*  FDT索引超出范围             */
#define FDT_EXISTS                  0x0a                                /*  文件(目录)已经存在          */
#define ROOT_FDT_FULL               0x0b                                /*  根目录满                    */
#define DIR_EMPTY                   0x0C                                /*  目录空                      */
#define DIR_NOT_EMPTY               0x0d                                /*  目录不空                    */
#define PATH_NOT_FIND               0x0e                                /*  路径未找到                  */
#define FAT_ERR                     0x0f                                /*  FAT表错误                   */
#define FILE_NAME_ERR               0x10                                /*  文件(目录)名错误            */
#define FILE_EOF                    0x11                                /*  文件结束                    */
#define FILE_LOCK                   0x12                                /*  文件被锁定                  */
#define NOT_FIND_FILE               0x13                                /*  没有发现指定文件            */
#define NOT_FIND_DIR                0x14                                /*  没有发现指定目录            */
#define GET_TIME_ERR                0x15                                /*  获取时间错误                */
#define DISK_NO_FORMAT              0x16                                /*  逻辑盘没有格式化            */
#define NO_MEMERY                   0x17                                /*  内存不足                    */
#define FIND_FILE                   0x18                                /*  找到文件                    */
#define FIND_DIR                    0x19                                /*  找到目录                    */
#define FDT_EOF                     0x20                                /*  FTD表结束                   */
#define DRIVE_NOT_MOUNT             0x21                                /*  逻辑盘未加载                */
#define DRIVE_FREE                  0x22                                /*  空闲逻辑盘                  */
#define DRIVE_NOT_USE               0x23                                /*  未使用的逻辑盘              */
#define BAD_DRIVE_VER               0x24                                /*  错误的驱动程序版本          */
#define DRIVE_OPEN_ERR              0x25                                /*  驱动程序初始化错误          */
#define DISK_NOT_READY              0x26                                /*  设备未准备好                */
#define DRIVE_BE_USING              0x27                                /*  设备正在使用                */

#define NOT_RUN                     0xfd                                /*  命令未执行                  */
#define BAD_COMMAND                 0xfe                                /*  错误命令                    */
#define PARAMETER_ERR               0xff                                /*  非法参数                    */

/*********************************************************************************************************
  文件和临时目录句柄
*********************************************************************************************************/
typedef INT32U                      HANDLE;                             /*  文件句柄                    */
typedef INT32U                      DHANDLE;                            /*  临时目录句柄                */

#define NOT_OPEN_FILE               ((HANDLE)(~0lu))                    /*  不能打开文件                */
#define NOT_OPEN_DIR                ((DHANDLE)(~0lu))                   /*  不能打开临时目录            */

#define Not_Open_FILE               NOT_OPEN_FILE                       /*  兼容老版本,将被废除        */
#define Not_Open_DIR                NOT_OPEN_DIR                        /*  兼容老版本,将被废除        */

/*********************************************************************************************************
  文件指针调整方式
*********************************************************************************************************/
#define SEEK_SET                    0                                   /*  从文件开始处移动文件指针    */
#define SEEK_CUR                    1                                   /*  从文件当前位置移动文件指针  */
#define SEEK_END                    2                                   /*  从文件尾移动文件指针        */

/*********************************************************************************************************
  底层驱动命令
*********************************************************************************************************/
#define DISK_DRIVE_VER              0                                   /*  查看驱动程序版本号,必须实现 */
#define DISK_CHECK_CMD              1                                   /*  查看命令是否实现,必须实现   */
#define DISK_DRIVE_OPEN             2                                   /*  打开驱动程序,必须实现       */
#define DISK_DRIVE_CLOSE            3                                   /*  关闭驱动程序,必须实现       */
#define DISK_DEVICE_OPEN            4                                   /*  打开设备,必须实现           */
#define DISK_DEVICE_CLOSE           5                                   /*  关闭设备,必须实现           */
#define DISK_MULT_READ              6                                   /*  多扇区读,必须实现           */
#define DISK_MULT_WRITE             7                                   /*  多扇区写,必须实现           */
#define DISK_CHECK_DEVICE           8                                   /*  查看设备是否存在,必须实现   */

#define DISK_GET_SECTOR_NUMBER      9                                   /*  获得设备总扇区数,可选命令   */
#define DISK_GET_BYTES_PER_SECTOR   10                                  /*  获得每扇区字节数,可选命令   */
#define DISK_GET_SECTORS_PER_BLOCK  11                                  /*  获取每块扇区数,可选命令     */
#define DISK_LOW_FORMAT             12                                  /*  低级格式化,可选命令        */
#define DISK_FREE_SECTOR            13                                  /*  释放扇区,可选命令          */

#define DISK_INIT                   14                                  /*  初始化,兼容老版本命令,废除 */
#define DISK_CLOSE                  15                                  /*  关闭,兼容老版本命令,废除   */
#define DISK_READ_SECTOR            16                                  /*  读扇区,兼容老版本命令,废除 */
#define DISK_WRITE_SECTOR           17                                  /*  写扇区,兼容老版本命令,废除 */
#define DISK_CHECK_CHANGE           18                                  /*  兼容老版本命令,废除         */
#define DISK_DRIVER_VER             0                                   /*  兼容老版本命令,废除         */

/*********************************************************************************************************
  底层驱动返回值
*********************************************************************************************************/
#define DISK_RETURN_OK              0x00                                /*  成功                        */
#define DISK_READ_OK                0x01                                /*  读成功                      */
#define DISK_READ_NOT_OK            0x80                                /*  读失败                      */
#define DISK_WRITE_OK               0x02                                /*  写成功                      */
#define DISK_WRITE_NOT_OK           0x82                                /*  写失败                      */
#define DISK_INIT_OK                0x03                                /*  初始化成功                  */
#define DISK_INIT_NOT_OK            0x83                                /*  初始化失败                  */
#define DISK_TRUE                   0x04                                /*  真                          */
#define DISK_FALSE                  0x84                                /*  假                          */
#define BAD_DISK_COMMAND            0xffff                              /*  错误命令                    */

/*********************************************************************************************************
  用户设置的时间格式
*********************************************************************************************************/
struct dateTime {
    INT16U  da_year;	                                                /*  公元年                      */
    INT8U   da_mon;	                                                    /*  月                          */ 
    INT8U   da_day;	                                                    /*  月中日期                    */
    INT8U   da_dow;	                                                    /*  星期中日期                  */
   
    INT8U   ti_hour;	                                                /*  时                          */
    INT8U   ti_min;  	                                                /*  分                          */
    INT8U   ti_sec;	                                                    /*  秒                          */
    INT8U   ti_hund;	                                                /*  百分之一秒                  */
};
typedef struct dateTime             DATE_TIME;

/*********************************************************************************************************
  给底层驱动读写命令的参数结构体
*********************************************************************************************************/
struct diskParameter {
    INT32U        ulSectorIndex;                                        /*  操作的扇区                  */
    void         *pvRsvdForLow;                                         /*  保留给底层驱动程序          */
                                                                        /*  由于区分驱动程序支持的设备  */

    INT8U        *pucBuf;                                               /*  数据存储位置                */
    unsigned int  uiNSectors;                                           /*  扇区数目                    */
};
typedef struct diskParameter        DISK_PARAMETER;


/*********************************************************************************************************
  下面微函数声明
*********************************************************************************************************/

/*********************************************************************************************************
** Function name:			FileInit
** Descriptions:			初始化文件系统
** input parameters:		none
** output parameters:       none
** Returned value:			none
*********************************************************************************************************/
extern void FileInit(void);

/*********************************************************************************************************
** Function name:			GetFsVer
** Descriptions:			获得文件系统版本
** input parameters:		none
** output parameters:       none
** Returned value:			文件系统版本x100,如1.50就是150
*********************************************************************************************************/
extern unsigned int GetFsVer(void);

/*********************************************************************************************************
** Function name:			FileOpen
** Descriptions:			以指定方式打开文件
** input parameters:		cpDirFileName: 用户使用的文件名
**                          cpType:        打开方式
** output parameters:       none
** Returned value:			文件句柄,NOT_OPEN_FILE为不能打开
*********************************************************************************************************/
extern HANDLE FileOpen(const char *pcDirFileName, const char *pcType);

⌨️ 快捷键说明

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