文件系统
优质
小牛编辑
141浏览
2023-12-01
文件系统接口
函数 | |
int | dfs_init (void) |
初始化文件系统 | |
void | dfs_lock (void) |
锁定文件系统 | |
void | dfs_unlock (void) |
解锁文件系统 | |
const char * | dfs_subdir (const char *directory, const char *filename) |
获取子目录 | |
char * | dfs_normalize_path (const char *directory, const char *filename) |
获取完整路径 | |
int | dfs_register (const struct dfs_filesystem_ops *ops) |
注册文件系统 | |
struct dfs_filesystem * | dfs_filesystem_lookup (const char *path) |
查找指定路径上的文件系统 | |
const char * | dfs_filesystem_get_mounted_path (struct rt_device *device) |
返回挂载路径 | |
int | dfs_filesystem_get_partition (struct dfs_partition *part, uint8_t *buf, uint32_t pindex) |
获取分区表 | |
int | dfs_mount (const char *device_name, const char *path, const char *filesystemtype, unsigned long rwflag, const void *data) |
挂载文件系统 | |
int | dfs_unmount (const char *specialfile) |
卸载文件系统 | |
int | dfs_mkfs (const char *fs_name, const char *device_name) |
格式化文件系统 | |
详细描述
文件系统接口
函数说明
void dfs_lock | ( | void | ) |
锁定文件系统
- 注解
- 请不要在中断上下文中调用。
void dfs_unlock | ( | void | ) |
解锁文件系统
- 注解
- 请不要在中断上下文中调用。
const char* dfs_subdir | ( | const char * | directory, |
const char * | filename | ||
) |
获取子目录
此函数将根据指定的父目录和文件名返回子目录名称。
- 参数
directory 父目录路径 filename 文件名
- 返回
- 子目录名称
char* dfs_normalize_path | ( | const char * | directory, |
const char * | filename | ||
) |
获取完整路径
此函数将根据指定的父目录和文件名返回完整路径。
- 参数
directory 父目录路径 filename 文件名
- 返回
- 生成的完整路径 (绝对路径)
int dfs_register | ( | const struct dfs_filesystem_ops * | ops | ) |
注册文件系统
在使用文件系统之前需要将文件系统注册到DFS框架中,可以调用该函数来实现。
- 参数
ops 文件系统操作方法句柄
- 返回
- 0 注册成功,-1 失败。
struct dfs_filesystem* dfs_filesystem_lookup | ( | const char * | path | ) |
查找指定路径上的文件系统
此函数将返回挂载在指定路径上的文件系统。
- 参数
path 路径字符串。
- 返回
- 成功返回挂载的文件系统句柄,失败则返回NULL。
const char* dfs_filesystem_get_mounted_path | ( | struct rt_device * | device | ) |
返回挂载路径
此函数将返回指定设备挂载路径。
- 参数
device 已挂载的设备对象。
- 返回
- 成功返回已挂载路径;失败则返回NULL。
int dfs_filesystem_get_partition | ( | struct dfs_partition * | part, |
uint8_t * | buf, | ||
uint32_t | pindex | ||
) |
获取分区表
此函数将获取指定缓冲区上的分区表。
- 参数
part 返回的分区表结构。 buf 存储分区表的缓冲区。 pindex 要获取的分区表的索引。
- 返回
- RT_EOK 成功;-RT_ERROR 失败。
int dfs_mount | ( | const char * | device_name, |
const char * | path, | ||
const char * | filesystemtype, | ||
unsigned long | rwflag, | ||
const void * | data | ||
) |
挂载文件系统
该函数会将文件系统和具体的存储设备关联起来。
- 参数
device_name 一个包含了文件系统的设备名 path 挂载文件系统的路径,即挂载点 filesystemtype 需要挂载的文件系统类型 rwflag 读写标志位 data 文件系统的私有数据
- 返回
- 0 挂载成功,-1 失败。
int dfs_unmount | ( | const char * | specialfile | ) |
卸载文件系统
当某个文件系统不需要再使用了,那么可以调用该函数将它卸载掉。
- 参数
specialfile 挂载了文件系统的指定路径
- 返回
- 0 卸载成功,-1 失败。
int dfs_mkfs | ( | const char * | fs_name, |
const char * | device_name | ||
) |
格式化文件系统
使用文件系统功能前,要先在存储器中创建指定类型的文件系统。
- 参数
fs_name 文件系统名 device_name 需要格式化文件系统的设备名
- 返回
- 0 格式化成功,-1 失败。