|
xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
|
xt 虚拟文件系统——支持多后端挂载、两级锁、静态/动态内存切换 更多...
结构体 | |
| struct | xt_vfs_stat |
| 文件状态信息 更多... | |
| struct | xt_vfs_statfs |
| 文件系统状态信息 更多... | |
| struct | xt_vfs_utimbuf |
| 文件时间信息 更多... | |
| struct | xt_vfs_dirent |
| 目录项信息 更多... | |
| struct | xt_vfs_ops |
宏定义 | |
| #define | XT_VFS_O_RDONLY 0x01 |
| 只读 | |
| #define | XT_VFS_O_WRONLY 0x02 |
| 只写 | |
| #define | XT_VFS_O_RDWR 0x04 |
| 读写 | |
| #define | XT_VFS_O_CREAT 0x08 |
| 创建,不存在时创建 | |
| #define | XT_VFS_O_EXCL 0x10 |
| 排他,与 O_CREAT 一起使用时文件存在则失败 | |
| #define | XT_VFS_O_TRUNC 0x20 |
| 截断,文件存在且可写时清空内容 | |
| #define | XT_VFS_O_APPEND 0x40 |
| 追加,写入定位到文件末尾 | |
| #define | XT_VFS_TYPE_REG 0x01 |
| 普通文件 | |
| #define | XT_VFS_TYPE_DIR 0x02 |
| 目录 | |
| #define | XT_VFS_TYPE_UNKNOWN 0xFF |
| 未知类型 | |
| #define | XT_VFS_F_OK 0x00 |
| 文件存在性检查 | |
| #define | XT_VFS_R_OK 0x04 |
| 读权限检查 | |
| #define | XT_VFS_W_OK 0x02 |
| 写权限检查 | |
| #define | XT_VFS_X_OK 0x01 |
| 执行权限检查 | |
| #define | XT_VFS_S_IFMT 0xF000 |
| 文件类型掩码 | |
| #define | XT_VFS_S_IFREG 0x1000 |
| 普通文件 | |
| #define | XT_VFS_S_IFDIR 0x2000 |
| 目录 | |
| #define | XT_VFS_S_IRWXU 0x01C0 |
| 用户读/写/执行 | |
| #define | XT_VFS_S_IRUSR 0x0100 |
| 用户读 | |
| #define | XT_VFS_S_IWUSR 0x0080 |
| 用户写 | |
| #define | XT_VFS_S_IXUSR 0x0040 |
| 用户执行 | |
| #define | XT_VFS_S_IRWXG 0x0038 |
| 组读/写/执行 | |
| #define | XT_VFS_S_IRGRP 0x0020 |
| 组读 | |
| #define | XT_VFS_S_IWGRP 0x0010 |
| 组写 | |
| #define | XT_VFS_S_IXGRP 0x0008 |
| 组执行 | |
| #define | XT_VFS_S_IRWXO 0x0007 |
| 其他读/写/执行 | |
| #define | XT_VFS_S_IROTH 0x0004 |
| 其他读 | |
| #define | XT_VFS_S_IWOTH 0x0002 |
| 其他写 | |
| #define | XT_VFS_S_IXOTH 0x0001 |
| 其他执行 | |
| #define | XT_VFS_S_DEFAULT_FILE (XT_VFS_S_IFREG | XT_VFS_S_IRUSR | XT_VFS_S_IWUSR | XT_VFS_S_IRGRP | XT_VFS_S_IROTH) |
| 普通文件默认权限(所有者读写+组读+其他读) | |
| #define | XT_VFS_S_DEFAULT_DIR (XT_VFS_S_IFDIR | XT_VFS_S_IRWXU | XT_VFS_S_IRGRP | XT_VFS_S_IXGRP | XT_VFS_S_IROTH | XT_VFS_S_IXOTH) |
| 目录默认权限(所有者全权限+组读执行+其他读执行) | |
| #define | XT_VFS_SEEK_SET 0 |
| 从文件头开始 | |
| #define | XT_VFS_SEEK_CUR 1 |
| 从当前位置 | |
| #define | XT_VFS_SEEK_END 2 |
| 从文件末尾 | |
| #define | XT_VFS_ERR_OK 0 |
| 成功 | |
| #define | XT_VFS_ERR_EOF -1 |
| 文件结束 | |
| #define | XT_VFS_ERR_NOTFOUND -2 |
| 文件或目录不存在 | |
| #define | XT_VFS_ERR_EXIST -3 |
| 文件已存在 | |
| #define | XT_VFS_ERR_NOSPC -4 |
| 磁盘空间不足 | |
| #define | XT_VFS_ERR_NOMEM -5 |
| 内存不足 | |
| #define | XT_VFS_ERR_IO -6 |
| IO 错误 | |
| #define | XT_VFS_ERR_INVAL -7 |
| 无效参数 | |
| #define | XT_VFS_ERR_DENIED -8 |
| 权限拒绝 | |
| #define | XT_VFS_ERR_NFILE -9 |
| 打开文件过多 | |
| #define | XT_VFS_ERR_NOTDIR -10 |
| 不是目录 | |
| #define | XT_VFS_ERR_ISDIR -11 |
| 是目录 | |
| #define | XT_VFS_ERR_NOTEMPTY -12 |
| 目录非空 | |
| #define | XT_VFS_ERR_BUSY -13 |
| 设备忙 | |
| #define | XT_VFS_ERR_NOSYS -14 |
| 功能未实现 | |
| #define | XT_VFS_INVALID_FD ((xt_vfs_fd_t)(-1)) |
| 无效文件描述符 | |
类型定义 | |
| typedef int32_t | xt_vfs_err_t |
| 错误码类型,详细错误码见 XT_VFS_ERR_* 系列宏 | |
| typedef int32_t | xt_vfs_fd_t |
| 文件描述符类型,内部编码 generation+index,由 VFS Core 生成,用户不应自行构造 | |
| typedef uint32_t | xt_vfs_size_t |
| 文件大小类型(无符号) | |
| typedef int32_t | xt_vfs_ssize_t |
| 文件大小类型(有符号) | |
| typedef uint32_t | xt_vfs_mode_t |
| 文件模式类型(权限 + 类型) | |
| typedef uint32_t | xt_vfs_time_t |
| 时间类型(固定 32 位) | |
| typedef int32_t | xt_vfs_off_t |
| 偏移量类型 | |
| typedef int32_t | xt_vfs_whence_t |
| 寻址基准类型 | |
| typedef int32_t | xt_vfs_ino_t |
| inode 编号类型 | |
| typedef struct xt_vfs_stat | xt_vfs_stat_t |
| 文件状态信息 | |
| typedef struct xt_vfs_statfs | xt_vfs_statfs_t |
| 文件系统状态信息 | |
| typedef struct xt_vfs_utimbuf | xt_vfs_utimbuf_t |
| 文件时间信息 | |
| typedef struct xt_vfs_dir | xt_vfs_dir_t |
| 目录句柄(opaque,内部字段不暴露) | |
| typedef struct xt_vfs_dirent | xt_vfs_dirent_t |
| 目录项信息 | |
| typedef struct xt_vfs_ops | xt_vfs_ops_t |
| 后端操作接口(前向声明) | |
| typedef struct xt_vfs | xt_vfs_t |
| VFS 实例(前向声明) | |
xt 虚拟文件系统——支持多后端挂载、两级锁、静态/动态内存切换
SPDX-FileCopyrightText: 2026 深圳市天工聚创科技有限公司 SPDX-License-Identifier: Apache-2.0
在文件 xt_vfs.h 中定义.