TuyaOS
文件系统

TuyaOS提供了一套文件系统接口,基本上是按照POSIX文件系统标准接口来对外提供文件系统服务。这一套文件系统不仅能够基于Flash来进行文件操作,也可以适配Linux平台的POSIX文件系统接口,同时也可以支持各个芯片平台自己实现的文件系统。

接口描述

打开文件

uFILE* ufopen(IN CHAR_T *filepath, IN CHAR_T *mode);
uFILE * ufopen(IN CHAR_T *filepath, IN CHAR_T *mode)
open a unique file
VOID uFILE
unique file handle
Definition: tuya_uf_db.h:22

关闭文件

OPERATE_RET ufclose(IN uFILE *fd);
OPERATE_RET ufclose(IN uFILE *fd)
close a unique file

读文件

UINT_T ufread(IN uFILE *fd, IN UCHAR_T *buf, IN CONST UINT_T len);
UINT_T ufread(IN uFILE *fd, IN UCHAR_T *buf, IN CONST UINT_T len)
read from unique file

写文件

UINT_T ufwrite(IN uFILE *fd, IN UCHAR_T *buf, IN CONST UINT_T len);
UINT_T ufwrite(IN uFILE *fd, IN UCHAR_T *buf, IN CONST UINT_T len)
write to unique file

删除文件

OPERATE_RET ufdelete(IN CHAR_T *filepath);
OPERATE_RET ufdelete(IN CHAR_T *filepath)
delete the unique file

使用示例

VOID sample_fs_test()
{
uFILE * fp = NULL;
// 打开
fp = ufopen("oem_cfg", "w+");
if(NULL == fp) {
PR_ERR("oem cfg uf file can't open and write data!");
return ;
}
// 写
uiWriteCnt = ufwrite(fp, pData, usLen);
if(uiWriteCnt != usLen) {
PR_ERR("oem cfg uf file write data error!");
return ;
}
// 读
uiReadCnt = ufread(fp, pData, 1024);
PR_DEBUG("oem cfg uf file read data %d!", uiReadCnt);
PR_DEBUG("oem cfg uf file %s", pData);
*pLen = uiReadCnt;
// 关闭
opRet = ufclose(fp);
if(opRet != OPRT_OK) {
PR_ERR("oem cfg uf file close error!");
return ;
}
return;
}