xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到

#include <xt_vfs.h>

成员变量

xt_vfs_err_t(* mount )(void *ctx)
 挂载后端
xt_vfs_err_t(* unmount )(void *ctx)
 卸载后端
xt_vfs_err_t(* open )(void *ctx, const char *path, xt_vfs_mode_t flags, void **fh)
 打开文件
xt_vfs_err_t(* close )(void *ctx, void *fh)
 关闭文件
xt_vfs_ssize_t(* read )(void *ctx, void *fh, void *buf, xt_vfs_size_t size)
 读取文件
xt_vfs_ssize_t(* write )(void *ctx, void *fh, const void *buf, xt_vfs_size_t size)
 写入文件
xt_vfs_ssize_t(* seek )(void *ctx, void *fh, xt_vfs_off_t offset, xt_vfs_whence_t whence)
 文件定位
xt_vfs_ssize_t(* tell )(void *ctx, void *fh)
 获取当前文件位置
xt_vfs_err_t(* fsync )(void *ctx, void *fh)
 同步单个文件到存储设备
xt_vfs_err_t(* remove )(void *ctx, const char *path)
 删除文件
xt_vfs_err_t(* rename )(void *ctx, const char *old_path, const char *new_path)
 重命名文件
xt_vfs_err_t(* stat )(void *ctx, const char *path, xt_vfs_stat_t *stat)
 获取文件状态
xt_vfs_err_t(* statfs )(void *ctx, xt_vfs_statfs_t *statfs)
 获取文件系统状态
xt_vfs_err_t(* mkdir )(void *ctx, const char *path)
 创建目录
xt_vfs_err_t(* rmdir )(void *ctx, const char *path)
 删除空目录
xt_vfs_err_t(* opendir )(void *ctx, const char *path, void **dh)
 打开目录
xt_vfs_err_t(* closedir )(void *ctx, void *dh)
 关闭目录
xt_vfs_dirent_t *(* readdir )(void *ctx, void *dh)
 读取目录项
xt_vfs_off_t(* telldir )(void *ctx, void *dh)
 获取目录读取位置
xt_vfs_err_t(* seekdir )(void *ctx, void *dh, xt_vfs_off_t loc)
 设置目录读取位置
xt_vfs_err_t(* fstat )(void *ctx, void *fh, xt_vfs_stat_t *stat)
 获取已打开文件的状态
xt_vfs_err_t(* truncate )(void *ctx, const char *path, xt_vfs_off_t length)
 截断文件到指定大小
xt_vfs_err_t(* ftruncate )(void *ctx, void *fh, xt_vfs_off_t length)
 截断已打开的文件
xt_vfs_err_t(* access )(void *ctx, const char *path, xt_vfs_mode_t amode)
 检查文件访问权限
xt_vfs_err_t(* utime )(void *ctx, const char *path, const xt_vfs_utimbuf_t *buf)
 更新文件时间
xt_vfs_err_t(* sync_all )(void *ctx, const char *path)
 同步所有文件到存储设备

详细描述

在文件 xt_vfs.h 第 259 行定义.

结构体成员变量说明

◆ access

xt_vfs_err_t(* xt_vfs_ops::access) (void *ctx, const char *path, xt_vfs_mode_t amode)

检查文件访问权限

参数
ctx后端私有上下文
path文件路径
amode访问模式
返回
XT_VFS_ERR_OK 成功
注解
可选接口,置 NULL 则 VFS Core 返回 XT_VFS_ERR_NOSYS

在文件 xt_vfs.h 第 568 行定义.

◆ close

xt_vfs_err_t(* xt_vfs_ops::close) (void *ctx, void *fh)

关闭文件

参数
ctx后端私有上下文
fh后端私有文件句柄
返回
XT_VFS_ERR_OK 成功
注解
最小对接子集,所有后端必须实现

在文件 xt_vfs.h 第 310 行定义.

◆ closedir

xt_vfs_err_t(* xt_vfs_ops::closedir) (void *ctx, void *dh)

关闭目录

参数
ctx后端私有上下文
dh后端私有目录句柄
返回
XT_VFS_ERR_OK 成功
注解
可选接口,置 NULL 则 VFS Core 返回 XT_VFS_ERR_NOSYS

在文件 xt_vfs.h 第 477 行定义.

◆ fstat

xt_vfs_err_t(* xt_vfs_ops::fstat) (void *ctx, void *fh, xt_vfs_stat_t *stat)

获取已打开文件的状态

参数
ctx后端私有上下文
fh后端私有文件句柄
stat输出状态结构体
返回
XT_VFS_ERR_OK 成功
注解
常用推荐接口

在文件 xt_vfs.h 第 529 行定义.

◆ fsync

xt_vfs_err_t(* xt_vfs_ops::fsync) (void *ctx, void *fh)

