69 lines
1.8 KiB
C
69 lines
1.8 KiB
C
#ifndef __FILE__SYSTEM___H
|
|
#define __FILE__SYSTEM___H
|
|
#include "ff.h"
|
|
#include "diskio.h"
|
|
#include "stdint.h"
|
|
|
|
|
|
#define SF__DF__SECTOR__SIZE (_MAX_SS) //
|
|
|
|
|
|
//增加文件内容的类型
|
|
#define FILE__APD (0x01)
|
|
#define FILE__NEW (0x02)
|
|
|
|
//文件操作错误类型
|
|
#define FERROR__SUCC (0x00) //正确
|
|
#define FERROR__OPEN (0x01) //打开文件错误
|
|
#define FERROR__WRITE (0x02) //写入文件错误
|
|
#define FERROR__CLOSE (0x04) //关闭文件错误
|
|
|
|
#define FILESYS__SEARCHANY (0x01) //搜索任意存在的一个文件(指定路径下)
|
|
#define FILESYS__DELETEALL (0x02) //删除所有文件(指定路径下)
|
|
#define FILESYS__SCANALL (0x03) //遍历所有文件和下级文件夹中的文件(指定路径下)
|
|
|
|
|
|
int filesys_init(void); //文件系统初始化
|
|
uint8_t fileSys__remove (char* path); //移除指定文件
|
|
uint8_t fileSys__mkfs(void); //清除所有数据
|
|
uint8_t fileSys__freeSpace(char* fileName, uint32_t* totalkB, uint32_t* freekB); //获得空闲空间
|
|
uint8_t fileSys__append(char* fileName, uint8_t apdType, uint8_t* data, uint16_t dataLength); //添加或追加文件
|
|
uint8_t fileSys__read(char* fileName, uint8_t* data, uint16_t* dataLength, uint32_t cacheSize); //
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
typedef enum __OPS_RESULTS
|
|
{
|
|
OPS_SUCC = 0,
|
|
OPS__SUCC = 0,
|
|
OPS_FAIL = 1,
|
|
OPS__FAIL = 1,
|
|
|
|
//x. 文件系统的错误
|
|
OPS__DISK__FULL, //磁盘已满 (2)
|
|
|
|
//x. 检索目录文件
|
|
OPS__DIR__ERROR, //(3)
|
|
OPS__DIR__OVER,
|
|
OPS__DIR__OVERFLOW,
|
|
OPS__DIR__SUCC,
|
|
|
|
//x. 删除文件
|
|
OPS__RM__ERROR, //删除文件错误
|
|
OPS__RM__SUCC,
|
|
|
|
//x. 读写文件
|
|
OPS__RW__NOEXIST, //文件不存在
|
|
OPS__RW__OVERSIZE, //文件超过额定大小
|
|
OPS__RW__SUCC,
|
|
|
|
//x. 协议解析错误
|
|
OPS__PTC__DATA__OVERFLOW, //数据过长
|
|
|
|
//x. sysact中的错误码
|
|
OPS__ACKDATA__EMPTY, //应答数据为空
|
|
|
|
} OPS_RESULTS;
|
|
|
|
|
|
#endif
|
|
|