[DFS] Add dfs_filesystem_get_mounted_path() function.
This commit is contained in:
parent
edfcc6041b
commit
a118801bfe
|
@ -94,6 +94,8 @@ struct dfs_mount_tbl
|
|||
|
||||
int dfs_register(const struct dfs_filesystem_operation *ops);
|
||||
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_uint8_t *buf,
|
||||
rt_uint32_t pindex);
|
||||
|
|
|
@ -115,6 +115,37 @@ struct dfs_filesystem *dfs_filesystem_lookup(const char *path)
|
|||
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.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue