35 lines
671 B
C
35 lines
671 B
C
#include <kernel/fs/smemfs.h>
|
|
#include <kernel/util/atomic.h>
|
|
#include <string.h>
|
|
|
|
int smemfs_USB3_get_name(void *inode, char *name, size_t count)
|
|
{
|
|
extern struct smemfs_USB3_superblock smemfs_USB3_superblock;
|
|
struct smemfs_USB3_inode *smemfs_USB3_inode;
|
|
|
|
// Check error
|
|
if (inode == NULL)
|
|
return (-1);
|
|
|
|
// Get smemfs inode
|
|
smemfs_USB3_inode = inode;
|
|
|
|
// Get file name
|
|
atomic_start();
|
|
|
|
// Check fake root inode
|
|
if (inode == smemfs_USB3_superblock.fake_root_inode) {
|
|
name[0] = '/';
|
|
name[1] = '\0';
|
|
atomic_stop();
|
|
return (0);
|
|
}
|
|
|
|
strncpy(name, smemfs_USB3_inode->name, count);
|
|
atomic_stop();
|
|
|
|
// Return count
|
|
// TODO: real count
|
|
return (count);
|
|
}
|