[DFS] Add dfs_filesystem_get_mounted_path() function.

This commit is contained in:
bernard 2014-06-26 13:59:26 +08:00
parent edfcc6041b
commit a118801bfe
2 changed files with 33 additions and 0 deletions

View File

@ -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);

View File

@ -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.
*