jianghuai/SYSTEM/fileSys.h
2024-05-07 09:36:09 +08:00

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