同步单个文件到存储设备

参数
ctx后端私有上下文
fh后端私有文件句柄
返回
XT_VFS_ERR_OK 成功
注解
常用推荐接口

在文件 xt_vfs.h 第 377 行定义.

◆ ftruncate

xt_vfs_err_t(* xt_vfs_ops::ftruncate) (void *ctx, void *fh, xt_vfs_off_t length)

截断已打开的文件

参数
ctx后端私有上下文
fh后端私有文件句柄
length新的文件大小
返回
XT_VFS_ERR_OK 成功
注解
可选接口,置 NULL 则 VFS Core 返回 XT_VFS_ERR_NOSYS

在文件 xt_vfs.h 第 555 行定义.

◆ mkdir

xt_vfs_err_t(* xt_vfs_ops::mkdir) (void *ctx, const char *path)

创建目录

参数
ctx后端私有上下文
path目录路径
返回
XT_VFS_ERR_OK 成功
注解
可选接口,置 NULL 则 VFS Core 返回 XT_VFS_ERR_NOSYS

在文件 xt_vfs.h 第 439 行定义.

◆ mount

xt_vfs_err_t(* xt_vfs_ops::mount) (void *ctx)

挂载后端

参数
ctx后端私有上下文
返回
XT_VFS_ERR_OK 成功
注解
可选接口,置 NULL 则 VFS Core 跳过(无需初始化的后端可不实现)
线程安全约束: 此回调在挂载点互斥锁内调用(非递归锁)。 回调实现中**禁止**调用同一挂载点的任何 xt_vfs_* API。

在文件 xt_vfs.h 第 271 行定义.

◆ open

xt_vfs_err_t(* xt_vfs_ops::open) (void *ctx, const char *path, xt_vfs_mode_t flags, void **fh)

打开文件

参数
ctx后端私有上下文
path文件路径(挂载点相对路径)
flags打开模式
fh输出后端私有文件句柄
返回
XT_VFS_ERR_OK 成功
注解
最小对接子集,所有后端必须实现

在文件 xt_vfs.h 第 298 行定义.

◆ opendir

xt_vfs_err_t(* xt_vfs_ops::opendir) (void *ctx, const char *path, void **dh)

打开目录

参数
ctx后端私有上下文
path目录路径
dh输出后端私有目录句柄
返回
XT_VFS_ERR_OK 成功
注解
opendir/closedir/readdir 应一起实现或一起置 NULL
可选接口,置 NULL 则 VFS Core 返回 XT_VFS_ERR_NOSYS

在文件 xt_vfs.h 第 465 行定义.

◆ read

xt_vfs_ssize_t(* xt_vfs_ops::read) (void *ctx, void *fh, void *buf, xt_vfs_size_t size)

读取文件

参数
ctx后端私有上下文
fh后端私有文件句柄
buf缓冲区
size要读取的字节数
返回
实际读取字节数,负数表示错误
注解
最小对接子集,所有后端必须实现

在文件 xt_vfs.h 第 324 行定义.

◆ readdir

xt_vfs_dirent_t *(* xt_vfs_ops::readdir) (void *ctx, void *dh)

读取目录项

参数
ctx后端私有上下文
dh后端私有目录句柄
返回
指向后端静态存储的目录项指针,下次 readdir 或 closedir 后失效
NULL 表示错误或目录末尾
注解
调用者如需保留应立即复制内容,返回指针非线程安全
可选接口,置 NULL 则 VFS Core 返回 XT_VFS_ERR_NOSYS

在文件 xt_vfs.h 第 491 行定义.

◆ remove

xt_vfs_err_t(* xt_vfs_ops::remove) (void *ctx, const char *path)

删除文件

参数
ctx后端私有上下文
path文件路径
返回
XT_VFS_ERR_OK 成功
注解
常用推荐接口

在文件 xt_vfs.h 第 389 行定义.

◆ rename

xt_vfs_err_t(* xt_vfs_ops::rename) (void *ctx, const char *old_path, const char *new_path)

重命名文件

参数
ctx后端私有上下文
old_path原路径
new_path新路径
返回
XT_VFS_ERR_OK 成功
注解
常用推荐接口

在文件 xt_vfs.h 第 402 行定义.

◆ rmdir

xt_vfs_err_t(* xt_vfs_ops::rmdir) (void *ctx, const char *path)

删除空目录

参数
ctx后端私有上下文
path目录路径
返回
XT_VFS_ERR_OK 成功
注解
可选接口,置 NULL 则 VFS Core 返回 XT_VFS_ERR_NOSYS

在文件 xt_vfs.h 第 451 行定义.

◆ seek

xt_vfs_ssize_t(* xt_vfs_ops::seek) (void *ctx, void *fh, xt_vfs_off_t offset, xt_vfs_whence_t whence)

文件定位

参数
ctx后端私有上下文
fh后端私有文件句柄
offset偏移量
whence寻址基准
返回
新的文件位置,负数表示错误
注解
最小对接子集,所有后端必须实现

在文件 xt_vfs.h 第 352 行定义.

◆ seekdir

xt_vfs_err_t(* xt_vfs_ops::seekdir) (void *ctx, void *dh, xt_vfs_off_t loc)

设置目录读取位置

参数
ctx后端私有上下文
dh后端私有目录句柄
loc目录读取位置
返回
XT_VFS_ERR_OK 成功
注解
可选接口,置 NULL 则 VFS Core 返回 XT_VFS_ERR_NOSYS

在文件 xt_vfs.h 第 516 行定义.

◆ stat

xt_vfs_err_t(* xt_vfs_ops::stat) (void *ctx, const char *path, xt_vfs_stat_t *stat)

获取文件状态

参数
ctx后端私有上下文
path文件路径
stat输出状态结构体
返回
XT_VFS_ERR_OK 成功
注解
常用推荐接口

在文件 xt_vfs.h 第 415 行定义.

◆ statfs

xt_vfs_err_t(* xt_vfs_ops::statfs) (void *ctx, xt_vfs_statfs_t *statfs)

获取文件系统状态

参数
ctx后端私有上下文
statfs输出文件系统状态
返回
XT_VFS_ERR_OK 成功
注解
常用推荐接口

在文件 xt_vfs.h 第 427 行定义.

◆ sync_all

xt_vfs_err_t(* xt_vfs_ops::sync_all) (void *ctx, const char *path)

同步所有文件到存储设备

参数
ctx后端私有上下文
path文件路径(挂载点相对路径)
返回
XT_VFS_ERR_OK 成功
注解
可选接口,置 NULL 则 VFS Core 返回 XT_VFS_ERR_NOSYS

在文件 xt_vfs.h 第 593 行定义.

◆ tell

xt_vfs_ssize_t(* xt_vfs_ops::tell) (void *ctx, void *fh)

获取当前文件位置

参数
ctx后端私有上下文
fh后端私有文件句柄
返回
当前位置,负数表示错误
注解
最小对接子集,所有后端必须实现
如后端可实现 seek(fd, 0, SEEK_CUR),则 tell 可置 NULL,Core 将通过 seek 降级实现

在文件 xt_vfs.h 第 365 行定义.

◆ telldir

xt_vfs_off_t(* xt_vfs_ops::telldir) (void *ctx, void *dh)

获取目录读取位置

参数
ctx后端私有上下文
dh后端私有目录句柄
返回
目录读取位置,负数表示错误
注解
可选接口,置 NULL 则 VFS Core 返回 XT_VFS_ERR_NOSYS

在文件 xt_vfs.h 第 503 行定义.

◆ truncate

xt_vfs_err_t(* xt_vfs_ops::truncate) (void *ctx, const char *path, xt_vfs_off_t length)

截断文件到指定大小

参数
ctx后端私有上下文
path文件路径
length新的文件大小
返回
XT_VFS_ERR_OK 成功
注解
可选接口,置 NULL 则 VFS Core 返回 XT_VFS_ERR_NOSYS

在文件 xt_vfs.h 第 542 行定义.

◆ unmount

xt_vfs_err_t(* xt_vfs_ops::unmount) (void *ctx)

卸载后端

参数
ctx后端私有上下文
返回
XT_VFS_ERR_OK 成功
注解
可选接口,置 NULL 则 VFS Core 跳过(无需初始化的后端可不实现)
线程安全约束: 此回调在挂载点互斥锁内调用(非递归锁)。 回调实现中**禁止**调用同一挂载点的任何 xt_vfs_* API。

在文件 xt_vfs.h 第 284 行定义.

◆ utime

xt_vfs_err_t(* xt_vfs_ops::utime) (void *ctx, const char *path, const xt_vfs_utimbuf_t *buf)

更新文件时间

参数
ctx后端私有上下文
path文件路径
buf时间结构体
返回
XT_VFS_ERR_OK 成功
注解
可选接口,置 NULL 则 VFS Core 返回 XT_VFS_ERR_NOSYS

在文件 xt_vfs.h 第 581 行定义.

◆ write

xt_vfs_ssize_t(* xt_vfs_ops::write) (void *ctx, void *fh, const void *buf, xt_vfs_size_t size)

写入文件

参数
ctx后端私有上下文
fh后端私有文件句柄
buf数据缓冲区
size要写入的字节数
返回
实际写入字节数,负数表示错误
注解
最小对接子集,所有后端必须实现

在文件 xt_vfs.h 第 338 行定义.


该结构体的文档由以下文件生成: