提交 a118801b 编写于 作者: B bernard

[DFS] Add dfs_filesystem_get_mounted_path() function.

上级 edfcc604
...@@ -94,6 +94,8 @@ struct dfs_mount_tbl ...@@ -94,6 +94,8 @@ struct dfs_mount_tbl
int dfs_register(const struct dfs_filesystem_operation *ops); int dfs_register(const struct dfs_filesystem_operation *ops);
struct dfs_filesystem *dfs_filesystem_lookup(const char *path); struct dfs_filesystem *dfs_filesystem_lookup(const char *path);
const char* dfs_filesystem_get_mounted_path(struct rt_device* device);
rt_err_t dfs_filesystem_get_partition(struct dfs_partition *part, rt_err_t dfs_filesystem_get_partition(struct dfs_partition *part,
rt_uint8_t *buf, rt_uint8_t *buf,
rt_uint32_t pindex); rt_uint32_t pindex);
......
...@@ -115,6 +115,37 @@ struct dfs_filesystem *dfs_filesystem_lookup(const char *path) ...@@ -115,6 +115,37 @@ struct dfs_filesystem *dfs_filesystem_lookup(const char *path)
return fs; return fs;
} }
/**
* this function will return the mounted path for specified device.
*
* @param device the device object which is mounted.
*
* @return the mounted path or RT_NULL if none device mounted.
*/
const char* dfs_filesystem_get_mounted_path(struct rt_device* device)
{
const char* path = RT_NULL;
struct dfs_filesystem *iter;
dfs_lock();
for (iter = &filesystem_table[0];
iter < &filesystem_table[DFS_FILESYSTEMS_MAX]; iter++)
{
/* fint the mounted device */
if (iter->ops == RT_NULL) continue;
else if (iter->dev_id == device)
{
path = iter->path;
break;
}
}
/* release filesystem_table lock */
dfs_unlock();
return path;
}
/** /**
* this function will fetch the partition table on specified buffer. * this function will fetch the partition table on specified buffer.
* *
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册